3.编写一个玩“石头、剪刀、布”的游戏,可以双人玩,也可以人机对战,并将输赢结果输出在屏幕上,用java语言
时间: 2024-04-30 08:24:33 浏览: 64
以下是一个简单的石头剪刀布游戏的 Java 代码。它可以让两个人玩,也可以让人类与计算机对战。每个玩家都可以选择 "石头"、"剪刀" 或 "布"。程序将比较选择并输出获胜者。
```java
import java.util.Random;
import java.util.Scanner;
public class RockPaperScissors {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Random random = new Random();
System.out.println("欢迎来到石头剪刀布游戏!");
System.out.println("请选择游戏模式:");
System.out.println("1. 双人对战");
System.out.println("2. 人机对战");
int mode = input.nextInt();
if (mode == 1) {
// 双人对战模式
System.out.println("请输入玩家1的名字:");
String player1Name = input.next();
System.out.println("请输入玩家2的名字:");
String player2Name = input.next();
while (true) {
System.out.println(player1Name + "请出拳(1. 石头 2. 剪刀 3. 布):");
int player1Choice = input.nextInt();
System.out.println(player2Name + "请出拳(1. 石头 2. 剪刀 3. 布):");
int player2Choice = input.nextInt();
int result = compare(player1Choice, player2Choice);
if (result == 0) {
System.out.println("平局!");
} else if (result == 1) {
System.out.println(player1Name + "获胜!");
} else {
System.out.println(player2Name + "获胜!");
}
System.out.println("是否继续游戏?(y/n)");
String answer = input.next();
if (!answer.equalsIgnoreCase("y")) {
break;
}
}
} else {
// 人机对战模式
System.out.println("请输入玩家的名字:");
String playerName = input.next();
while (true) {
System.out.println(playerName + "请出拳(1. 石头 2. 剪刀 3. 布):");
int playerChoice = input.nextInt();
int computerChoice = random.nextInt(3) + 1;
int result = compare(playerChoice, computerChoice);
if (result == 0) {
System.out.println("平局!");
} else if (result == 1) {
System.out.println(playerName + "获胜!");
} else {
System.out.println("电脑获胜!");
}
System.out.println("是否继续游戏?(y/n)");
String answer = input.next();
if (!answer.equalsIgnoreCase("y")) {
break;
}
}
}
}
// 比较两个玩家的选择并返回胜者:0 表示平局,1 表示第一个玩家获胜,2 表示第二个玩家获胜
public static int compare(int choice1, int choice2) {
if (choice1 == choice2) {
return 0;
} else if (choice1 == 1 && choice2 == 2 || choice1 == 2 && choice2 == 3 || choice1 == 3 && choice2 == 1) {
return 1;
} else {
return 2;
}
}
}
```
阅读全文