java实现人机版猜拳游戏代码
时间: 2024-10-25 20:03:32 浏览: 40
Java开发实现人机猜拳游戏
在Java中实现一个简单的猜拳游戏,通常会包含以下几个步骤:
1. 定义角色:创建三个玩家选择(石头、剪刀、布)的对象,以及计算机随机选择的功能。
```java
public enum Gesture {
ROCK, SCISSORS, PAPER;
}
```
2. 用户输入:获取用户的选择并转换成对应的枚举值。
```java
Scanner scanner = new Scanner(System.in);
System.out.println("请输入你的选择(R:Rock, S:Scissors, P:Paper):");
String userChoice = scanner.next().toUpperCase();
Gesture userGesture = userChoice.equals("R") ? Gesture.ROCK : (userChoice.equals("S") ? Gesture.SCISSORS : Gesture.PAPER);
```
3. 计算机随机选择:
```java
Random random = new Random();
Gesture computerGesture = Gesture.values()[random.nextInt(Gesture.values().length)];
```
4. 比较结果:
```java
if (userGesture == computerGesture) {
System.out.println("平局!");
} else if (compare(userGesture, computerGesture)) {
System.out.println("你赢了,电脑出了" + computerGesture);
} else {
System.out.println("你输了,电脑出了" + computerGesture);
}
private boolean compare(Gesture a, Gesture b) {
switch (a) {
case ROCK:
return b != Gesture.ROCK && b != Gesture.PAPER;
case SCISSORS:
return b != Gesture.SCISSORS && b != Gesture.ROCK;
case PAPER:
return b != Gesture.PAPER && b != Gesture.SCISSORS;
}
return false; // 防止意外情况
}
```
5. 游戏循环(如需要多次玩):
```java
while (playAgain()) {
// 重复以上步骤
}
```
6. 结束游戏询问:
```java
boolean playAgain() {
System.out.println("你想再玩一次吗?(y/n)");
String response = scanner.next().toLowerCase();
return response.equals("y");
}
```
完整的例子可以在控制台环境下运行,或者封装到图形用户界面中。这是基础版本的代码框架,你可以根据需求添加错误处理和更多的交互元素。
阅读全文