我编写的代码解决了一个boggle board,现在我想把它转换成我自己的游戏。我有我需要的一切,除了我无法弄清楚如何设置一个时间限制,所以这个人只能输入2分钟的单词。这是我到目前为止所做的,但它没有做我想做的事情,即2分钟后停止。
long startTime = System.nanoTime();
long endTime1=0;
long maxDurationInMilliseconds = 2 * 60 * 1000;
while (2 * 60 * 1000> endTime1-startTime) {
System.out.println(System.currentTimeMillis());
System.out.print("Guess a word on the board! ");
if(test.CheckGame(scan.next())==true){
System.out.print("Good job! ");
}
else
System.out.print("Guess again! ");
endTime1 = System.nanoTime();
}
答案 0 :(得分:3)
您正在将毫秒与纳秒进行比较。这似乎是问题所在。
您应该使用System.currentTimeMillis
计算startTime
和endTime1
。
或者,如果您需要纳秒分辨率(尽管 保证System.nanoTime
),您应该以纳秒表示最大持续时间。