java模拟猜拳游戏,循环输入两个玩家的手型,判断输赢后输出并退出循环。要求断言输入的数据为0、1、2,否则输出异常。
时间: 2024-09-30 09:07:35 浏览: 45
创建一个基于java的猜拳小游戏.zip
在Java中,我们可以模拟一个简单的猜拳游戏,如石头剪刀布。以下是创建这个程序的一个基本步骤:
```java
import java.util.Scanner;
public class RockPaperScissors {
public static final int ROCK = 0;
public static final int PAPER = 1;
public static final int SCISSORS = 2;
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
while (true) {
System.out.println("请输入玩家一的手型(0 - 石头, 1 - 剪刀, 2 - 布):");
int playerOneChoice = input.nextInt();
// 断言数据有效性
assert playerOneChoice == ROCK || playerOneChoice == PAPER || playerOneChoice == SCISSORS : "非法输入! 只能选择0, 1, 或者 2.";
System.out.println("请输入玩家二的手型(同样规则):");
int playerTwoChoice = input.nextInt();
// 同样的断言检查
if (playerOneChoice > playerTwoChoice) {
System.out.println("玩家一获胜!");
} else if (playerOneChoice < playerTwoChoice) {
System.out.println("玩家二获胜!");
} else {
System.out.println("平局!");
}
System.out.println("是否继续玩?(y/n)");
String continueChoice = input.next();
if (!continueChoice.equalsIgnoreCase("y")) {
break; // 如果玩家不想再玩,则退出循环
}
}
input.close(); // 关闭扫描器
System.out.println("游戏结束!");
}
}
```
在这个程序中,玩家可以不断输入手型,直到他们选择不继续为止。如果输入的数据不符合规定,程序会抛出`AssertionError`异常。
阅读全文