当前位置: 首页 > 知识库问答 >
问题:

时钟孤子游戏/聚合

颛孙星海
2023-03-14

我正在尝试为一个迷你项目创建一个时钟接龙游戏,以获得好友编程课程的指导方针。我已经运行了我的套牌和纸牌类。然而,我应该实现一个堆叠类。我不知道人们对时钟接龙有多熟悉,因为这是我第一次听说它...在时钟接龙中,有十三堆卡片。(在说明中,它是一个圆形中的堆叠阵列,由四张面朝下的卡片和圆形中间的一堆卡片组成)。在游戏开始时,卡片都将面朝下。圆圈中间有一堆被认为是“国王堆”。你必须从国王堆中“移除”顶部的卡片,并将其“面朝上”放置在正确堆的底部。

在我的桩课程中,我需要有两种无效方法:

---addCardFaceUp() and addCardFaceDown().

以及一种方法:

---public Card removeCard()

它返回一个Card对象...

我的问题有点长,而且连篇累牍。提前道歉。。。我很难获得灵感,如何在游戏开始时用“面朝下”的牌填充我的一堆牌。我什么都没试过,因为我有一些作家对此表示不满。有没有人做过类似的项目,可以提供一些指导?或者只是将卡片标记为“面朝上或向下…”

共有1个答案

景子安
2023-03-14

让我们从查看桩类需要保留的数据开始。Pile类必须有许多类变量才能保存每个桩的数据。具体来说,我可以看到保留桩中卡片的计数和卡片的集合或列表将是有用的。我们还需要一种方法来判断集合中的每个成员是面朝上还是面朝下。我们可以通过保留第二个集合或列表来实现这一点,但不是让它充满卡片,而是让它充满布尔值。然后,如果附带集合中同一位置的布尔值为真,我们可以说一张卡是正面朝上的,如果它为假,我们可以说一张卡是正面朝下的。因此,我们可以将卡片的数据存储在堆中,以及正面朝上或正面朝下的值。

基本类的另一部分是它使用的方法。你必须有一种方法来添加(在两个方向)和删除卡从一堆,正如你原来的帖子说。为了更轻松地执行此操作,您需要使用比简单数组更高级的数据类型。例如,看一下List类,确保充分利用泛型。添加和删除方法只需修改用于存储卡的集合或列表,以及正面向上/正面向下的布尔值。此外,您可能有一个值,该值只是将列表中某个特定位置的卡转向相反的方向。

如果您在某些方面遇到了困难,那么这可能是一个学习如何创建自己的Java类的好机会。有很多教程可以帮助您完成这个设计阶段,并将其实现。快乐的编码!

 类似资料:
  • CocosEditor开源版 笔者历时一个晚上,终于完成了cocos2d-js开源版本,编码虽易,创意不易,且行且珍惜; 此版本包含了网上流行的各种版本。包括原版,朝代版,金庸版,星座,豪车等等近10个版本,代码开源,希望读者基于开源代码做出各种版本,供全名娱乐; 运行demo需要配置好CocosEditor,暂不支持其他工具。demo是跨平台的,可移植运行android,ios,html5网页等

  • 利用cocos2d框架写的推箱子游戏。仅能在真机3.5寸Retina屏幕下测试。 [Code4App.com]

  • 五子棋(Gomoku)是一款经典的线上五子棋游戏,5 子连成一线者胜。  

  • 你好,所以我只能看到子弹,当我关闭我的游戏的窗口,但我没有看到错误。导入py游戏,数学,随机,操作系统pygame.init()时钟=pygame.time.时钟()宽度=800高度=608屏幕=pygame.display.set_mode((宽度,高度))运行=真正的游戏结束=假水平=假水平=0费迪格=假跳转=假

  • 我对C#和一般编码都是新手。为了提高我的技能,我试图创建一个基本的游戏,两个玩家掷骰子,并记录他们的得分。玩家达到20分即获胜。每个玩家轮流掷一个骰子,把他们的第一个骰子加到他们的第二个骰子上,以此类推,直到其中一个达到20。如果玩家掷出一个六,他们可以再次掷骰子。 任何帮助都将不胜感激。

  • 代码的目的是让两个玩家掷一对骰子。第一个掷出20分的玩家赢得比赛。我很难弄清楚如何正确地跟踪滚动的总和;它只给我当前回合的总和,然后当每个玩家滚动10次时游戏就结束了。 我如何正确地计算每个玩家游戏的总和,然后当其中一个玩家的总和等于20时停止循环?