Java中的减法游戏

时间:2018-10-18 22:36:43

标签: java boolean

任务是使用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;
  }

}

1 个答案:

答案 0 :(得分:0)

让我们来看看您有两位球员爱丽丝和鲍勃。玩家转弯意味着首先您应该从屏幕上获取一个输入并将其视为Alice的输入。下一个输入将被视为Bob的输入。下一个输入将被视为Alice的输入,依此类推。

所以

1st input = ALice
2nd input = Bob
3rd input = Alice
4th input = Bob

使用一些count变量对输入的数量进行计数。您必须使用扫描仪进行输入。 如果观察该模式,则如果输入是奇数输入,则它是Alice的输入。否则,这是鲍勃的输入。因此,如果最后一步是奇数输入,则爱丽丝为获胜者。否则鲍勃是赢家。