使用随机数模拟剪刀、石头、布游戏,采用五局 三胜制。(do..while语句) 提示:使用Math.randorm()生成随机数。
时间: 2024-09-30 22:07:08 浏览: 26
为了模拟剪刀、石头、布游戏,并采用五局三胜制,你可以使用Java的`java.util.Random`类配合`do...while`循环。以下是简单的示例代码:
```java
import java.util.Random;
import java.util.Scanner;
public class RockPaperScissors {
public static void main(String[] args) {
String[] choices = {"剪刀", "石头", "布"};
Random random = new Random();
Scanner input = new Scanner(System.in);
int playerWins = 0;
int computerWins = 0;
int ties = 0;
int gamesPlayed = 0;
do {
gamesPlayed++;
System.out.println("第 " + (gamesPlayed) + " 局:");
// 计算机随机选择
int computerChoice = random.nextInt(choices.length);
System.out.println("电脑出了:" + choices[computerChoice]);
// 玩家输入
System.out.print("请输入(剪刀、石头、布):");
String playerChoice = input.nextLine().toLowerCase();
while (!choices.contains(playerChoice)) {
System.out.println("无效的选择,请重新输入(剪刀、石头、布):");
playerChoice = input.nextLine().toLowerCase();
}
// 比较结果
int playerIndex = choices.indexOf(playerChoice);
int compIndex = computerChoice;
if (playerIndex == compIndex) { // 平局
ties++;
System.out.println("平局!");
} else if ((playerIndex - compIndex) % 3 == 1) { // 玩家赢
playerWins++;
System.out.println("玩家赢了!");
} else { // 电脑赢
computerWins++;
System.out.println("电脑赢了!");
}
// 输出当前战绩
System.out.println("比分:玩家 " + playerWins + ":" + computerWins + " 电脑 " + computerWins + ":" + ties);
} while (playerWins < 3 && computerWins < 3); // 继续直到有谁达到三胜
System.out.println("\n游戏结束! " +
(playerWins >= 3 ? "玩家" : "电脑") + " 获得了胜利,总共玩了 " + gamesPlayed + " 局。");
}
}
```
在这个程序中,我们通过`Random`生成0到2之间的随机整数代表电脑的选项,然后让用户输入他们的选择。比较两者并根据规则判断胜负,直到一方赢得三局为止。
阅读全文