java实现石头剪刀布
时间: 2024-09-29 14:10:14 浏览: 35
在Java中,你可以创建一个简单的命令行游戏来实现石头、剪刀、布(Rock, Paper, Scissors)游戏。以下是基本的步骤和代码示例:
```java
import java.util.Random;
import java.util.Scanner;
public class RockPaperScissors {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Random random = new Random();
System.out.println("欢迎来到石头、剪刀、布游戏!请输入你的选择:(r)ock, (p)aper, (s)cissors");
// 获取玩家的选择
String userChoice = scanner.next().toLowerCase();
int playerScore = 0;
for (int i = 0; i < 5; i++) { // 设定游戏轮次
String computerChoice = decideComputerMove(random); // 计算机随机选择
System.out.printf("你出的是:%s, 电脑出的是:%s\n", userChoice, computerChoice);
// 判断胜负
switch (evaluateResult(userChoice, computerChoice)) {
case 0: // 平局
System.out.println("平局!");
break;
case 1: // 玩家赢
System.out.println("恭喜你,你赢了!当前分数:" + playerScore);
playerScore++;
break;
case 2: // 电脑赢
System.out.println("哎呀,电脑赢了!当前分数:" + playerScore);
break;
}
}
System.out.println("游戏结束,你的最终得分是:" + playerScore);
}
// 计算机随机选择
private static String decideComputerMove(Random random) {
int move = random.nextInt(3) + 1; // 1 for rock, 2 for paper, 3 for scissors
switch (move) {
case 1: return "rock";
case 2: return "paper";
default: return "scissors";
}
}
// 判断结果
private static int evaluateResult(String userChoice, String computerChoice) {
int result = 0;
switch (computerChoice) {
case "rock":
result = userChoice.equals("scissors") ? 1 : (userChoice.equals("paper") ? 2 : 0);
break;
case "paper":
result = userChoice.equals("rock") ? 1 : (userChoice.equals("scissors") ? 2 : 0);
break;
case "scissors":
result = userChoice.equals("paper") ? 1 : (userChoice.equals("rock") ? 2 : 0);
break;
}
return result;
}
}
```
在这个程序中,玩家输入他们的选择,计算机则随机选择,然后根据规则判断胜负。游戏共进行五轮。每轮结束后,显示结果并更新得分。
阅读全文