java编程实现简单的猜拳游戏,游戏能学习到对手的出拳偏好,从而提高胜率
时间: 2024-02-25 21:53:52 浏览: 75
Java编程 猜拳游戏
好的,我可以为您提供一个简单的猜拳游戏的Java代码示例,并在程序中实现学习对手出拳偏好的功能。以下是示例代码:
```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();
int totalGames = 0;
int playerWins = 0;
int computerWins = 0;
// 学习对手出拳偏好的数组
int[] opponentPattern = new int[3];
while (true) {
System.out.println("请选择出拳(1-石头,2-剪刀,3-布):");
int player = scanner.nextInt();
int computer = random.nextInt(3) + 1;
// 更新对手出拳偏好
opponentPattern[computer - 1]++;
// 判断胜负
int result = (player - computer + 3) % 3;
if (result == 1) {
System.out.println("你赢了!");
playerWins++;
} else if (result == 2) {
System.out.println("你输了!");
computerWins++;
} else {
System.out.println("平局!");
}
totalGames++;
// 每5轮游戏输出对手出拳偏好
if (totalGames % 5 == 0) {
System.out.println("对手出拳偏好:石头-" + opponentPattern[0] +
",剪刀-" + opponentPattern[1] + ",布-" + opponentPattern[2]);
}
// 判断胜负情况
if (playerWins == 3) {
System.out.println("你已经连胜三局,游戏结束!");
break;
} else if (computerWins == 3) {
System.out.println("对手已经连胜三局,游戏结束!");
break;
}
}
// 输出游戏结果
System.out.println("你赢了" + playerWins + "局,对手赢了" + computerWins + "局。");
}
}
```
这个程序中,我们使用一个长度为3的数组 `opponentPattern` 来记录对手的出拳偏好,其中下标0表示石头,下标1表示剪刀,下标2表示布。每次对手出拳后,我们根据其出拳结果更新对应的数组元素。
此外,每5轮游戏结束后,程序会输出当前对手的出拳偏好,从而让玩家可以了解对手的出拳习惯,并据此调整自己的策略,提高胜率。
阅读全文