纸牌游戏设计

时间:2011-06-26 15:16:22

标签: c# design-patterns architecture playing-cards

我正在创建一个多人纸牌游戏。 我有两个主要的课程:

  • 播放器 - 代表游戏中的玩家。

  • 经理 - 是游戏的管理者..它是singleton并拥有主卡片组和所有玩家。

我的问题是Manager和Player之间关系的最佳设计是什么。 我认为经理应该了解所有球员,但球员不应该认识他...... 那是因为如果有一天我想将玩家类用于其他纸牌游戏,那将是非常通用的。

为了使用我的设计,我应该为Player类创建许多事件。 例如getCardFromTheDeck

什么是最好的设计?

1 个答案:

答案 0 :(得分:1)

你的游戏设计应该在很大程度上取决于你的要求,你的问题这种方式太混乱,而且没有建设性。

我会举一个你要问的例子:我会说平均游戏应该有游戏板,玩家和游戏控制器(至少)。董事会应该收集所有已放下的牌,而不是等等。球员应该拥有他们拥有的现有牌的集合。游戏控制器应该有开始游戏,确定胜利者等方法......

对于游戏逻辑,你可以拥有类似战略模式的东西,你需要一些表达规则等方式......

......你继续这样想。要注意基本的OO原则,例如SOLID,这是所有单一责任原则中最重要的。

有关可以为您提供想法的设计模式指南,请参阅GoF Design Patterns。有关更多示例,请在线查找一些游戏源代码并进行研究。您将获得一些想法,从这些想法中,您的设计将受益。