、编写一段java程序,模拟张三和李四两人随机扔色子,谁扔的色子先累加到21点,谁 就赢。 在控制台输出谁赢了,同时输出每次扔出色子的点数。
时间: 2024-10-10 21:14:56 浏览: 36
基于Java实现学生实验室勤工俭学模拟【100011983】
下面是一个简单的Java程序,模拟张三和李四两个人玩掷骰子游戏直到某人达到21点的情况:
```java
import java.util.Random;
public class DiceGame {
public static void main(String[] args) {
String player1 = "张三";
String player2 = "李四";
int player1Score = 0;
int player2Score = 0;
Random random = new Random();
while (true) {
// 模拟掷骰子
int diceRoll = random.nextInt(6) + 1; // 生成1到6之间的随机数
System.out.println("现在轮到" + (player1Score <= player2Score ? player1 : player2) + "投掷,点数:" + diceRoll);
// 计算得分并检查是否超过21点
if (player1Score + diceRoll > 21) {
System.out.println(player2 + "赢了,因为" + player1 + "超出21点了!");
break;
} else if (player2Score + diceRoll > 21) {
System.out.println(player1 + "赢了,因为" + player2 + "超出21点了!");
break;
} else {
player1Score += diceRoll;
if (player1Score == 21) {
System.out.println(player1 + "赢了,因为他们达到了21点!");
break;
}
// 如果不是21点,继续对方玩家的回合
if (player1Score < player2Score) {
System.out.println("现在轮到" + player2 + "投掷...");
// 这里省略类似的部分,因为已经处理过一次循环
}
}
}
}
}
```
在这个程序中,我们使用Random类生成1到6的随机数来模拟骰子的结果。当一个玩家累计得分超过21点时,游戏结束,另一名玩家获胜。控制台会显示每个玩家的分数变化以及最终的赢家。
阅读全文