任务是使用Java编写双人游戏Subtract-a-Square。玩家轮流减去一个平方数,如果玩家做了最后一步,他就会获胜。我们应该实现boolean isSquare(int )函数,以检查输入的数字是否为平方,以及用户输入是否合法。我做了布尔值来检查它是否是正方形,但我找不到一种方法来让两个玩家交替轮换。谢谢!
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;
}
}
发布于 2018-10-19 06:44:04
让我们假设你有两个玩家爱丽丝和鲍勃。玩家轮流意味着首先你应该从屏幕上获取一个输入,并将其视为Alice的输入。下一个输入将被视为Bob的输入。下一个输入将被认为是Alice的输入,依此类推。
所以,
1st input = ALice
2nd input = Bob
3rd input = Alice
4th input = Bob
使用一些计数变量来计算输入的数量。您必须使用Scanner接受输入。如果你观察这个模式,如果输入是奇数输入,那么它就是爱丽丝的输入。否则它就是Bob的输入。所以,如果最后一步是奇数输入,那么Alice就是赢家。否则鲍勃就是赢家。
https://stackoverflow.com/questions/52883529
复制相似问题