任务是使用Java编写两人游戏《减法广场》。玩家轮流减去一个平方数,并且如果他采取了最后的行动,他就会显得邪恶。我们应该实现函数 boolean isSquare(int a)来检查输入的数字是否为正方形并且用户输入是否合法。我已经完成了布尔运算以检查它是否为正方形,但是我无法找到一种方法来使两个玩家交替轮换。谢谢!
public class Squares {
public static void main(String[] args) {
int sum = (int)(Math.random()*11)+10;
while(!StdIn.isEmpty()) {
int i = 1;
if (i % 2 == 0) {
int P1 = Integer.parseInt(args[0]);
sum = sum - P1;
}
else {
int P2 = Integer.parseInt(args[1]);
sum = sum - P2;
}
i++;
}
}
public static boolean isSquare(int a) {
for (int i = 0; i < 20; i++) {
// sum = sum - player input
}
if (a < 0 || a > sum)
System.out.println("Wrong input: ");
for (int i = 0; i < a / 2 + 2; i++) {
if (i * i == a)
return true;
}
return false;
}
}
答案 0 :(得分:0)
让我们来看看您有两位球员爱丽丝和鲍勃。玩家转弯意味着首先您应该从屏幕上获取一个输入并将其视为Alice的输入。下一个输入将被视为Bob的输入。下一个输入将被视为Alice的输入,依此类推。
所以
1st input = ALice
2nd input = Bob
3rd input = Alice
4th input = Bob
使用一些count变量对输入的数量进行计数。您必须使用扫描仪进行输入。 如果观察该模式,则如果输入是奇数输入,则它是Alice的输入。否则,这是鲍勃的输入。因此,如果最后一步是奇数输入,则爱丽丝为获胜者。否则鲍勃是赢家。