java石头剪刀布优化
时间: 2024-10-09 20:06:42 浏览: 39
PiedraPapelTijera:玩
在Java中,优化"石头、剪刀、布"游戏的一个常见做法是使用枚举(Enum)来替代传统的if-else条件判断,提高代码的清晰性和可维护性。以下是基本的优化步骤:
1. 定义一个`Game`枚举,包含三种选项:`STONE`, `SCISSORS`, 和 `PAPER`。
```java
public enum Game {
STONE, SCISSORS, PAPER
}
```
2. 创建三个静态方法,分别代表每种操作对其他两种的胜出结果,例如:`stoneWins(scissors)`, `scissorsWins(paper)`, 等等。
```java
public static Game stoneWins(Game other) {
return (other == Game.SCISSORS ? Game.PAPER : Game.STONE);
}
// 其他两个类似,这里省略
```
3. 游戏主循环中,接受用户输入并转换为`Game`枚举值,然后根据规则计算结果。
```java
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入你的选择 (S - 石头, P - 剪刀, R - 纸):");
String input = scanner.nextLine().toUpperCase();
Game userChoice = input.equals("S") ? Game.STONE : input.equals("P") ? Game.PAPER : Game.SCISSORS;
Game computerChoice = ... // 随机生成电脑的选择
Game result = userChoice == computerChoice ? Game.DRAW : userChoice == stoneWins(computerChoice) ? userChoice : computerChoice;
System.out.println("你选择了 " + userChoice + ", 电脑选择了 " + computerChoice + ". 结果是: " + result);
}
```
通过这种方式,代码更简洁,并且可以轻松添加新的游戏规则或扩展到更多的选项。
阅读全文