管理java游戏卡操作。怎么用?
所以我的问题基本上和这个一样: 但是我不“C++”一词。 这是我的第一个大型java项目,我想实现一个交易卡游戏组件。 我的问题是:我计划使用100多张不同的卡,有不同的动作。将有4种主要类型。在这些类型中,卡的操作是相似的,但仍然不同。 我想多上一节课,比如管理java游戏卡操作。怎么用?,java,eclipse,Java,Eclipse,所以我的问题基本上和这个一样: 但是我不“C++”一词。 这是我的第一个大型java项目,我想实现一个交易卡游戏组件。 我的问题是:我计划使用100多张不同的卡,有不同的动作。将有4种主要类型。在这些类型中,卡的操作是相似的,但仍然不同。 我想多上一节课,比如 public class CardActionDatabase { public void card1Action(){} public void card2Action(){} .... } 但问题是,我不能
public class CardActionDatabase {
public void card1Action(){}
public void card2Action(){}
....
}
但问题是,我不能在实际代码中调用它们,比如
(playedcard.getName())Action()
因为这在编译语言中是不可能的。
因此,基本上我必须“如果”最近的牌与所有现有的牌,这将是低效的
我怎样才能做到这一点呢?我自己也在玩牌,这里有一些选择。一个简单的方法(虽然可能不是最有效的)是: 首先,创建一个抽象类
Card
,其中包含常见的变量和方法,例如String name
和public void onPlay()
。然后,您可以为四种类型中的每一种创建另一个抽象子类
然后,为游戏中每一张独特的卡创建卡的子类。这些子类以自己的方式定义onPlay()
。然后在玩家回合逻辑中,当玩家选择一张牌时,该牌的onPlay
方法被调用。您甚至可以添加诸如onDiscard
、ondestory
或onTurnStart
之类的内容
你也可以考虑在“卡”和“字段/播放区”之间创建控制器类。例如,您可能有一个
HandController
类,该类具有公共方法DiscardRandom()
、Discard(int index)
和Draw()
,卡牌可以使用这些方法来操作游戏
管理适当执行操作所需的调用链可能会变得麻烦和复杂,但强大的文档功能非常有用。我自己也在玩纸牌游戏,这里有一些选项。一个简单的方法(虽然可能不是最有效的)是:
首先,创建一个抽象类Card
,其中包含常见的变量和方法,例如String name
和public void onPlay()
。然后,您可以为四种类型中的每一种创建另一个抽象子类
然后,为游戏中每一张独特的卡创建卡的子类。这些子类以自己的方式定义onPlay()
。然后在玩家回合逻辑中,当玩家选择一张牌时,该牌的onPlay
方法被调用。您甚至可以添加诸如onDiscard
、ondestory
或onTurnStart
之类的内容
你也可以考虑在“卡”和“字段/播放区”之间创建控制器类。例如,您可能有一个
HandController
类,该类具有公共方法DiscardRandom()
、Discard(int index)
和Draw()
,卡牌可以使用这些方法来操作游戏
管理适当执行操作所需的调用链可能会变得麻烦和复杂,但强大的文档化还有很长的路要走