gpt4 book ai didi

java - 小直 - 方法

转载 作者:行者123 更新时间:2023-11-29 05:46:34 25 4
gpt4 key购买 nike

几天来我一直坚持使用这种方法。此方法检查是否掷出 5 个骰子 == 小顺子。它适用于某些数字。如果我滚动一个

1, 2, 4, 3, 6

它会起作用的。但是,如果我滚动

1, 2, 4, 3, 3

它不会起作用。我认为这是因为那里有重复的 3。我需要以某种方式将它移到最后。

小顺子是指有四个连续的骰子面值,例如1、2、3、4或3、4、5、6。它可以是任何顺序,例如2、3、1、4

      int counter = 0;
int score = 0;
boolean found = false;
Arrays.sort(die);

for (int i = 0; i < die.length - 1; i++)
{
if (counter == 3)
found = true;

if (die[i + 1] == die[i] + 1)
{
counter++;
}
else if (die[i + 1] == die[i])
{
continue;
}
else
{
counter = 0;
}
}

if (found)
{
score = 30;
}
else
{
score = 0;
}
return score;
}

最佳答案

重复的 3 不是算法的问题。问题是您在迭代发生后检查直线。因此,如果最后一个骰子是顺子的一部分,则不会被识别。

要解决这个问题,请移动

if (counter == 3) found = true;

到循环结束。应该可以。

编辑:所以它看起来像这样。

for (/*...*/) {
/* Everything else */

if (counter == 3) {
found = true;
break;
}
}

关于java - 小直 - 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15671620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com