“剪刀石头布”的游戏相信大家都不陌生,本案例要求编写一个剪刀石头布游戏的程序。程序启动后会随机生成1~3的随机数,分别代表剪刀、石头和布,玩家通过键盘输入剪刀、石头和布与电脑进行5轮的游戏,赢的次数多的一方为赢家。若五局皆为平局,则最终结果判为平局。生成出一个Java程序
时间: 2024-06-15 17:03:17 浏览: 77
以下是一个Java程序,实现了剪刀石头布游戏的功能:
```java
import java.util.Random;
import java.util.Scanner;
public class RockPaperScissorsGame {
public static void main(String[] args) {
int rounds = 5; // 游戏轮数
int playerScore = 0; // 玩家得分
int computerScore = 0; // 电脑得分
System.out.println("欢迎来到剪刀石头布游戏!");
for (int i = 1; i <= rounds; i++) {
System.out.println("第 " + i + " 轮游戏开始,请输入你的选择(剪刀、石头、布):");
String playerChoice = getPlayerChoice();
String computerChoice = getComputerChoice();
System.out.println("你选择了:" + playerChoice);
System.out.println("电脑选择了:" + computerChoice);
String result = getResult(playerChoice, computerChoice);
if (result.equals("玩家赢")) {
playerScore++;
} else if (result.equals("电脑赢")) {
computerScore++;
}
System.out.println("本轮结果:" + result);
System.out.println("--");
}
System.out.println("游戏结束!");
System.out.println("玩家得分:" + playerScore);
System.out.println("电脑得分:" + computerScore);
if (playerScore > computerScore) {
System.out.println("玩家获胜!");
} else if (playerScore < computerScore) {
System.out.println("电脑获胜!");
} else {
System.out.println("平局!");
}
}
// 获取玩家选择
public static String getPlayerChoice() {
Scanner scanner = new Scanner(System.in);
String choice = scanner.nextLine().toLowerCase();
while (!choice.equals("剪刀") && !choice.equals("石头") && !choice.equals("布")) {
System.out.println("无效的选择,请重新输入(剪刀、石头、布):");
choice = scanner.nextLine().toLowerCase(); }
return choice;
}
// 获取电脑选择
public static String getComputerChoice() {
Random random = new Random();
int choice = random.nextInt(3) + 1;
if (choice == 1) {
return "剪刀";
} else if (choice == 2) {
return "石头";
} else {
return "布";
}
}
// 判断结果
public static String getResult(String playerChoice, String computerChoice) {
if (playerChoice.equals(computerChoice)) {
return "平局";
} else if ((playerChoice.equals("剪刀") && computerChoice.equals("布"))
|| (playerChoice.equals("石头") && computerChoice.equals("剪刀"))
|| (playerChoice.equals("布") && computerChoice.equals("石头"))) {
return "玩家赢";
} else {
return "电脑赢";
}
}
}
```
请注意,以上代码实现了基本的剪刀石头布游戏逻辑,但并未进行输入验证和异常处理。在实际开发中,可能需要对用户输入进行更严格的验证和异常处理。
阅读全文