这是我使用 5 个骰子计算满屋的代码。现在有些数字会起作用,比如如果我掷出 1、6、6、6、1。但如果我掷出 4、4、5、5、4。它不会起作用,我也不知道。我知道有很多 if 语句,它本来可以做得更好,但我是一个初学者程序员,这是我觉得很舒服的事情,因为我不能做一个复杂的逻辑算法。谢谢。
Arrays.sort(die);
int score = 0;
int d1 = die[0];
int d2 = die[1];
int d3 = die[2];
int d4 = die[3];
int d5 = die[4];
if (d1 == 1)
{
if (d1 == 1 && d2 == 1)
{
if (d3 == 2 && d4 == 2 && d5 == 2)
{
score = 25;
}
if (d3 == 3 && d4 == 3 && d5 == 3)
{
score = 25;
}
if (d3 == 4 && d4 == 4 && d5 == 4)
{
score = 25;
}
if (d3 == 5 && d4 == 5 && d5 == 5)
{
score = 25;
}
if (d3 == 6 && d4 == 6 && d5 == 6)
{
score = 25;
}
}
else if (d1 == 1 && d2 == 1 && d3 == 1)
{
if (d4 == 2 && d5 == 2)
{
score = 25;
}
if (d4 == 3 && d5 == 3)
{
score = 25;
}
if (d4 == 4 && d5 == 4)
{
score = 25;
}
if (d4 == 5 && d5 == 5)
{
score = 25;
}
if (d4 == 6 && d5 == 6)
{
score = 25;
}
}
}
if (d1 == 2)
{
if (d1 == 2 && d2 == 2)
{
if (d3 == 3 && d4 == 3 && d5 == 3)
{
score = 25;
}
if (d3 == 4 && d4 == 4 && d5 == 4)
{
score = 25;
}
if (d3 == 5 && d4 == 5 && d5 == 5)
{
score = 25;
}
if (d3 == 6 && d4 == 6 && d5 == 6)
{
score = 25;
}
}
else if (d1 == 2 && d2 == 2 && d3 == 2)
{
if (d4 == 3 && d5 == 3)
{
score = 25;
}
if (d4 == 4 && d5 == 4)
{
score = 25;
}
if (d4 == 5 && d5 == 5)
{
score = 25;
}
if (d4 == 6 && d5 == 6)
{
score = 25;
}
}
}
if (d1 == 3)
{
if (d1 == 3 && d2 == 3)
{
if (d3 == 4 && d4 == 4 && d5 == 4)
{
score = 25;
}
if (d3 == 5 && d4 == 5 && d5 == 5)
{
score = 25;
}
if (d3 == 6 && d4 == 6 && d5 == 6)
{
score = 25;
}
}
else if (d1 == 3 && d2 == 3 && d3 == 3)
{
if (d4 == 4 && d5 == 4)
{
score = 25;
}
if (d4 == 5 && d5 == 5)
{
score = 25;
}
if (d4 == 6 && d5 == 6)
{
score = 25;
}
}
}
if (d1 == 4)
{
if (d1 == 4 && d2 == 4)
{
if (d3 == 5 && d4 == 5 && d5 == 5)
{
score = 25;
}
if (d3 == 6 && d4 == 6 && d5 == 6)
{
score = 25;
}
}
else if (d1 == 4 && d2 == 4 && d3 == 4)
{
if (d4 == 5 && d5 == 5)
{
score = 25;
}
if (d4 == 6 && d5 == 6)
{
score = 25;
}
}
}
if (d1 == 5)
{
if (d1 == 5 && d2 == 5)
{
if (d3 == 6 && d4 == 6 && d5 == 6)
{
score = 25;
}
}
else if (d1 == 5 && d2 == 5 && d3 == 5)
{
if (d4 == 6 && d5 == 6)
{
score = 25;
}
}
}
return score;
}
else
return 0;
}