Java使用随机数模拟剪刀、石头、布游戏,采用五局三胜制。(do...while语句) 提示:使用Math.randorm()生成随机数。
时间: 2024-10-09 10:05:25 浏览: 53
剪刀石头布.zip易语言项目例子源码下载
在Java中,我们可以利用do...while循环以及Math.random()函数创建一个剪刀、石头、布游戏的模拟。首先,我们需要定义三个变量分别代表用户的选择(0代表剪刀,1代表石头,2代表布),电脑的选择也是通过random()函数随机生成的。
```java
import java.util.Random;
public class RockPaperScissors {
public static void main(String[] args) {
Random rand = new Random();
int userChoice, computerChoice;
int score = 0; // 初始化用户和电脑得分
do {
System.out.println("请输入您的选择(0-剪刀, 1-石头, 2-布):");
Scanner scanner = new Scanner(System.in);
userChoice = scanner.nextInt();
// 电脑随机选择
computerChoice = rand.nextInt(3);
// 打印结果
System.out.println("电脑选择了:" + getMoveName(computerChoice));
if (compareMoves(userChoice, computerChoice)) {
System.out.println("您赢了这一局!");
score++;
} else {
System.out.println("您输了这一局!");
}
// 游戏继续
} while (score < 3 && !checkWin(userChoice)); // 如果用户赢得3局或已获胜则跳出循环
if (score == 3) {
System.out.println("恭喜,您赢得了比赛!");
} else {
System.out.println("很遗憾,电脑赢得了比赛!");
}
}
private static String getMoveName(int choice) {
switch (choice) {
case 0:
return "剪刀";
case 1:
return "石头";
case 2:
return "布";
default:
return "";
}
}
private static boolean compareMoves(int user, int comp) {
if (user == comp) {
return false; // 平局
} else if ((user == 0 && comp == 2) || (user == 1 && comp == 0) || (user == 2 && comp == 1)) {
return true; // 用户赢
} else {
return false; // 电脑赢
}
}
private static boolean checkWin(int userChoice) {
for (int i = 0; i < 3; i++) {
if (compareMoves(i, userChoice)) {
return true;
}
}
return false;
}
}
```
阅读全文