游戏王卡牌的效果
Yu-gi-oh cards' effect
我正在为yu-gi-oh决斗构建一个简单的c++平台,但我发现了卡牌效果的问题。由于几乎每张卡都有不同的效果,这意味着我必须为每张卡编写不同的函数。你有什么办法可以让这更容易吗?或者我必须为游戏中的每一张牌写一个函数吗?y
无论怎样,您都必须以某种方式实现每一个效果。将它们放入不同的函数,甚至不同的类中,可以帮助您组织代码。把函数头看作是对self的内联提醒:"这里开始实现这个特定的chunk"。
换句话说,不要保存函数。你稍后会感谢你自己。
理论上,将所有效应放在一个巨大的函数中是可能的,但从任何有意义的意义上来说,这都不会"更容易",尤其是从长远来看。
读一些关于编程的书。StackOverflow不是一所学校。Steve McConnell的《Code Complete》(ISBN 1556154844)很不错。
听起来像是设计模式的工作。我对于吉不是很熟悉,但我相信你能达到你想要的。这些方法需要使用一些好的面向对象编程。以下是一些可以帮助您的启动模式:
策略模式(找到常见类型的"卡牌效果",如伤害或陷阱等,并扩展功能):http://sourcemaking.com/design_patterns/strategy/cpp/1
装饰器模式(如果一个效果会做很多不同的事情,其中一些效果与其他"卡效果"相似,你可以使用装饰器模式将另一张卡的伤害效果与该卡的睡眠效果相结合,等等):http://sourcemaking.com/design_patterns/decorator
无论哪种方式,从任何在线来源学习这两种模式都将非常困难。如果这听起来像是你感兴趣的东西,我建议你去买一本好的设计模式书。不幸的是,我没有任何关于c++设计模式书的好建议。
- 在C++游戏中与库存系统作斗争
- 换位表导致测试失败(但在游戏中运行良好)
- Craps游戏问题,忽略if语句
- 矢量下标超出SFML游戏中的范围
- 我是 c++ 的新手.学习基本知识后,我想做井字游戏.对于印刷板,我在下面写代码,但它显示错误
- 我在贪吃蛇游戏中收到了错误代码 -1073741571
- 我应该在简单的策略游戏中为各个派系使用类吗 - C++
- 游戏体验和升级
- 我的代码运行良好,但在游戏循环中中断
- 如何使用 SFML 在贪吃蛇游戏中定义游戏结束?
- 我可以使用任何好的逻辑来阻止计算机将 O 放在井字游戏中的现有 X 上
- 将鼠标和键盘输入发送到 unity3d 游戏 (Rust)
- 在猜谜游戏 c++ 中不计算尝试次数
- 在C++不适用于猜数字游戏的情况下再次播放选项
- 在为我的基于文本的 RPG 游戏制作库存时遇到困难
- 在定义字符数组(井字游戏)的 for 循环中应用输入限制
- Frank Luna 在他的书"使用 DirectX12 进行 3D 游戏编程"的介绍中盒子示例的问题
- 如何在Linux上正确发布C++软件(游戏)
- 提高基于组件的游戏引擎的效率
- 游戏王卡牌的效果