public class test {
private final static Map<Integer, String> character = new HashMap<>();
private final static Scanner scanner = new Scanner(System.in);
private final static Random random = new Random();
public static void main(String[] args) {
//将石头剪刀布存入HashMap中,为其设置编号
character.put(1, "石头");
character.put(2, "剪刀");
character.put(3, "布");
//死循环让游戏多次进行
while (true) {
//y为随机的选择
int y = random.nextInt(3) + 1;
System.out.println("请输入1:石头 2.剪刀 3.布");
//i为玩家的选择
int i = scanner.nextInt();
//输出随机选择,判断结果是否正确
System.out.println("对方为:" + character.get(y));
//上方代码获取玩家的选择,以及生成的选择,下面为逻辑
System.out.println(i == y ? "平局" : (++i > 3 ? 1 : i) == y ? "胜利" : "失败");
}
}
}
真正用到的逻辑仅有一行
System.out.println(i == y ? "平局" : (++i > 3 ? 1 : i) == y ? "胜利" : "失败");