猜数游戏Java计时器
时间: 2024-07-10 13:00:28 浏览: 80
猜数游戏是一款常见的编程练习,其中通常包含一个计时器功能,用来增加游戏的互动性和挑战性。在Java中,你可以使用`java.util.Timer`或者`java.time`包中的`TimerTask`和`Duration`类来实现计时器。
以下是一个简单的猜数字游戏Java代码示例,包含了计时器功能:
```java
import java.util.Random;
import java.util.Timer;
import java.util.TimerTask;
import java.time.Duration;
public class GuessNumberGame {
private int secretNumber;
private int guess;
private Timer timer;
private long startTime;
public void startGame() {
// 生成随机数作为秘密数字
secretNumber = new Random().nextInt(100) + 1;
System.out.println("欢迎来到猜数字游戏,你有60秒的时间猜测一个1到100之间的数字。");
// 初始化计时器
timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
if (guess < secretNumber) {
System.out.println("太小了,你还有59秒(当前剩余时间)");
} else if (guess > secretNumber) {
System.out.println("太大了,你还有59秒(当前剩余时间)");
} else {
System.out.println("恭喜你,你猜对了!用时" + Duration.between(startTime, System.currentTimeMillis()).toSeconds() + "秒。");
endGame();
}
}
}, 0, 1000); // 每隔1秒检查一次,总共60秒
startTime = System.currentTimeMillis(); // 记录开始时间
askForGuess();
}
private void askForGuess() {
try {
guess = Integer.parseInt(System.console().readLine("请输入你的猜测: "));
} catch (Exception e) {
System.out.println("输入无效,请输入一个整数。");
askForGuess();
}
}
private void endGame() {
timer.cancel(); // 停止计时器
timer.purge(); // 清理已取消的任务
System.out.println("游戏结束,感谢参与!");
}
public static void main(String[] args) {
new GuessNumberGame().startGame();
}
}
```