我正在实现一个Cluedo游戏的简单版本。 游戏中有三种类型的卡片,分别是角色、武器和房间。由于一张卡片仅仅是一个字符串(即除了名称之外没有任何功能或信息存储在卡片中),我选择不使用Card接口,而是让每种类型都继承Card。我在我的游戏中使用了三个枚举,它们是:
public enum Character {Scarlett, Mustard, White, Green, Peacock, Plum;}
public enum Weapon {Candlestick, Dagger, LeadPipe, Revolver, Rope, Spanner;}
public enum Room {Kitchen, Ballroom, Conservatory, BilliardRoom, Library, Study, Hall;}
然而,有一种情况是将三种类型的卡牌放在一起,并平均发给游戏中的每个玩家。例如,一个玩家可能有2张角色卡、2张武器卡和1张房间卡,另一个玩家可能有3张房间卡和2张角色卡,只要卡牌的总数是偶数,不管是什么类型都没关系。
这就是为什么我想知道是否有一种方法可以从Java的所有三个枚举中随机选择一个单一的值?
或者我一开始就不应该使用这三个枚举?(设计得不好)