我正在尝试根据好友编程类(class)的指南为一个迷你项目创建一个时钟纸牌游戏,以获取乐趣。我正在运行我的牌组和纸牌类(class)。但是,我应该实现一个桩类。我不知道人们对时钟纸牌有多熟悉,因为这是我第一次听说它......在时钟纸牌中,有十三堆纸牌。 (在说明中,它是一个圆圈中的一堆堆,里面有四张面朝下的牌,圆圈中间有一堆牌)。游戏开始时,牌全部面朝下。圆圈中间有一堆被认为是“国王堆”。您必须从国王牌堆中“取出”最上面的牌,并将其“面朝上”放在正确牌堆的底部。
在我的 Pile 类中,我需要有 2 个 void 方法:
---addCardFaceUp() and addCardFaceDown().
还有一个方法:
---public Card removeCard()
它返回一个 Card 对象...
我的问题有点长并且连在一起。提前抱歉... 我很难获得关于如何在游戏开始时用“面朝下”卡片填充我的一堆堆的灵感。我还没有尝试过任何东西,因为有些作家阻止了我。有没有人做过类似的项目并可以提供一些指导?或者将卡片标记为“面朝上或面朝下...”的方法
最佳答案
让我们首先看看桩类需要保留的数据。 Pile 类必须有许多类变量才能保存每个堆的数据。具体来说,我可以看到,记录纸牌堆中的纸牌数量以及纸牌的集合或列表会很有用。我们还需要一种方法来判断集合中的每个成员是面朝上还是面朝下。我们可以通过保留第二个集合或列表来实现此目的,但不要让它充满卡片,而是让它充满 boolean 值。然后,如果随附集合中同一位置的 bool 值为 true,则可以说卡片面朝上;如果为 false,则可以说面朝下。因此,我们可以存储这堆纸牌的数据以及面朝上或面朝下的值。
基本类的另一部分是它使用的方法。正如您原来的帖子所说,您必须有一种方法来添加(在两个方向上)和从一堆中删除卡片。为了更容易地做到这一点,您将需要使用比简单数组更高级的数据类型。看看List class例如,并确保输入 generics好好利用。您的添加和删除方法将简单地修改用于存储卡片的集合或列表,以及面朝上/面朝下的 boolean 值。此外,您可能有一个值,可以简单地将列表中特定位置的卡片转向相反的方向。
如果您在某件事上遇到困难,这可能是了解更多有关创建自己的 Java 类的好机会。有很多教程可以帮助您度过这个设计阶段并进入实现阶段。快乐编码!
关于java - 时钟接龙游戏/聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45598750/