java升级猜拳游戏: 游戏获胜者加一分,失败和平手不扣分,每一轮实行三局两胜制。有一方获胜后,再提问是否继续游戏,根据玩家输入1继续游戏,输入0退出游戏 尝试拓展:每一轮游戏完成后,都会输出本轮中电脑和用户分别都出了什么。
时间: 2024-02-12 20:07:57 浏览: 78
好的,下面是实现该功能的Java代码:
```java
import java.util.Random;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Random random = new Random();
int userScore = 0, computerScore = 0; // 用户和电脑的得分
int round = 1; // 当前轮数
while (true) {
System.out.println("第" + round + "轮游戏开始:");
int userWinCount = 0, computerWinCount = 0; // 用户和电脑获胜的局数
// 三局两胜制
for (int i = 1; i <= 3; i++) {
System.out.print("请输入您出拳的编号(1表示石头,2表示剪刀,3表示布):");
int userChoice = scanner.nextInt();
int computerChoice = random.nextInt(3) + 1;
// 输出本轮中电脑和用户分别都出了什么
System.out.println("第" + i + "局:");
System.out.println("电脑出拳:" + getChoiceName(computerChoice));
System.out.println("您出拳:" + getChoiceName(userChoice));
// 判断胜负
if (userChoice == computerChoice) {
System.out.println("本局平局!");
} else if (userChoice - computerChoice == 1 || userChoice - computerChoice == -2) {
System.out.println("您赢了这局!");
userWinCount++;
} else {
System.out.println("电脑赢了这局!");
computerWinCount++;
}
// 已经有一方获胜,不用再进行比较了
if (userWinCount == 2 || computerWinCount == 2) {
break;
}
}
// 统计得分
if (userWinCount > computerWinCount) {
userScore++;
System.out.println("您赢得了本轮游戏!");
} else if (userWinCount < computerWinCount) {
computerScore++;
System.out.println("电脑赢得了本轮游戏!");
} else {
System.out.println("本轮游戏平局!");
}
// 输出当前得分情况
System.out.println("当前得分:您 " + userScore + " : " + computerScore + " 电脑");
// 询问是否继续游戏
System.out.print("是否继续游戏?(1表示是,0表示否):");
int choice = scanner.nextInt();
if (choice == 0) {
System.out.println("游戏结束!");
break;
}
// 进入下一轮游戏
round++;
}
}
/**
* 根据出拳编号获取出拳名称
* @param choice 出拳编号
* @return 出拳名称
*/
public static String getChoiceName(int choice) {
switch (choice) {
case 1:
return "石头";
case 2:
return "剪刀";
case 3:
return "布";
default:
return "";
}
}
}
```
运行程序后,按照提示进行游戏即可。每轮游戏完成后,程序都会输出本轮中电脑和用户分别都出了什么。
希望能够帮到你!
阅读全文