【问题标题】:Java - farkle (greed) game (die and player arrays, multiple classes)Java - farkle(贪婪)游戏(骰子和玩家数组,多个类)
【发布时间】:2013-06-05 19:02:57
【问题描述】:

我正在尝试为诸如 Farkle 游戏(贪婪)之类的命令编写代码。这是计算机科学课程的介绍。简而言之,您掷出 6 个骰子,分数取决于您掷出的结果。然后,您需要移除使用过的骰子 -> 显示该掷骰的分数 -> 显示总分 -> 询问他们是否想再次掷骰。第一个达到用户确定分数的玩家为获胜者。

我有一堆为模型编写的代码,我正在处理视图。我在视图中苦苦挣扎,这使得我的模型代码更难推进。我们需要使用 Die 和 Player 类(我们得到了这些)。我用 Die 很快,不太清楚如何应用 Player 类。

当我尝试运行我的命令行时,我的 rollCheck() 数组出现了越界错误,而我的模型中的其他问题在我只是在 main 中进行测试时没有出现。我为发布的代码量道歉,但我认为看到所有内容都会更容易解决(不用说真的)。

如果有人可以帮助我朝着正确的方向推动解决方案并使我的程序运行,那就太好了!谢谢。

【问题讨论】:

  • 滚动检查方法的哪一行出现异常?
  • 另外,你没有把这段代码贴在粘贴箱上是正确的,一个问题应该能够“独自生活”,作为一般规则;短自包含代码优于长自包含代码优于非自包含代码优于无代码
  • 用抛出的异常更新帖子。
  • GreedGame 似乎缺少它的“顶部”
  • 不太清楚这是什么意思,抱歉。

标签: java arrays class methods dice


【解决方案1】:

无法运行程序来确定它很难确定(我需要 GreedGame 的顶部),但我相当有信心它的以下内容:

在 rollDie 中,die 被设置为一个 int 数组,大小为 remainingDie

this.die = new int [remainingDie];

稍后,在 rollCheck 骰子数组的内容直到并包括剩余骰子,遍历数组 1

for (int i = 0; i <= remainingDie; i++) { // Count up quantity of die (6 set to remaining die)

     if (die[i] == 1) {
         this.numFreq[0] += 1;
     }
     ....
     ....
}

简而言之,我认为i &lt;= remainingDie; 应该是i &lt; remainingDie;,因为具有 6 个条目的数组具有“框”0、1、2、3、4、5

【讨论】:

  • 我进行了编辑,得到了类似的错误,只有越界异常是5。错误似乎在于rollCheck,它指向了rollCheck中的代码行:this.numFreq [i] = 0;问题似乎出在剩余Die 本身,因为如果我用简单的 6 替换它,命令行会运行得更远。
  • 更多cmets!我通过了 availableDie();滚动检查,这似乎有所帮助。我将继续解决这个问题,我感谢您的帮助。如果您注意到其他任何事情,请按我的方式扔!
猜你喜欢
  • 2012-11-06
  • 1970-01-01
  • 1970-01-01
  • 2011-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-19
相关资源
最近更新 更多