【发布时间】:2009-11-20 19:41:37
【问题描述】:
我想为我的项目用 C++ 构建一个纸牌游戏。
这是我想出的:卡片类属性/成员:套装,等级,颜色(所有这些都可以是枚举)动作/功能:翻转卡片,比较卡片,打印卡片规则类:将包含规则游戏并验证每个用户的操作/命令以检查它是否被允许。命令类:我认为这不一定是一个类。也可以是一个枚举。基类 CardPile。拥有更多从 CardPile 派生的类,例如 DealPile、Temporary Pile、DestinationPile、TablePile。我不清楚的是类之间的关系。
谢谢!
【问题讨论】:
-
我礼貌地建议您对自己设计的设计有更清晰的理解,而不是用勺子喂给您的设计。
-
我不会过度使用您的“建模”。有许多开源参考资料。胶水是 GUI 修改更“抽象”的卡片,这些卡片放在成堆或堆叠等中......确定它们如何组合在一起的最好方法就是编写该死的东西!
-
我会给你怀疑的好处;也许你在这方面做了更多的工作,只是想在这里快速发表一篇文章。如果你做的工作比你说的多,请张贴。否则,这只会读作“这很难,我现在不想尝试”......这就是大多数人会接受的方式。
-
与其把你能想到的每一个与纸牌相关的单词都扔掉,不如试着把它当作一个真正的游戏来思考。将每张卡片作为一个对象是有意义的——它的等级、花色和颜色等将是类中的数据成员(就像它们是真实卡片上的信息一样)。慢慢来,你将能够想出一个像样的设计......除非这是在 10 分钟内完成的,在这种情况下,你最好打电话给你的教授并想出一些蹩脚的借口!
-
如果你还在,AgentHunt,看看我在下面写的。我认识你的发展方式,因为我也是这样开始的。它被称为面向对象编程,它使新程序员认为他们应该从创建一堆对象开始,然后将它们串在一起。我多年来的经验是,这只会造成混乱。一个对象对你的程序没有用处,除非它做某事。
标签: project