用java实现程序随机产生20—50根火柴,由人与计算机轮流拿,每次拿的数量不超过3根,拿到最后一根为胜。
时间: 2024-01-01 18:03:47 浏览: 140
用JAVA设计的火柴游戏
4星 · 用户满意度95%
好的,这是一个经典的游戏问题,我们可以用Java编写一个简单的控制台程序来实现它。以下是代码实现:
```java
import java.util.Scanner;
import java.util.Random;
public class MatchstickGame {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Random random = new Random();
int matches = random.nextInt(31) + 20; // 随机生成20到50之间的火柴数量
int userMatches, computerMatches;
System.out.println("火柴数量为:" + matches);
while (matches > 0) {
// 人拿火柴
do {
System.out.print("请您输入拿火柴的数量(1-3):");
userMatches = input.nextInt();
} while (userMatches <= 0 || userMatches > 3 || userMatches > matches);
matches -= userMatches;
System.out.println("您拿了 " + userMatches + " 根火柴,还剩 " + matches + " 根火柴");
if (matches <= 0) {
System.out.println("恭喜您获胜!");
break;
}
// 电脑拿火柴
computerMatches = matches % 4; // 计算电脑拿多少根火柴
if (computerMatches == 0) {
computerMatches = random.nextInt(3) + 1;
}
matches -= computerMatches;
System.out.println("电脑拿了 " + computerMatches + " 根火柴,还剩 " + matches + " 根火柴");
if (matches <= 0) {
System.out.println("很遗憾,电脑获胜!");
break;
}
}
input.close();
}
}
```
运行程序后,会随机生成20到50之间的火柴数量,并提示玩家输入拿火柴的数量(1-3),然后计算机随机拿火柴,直到火柴数量为0。最后输出胜利者的信息。
注意:这个程序只是一个简单的实现,还有很多可以优化的地方,比如可以加入更多的交互方式,让游戏更加有趣。
阅读全文