游戏王卡牌的效果

Yu-gi-oh cards' effect

本文关键字:游戏王      更新时间:2023-10-16

我正在为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++设计模式书的好建议。