编写Java程序单击按键以后龟兔开始赛跑
时间: 2023-05-26 08:06:13 浏览: 50
以下是一个简单的Java程序,实现了龟兔赛跑的游戏:
```
import java.util.Random;
import java.util.Scanner;
public class TurtleRabbitRace {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Random random = new Random();
int turtlePosition = 0;
int rabbitPosition = 0;
int goal = 100;
boolean gameOver = false;
while (!gameOver) {
System.out.println("Press any key to move the turtle and rabbit.");
scanner.nextLine();
// simulate turtle movement
int turtleMove = random.nextInt(3) + 1; // 1-3
turtlePosition += turtleMove;
System.out.println("Turtle moves " + turtleMove + " steps, now at position " + turtlePosition);
// simulate rabbit movement
int rabbitMove = random.nextInt(6) + 1; // 1-6
if (rabbitMove <= 2) {
// sleeping
System.out.println("Rabbit is sleeping...");
} else if (rabbitMove <= 4) {
// big hop
rabbitPosition += 9;
System.out.println("Rabbit makes a big hop and advances 9 steps, now at position " + rabbitPosition);
} else {
// small hop
rabbitPosition += 1;
System.out.println("Rabbit makes a small hop and advances 1 step, now at position " + rabbitPosition);
}
// check if any winner
if (turtlePosition >= goal && rabbitPosition >= goal) {
System.out.println("Both turtle and rabbit reach the goal, it's a tie!");
gameOver = true;
} else if (turtlePosition >= goal) {
System.out.println("Turtle wins!");
gameOver = true;
} else if (rabbitPosition >= goal) {
System.out.println("Rabbit wins!");
gameOver = true;
}
}
}
}
```
该程序中,我们使用Scanner类来等待用户按下任意按键。每次按键,程序会分别模拟乌龟和兔子的移动,直到有一方到达终点,游戏结束。
注意,我们使用Random类生成随机数来模拟乌龟和兔子的移动。乌龟每次最多移动3步,兔子有三种移动方式:睡觉(不动)、大跳(向前9步)和小跳(向前1步)。同时,我们使用一个gameOver标志来表示游戏是否结束,以便退出循环。