我想编码类似于交易卡游戏的结构,例如Yugioh或万智牌。策略卡片游戏的编码设计?
我有我的游戏设置的基本基础设施,但我无法弄清楚的一件事是'效果'或'事件'。一张牌可能会说“抽3张牌”。另一个人可能会说,“当这个仆从死亡时,摧毁场上所有的牌”。另一个人可以说:“在这张卡被抽出后第四回合治疗50个生命”。
从编码的角度来看,你会怎么做?我知道我需要类似事件(玩家抽牌时的事件,检查是否有任何效果正在侦听该事件)以及堆栈数据结构,因为效果有时可能会重叠。
什么是从这里开始的好地方?我应该为每一张卡都有一个Java类文件,因为它们的效果差别很大吗?我应该在游戏中拥有所有1000张牌的方法,每种方法都会影响游戏吗?我不知道。
感谢您的帮助。
我建议你所有的卡片都从父对象继承,并且有事件的getter和setter方法...另外,不应该为每张卡片都有一个java类文件,那可能是糟糕的设计至少。 – Theyna
是的,我现在有一个卡类,扩展卡的生物,扩展卡的法术等等。但是,'事件'背后真正的细节对我而言是复杂的。假设有一张牌有文字“每当这张牌被打,你的对手丢弃一张牌”。那行代码在哪里?当一张特定的牌可能会产生一个效果,即其他牌没有类似于 – Hatefiend
的定制事件时,很难进行OOP ......请参考下面的Morgans答案并开始做一些研究 – Theyna