Java程序题:要求编写一个剪刀石头布游戏的程序。程序启动后会随机生成1~3的随机数,分别代表剪刀、石头、布,玩家通过键盘输入剪刀、石头、和布与电脑进行5轮游戏,赢的次数多的一方为赢家。若五轮全部为平局,则最终判定结果为平局
时间: 2024-09-06 07:02:53 浏览: 49
剪刀石头布:剪刀石头布游戏!
为了编写一个剪刀石头布游戏的Java程序,我们可以按照以下步骤进行:
1. 导入必要的库并创建主类。
2. 定义一个函数来获取用户输入,验证输入是否合法(剪刀、石头或布)。
3. 定义一个函数生成计算机随机选择。
4. 主循环,进行5轮游戏,比较用户和电脑的选择,并记录胜负。
5. 最后判断游戏结果。
下面是一个简化的示例代码:
```java
import java.util.Scanner;
import java.util.Random;
class GameResult {
private int userWins, tie;
public GameResult() {
this.userWins = 0;
this.tie = 0;
}
// 添加更多方法来计算结果...
}
public class RockPaperScissors {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Random rand = new Random();
GameResult result = new GameResult();
for (int i = 1; i <= 5; i++) {
System.out.printf("Round %d:\n", i);
System.out.println("Choose (1 for Rock, 2 for Paper, 3 for Scissors):");
int userInput = scanner.nextInt();
if (isValidChoice(userInput)) {
int computerChoice = rand.nextInt(3) + 1;
System.out.println("Computer chooses: " + getMoveDescription(computerChoice));
if (compare(userInput, computerChoice)) {
result.userWins++;
} else if (userInput == computerChoice) {
result.tie++;
}
} else {
System.out.println("Invalid input! Please try again.");
continue;
}
}
if (result.userWins > result.tie) {
System.out.println("Player wins!");
} else if (result.userWins < result.tie) {
System.out.println("Computer wins!");
} else {
System.out.println("It's a tie!");
}
}
// 其他辅助函数...
private static boolean isValidChoice(int choice) {
return choice >= 1 && choice <= 3;
}
private static String getMoveDescription(int move) {
switch (move) {
case 1: return "Rock";
case 2: return "Paper";
case 3: return "Scissors";
default: return "Invalid move!";
}
}
private static boolean compare(int user, int comp) {
// 假设剪刀胜石头,石头胜布,布胜剪刀
return (user == 1 && comp != 2) || (user == 2 && comp != 3) || (user == 3 && comp != 1);
}
}
//
阅读全文