我想为我的项目用C ++构建单人纸牌游戏。
以下是我的想法:卡类属性/成员:套装,等级,颜色(所有这些都可以是枚举)动作/功能:翻转卡,比较卡,打印卡规则类:将包含规则游戏并验证每个用户操作/命令以检查是否允许。命令类:我认为这不一定是一个类。也可以是一个枚举。基类CardPile。有更多来自CardPile的类,例如DealPile,Temporary Pile,DestinationPile,TablePile。我不清楚的是课程之间的关系。
谢谢!
答案 0 :(得分:2)
您需要一张卡片的代表,该卡片将保留卡片的价值并适合。
您还需要一个数据结构来表示卡片的“堆叠”。
从那里开始,构建GUI不应该具有挑战性。这是一个非常简单的项目,你似乎有正确的想法。
答案 1 :(得分:0)
考虑一下,而不是做一堆前期设计,专注于创造有用的东西。你的计划需要做什么?
它需要洗牌,所以设计一种方法来代表52张牌并将其洗牌。它很容易实现,但它是一个很好的起点。
然后你需要布局卡片。因此,想出一种方法来布置卡片并将其余部分放在抽签中。
等等。而不是分析对象,而是关注行为。仅根据需要创建对象以支持程序的行为。这将帮助您避免迷失在分析和多余的代码中,并确保您拥有一个实际执行一些有用的程序。
(如果你在做任何事情之前需要上交你的设计怎么办?不是问题;按照我上面描述的方式做你的思考。实现将留待以后,但即使只是想一想像上面这样的例程将如何工作将比设计一堆对象更有价值而不知道你将如何处理它们。)