java实现剪刀石头布小游戏:编写一个剪刀石头布游戏的程序。程序启动后会随机生成0~2的随机数,分别代表剪刀、石头和布,玩家通过键盘输入剪刀、石头和布与电脑进行3轮的游戏,赢的次数多的一方为赢家。若三局皆为平局,则最终结果判为平局。
时间: 2024-09-25 15:05:35 浏览: 56
使用C++程序实现的石头剪刀布游戏代码(调试通过)
4星 · 用户满意度95%
在Java中,我们可以使用`Random`类生成随机数,并结合Scanner获取用户的输入来实现这个简单的剪刀石头布游戏。以下是基本的步骤:
1. 导入必要的库:
```java
import java.util.Random;
import java.util.Scanner;
```
2. 定义三个常量分别表示剪刀、石头和布:
```java
final int SCISSORS = 0;
final int STONE = 1;
final int PAPER = 2;
```
3. 创建一个playRound方法来模拟一局游戏:
```java
private int playRound() {
Random rand = new Random();
int computerChoice = rand.nextInt(3); // 生成电脑的选择
Scanner scanner = new Scanner(System.in);
System.out.println("请选择(0剪刀, 1石头, 2布):");
int playerChoice = scanner.nextInt();
if (playerChoice == computerChoice) { // 平局
return 0;
} else if ((playerChoice == SCISSORS && computerChoice == PAPER) ||
(playerChoice == STONE && computerChoice == SCISSORS) ||
(playerChoice == PAPER && computerChoice == STONE)) { // 胜利
return 1;
} else { // 失败
return -1;
}
}
```
4. 主函数开始游戏循环并计算胜场次数:
```java
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int playerWins = 0;
int computerWins = 0;
int rounds = 3;
for (int i = 0; i < rounds; i++) {
int result = playRound();
if (result > 0) {
playerWins++;
} else if (result < 0) {
computerWins++;
}
System.out.printf("第%d局:你选择-%s, 电脑选择-%s, 结果:%d\n", i + 1,
getGesture(playerChoice), getGesture(computerChoice), result);
}
if (playerWins == computerWins) {
System.out.println("平局!");
} else if (playerWins > computerWins) {
System.out.println("你赢了!");
} else {
System.out.println("电脑赢了!");
}
}
private static String getGesture(int choice) {
switch (choice) {
case SCISSORS:
return "剪刀";
case STONE:
return "石头";
case PAPER:
return "布";
default:
throw new IllegalArgumentException("Invalid choice");
}
}
```
5. 用户退出游戏时关闭扫描器。
运行这个程序,用户就可以与电脑玩剪刀石头布游戏了。每局结束后会显示结果,并累计胜场次数,直到完成三局游戏。注意,这只是一个基础版本,实际项目中可以添加更多的交互和错误处理。
阅读全文