5.1:猜拳游戏
输入不合法之一:
输入不合法之二:
输入
不合法之三:
程序正常情况一。
程序正常情况二:
程序正常情况三:
猜拳游戏代码:
import java.util.Random;
import java.util.Scanner;
/**
* 1、石头;2、剪刀;3、布
*
* 石头剪刀布
*
* @author linhuaming
*
*/
public class Games {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("欢迎来到石头剪刀布游戏世界!");
System.out.println("请认真阅读以下注意事项:");
System.out.println("* 每局游戏需要一个游戏币!");
System.out.println("* 游戏开始,系统将随机派出一名英雄出站。");
System.out.println("* 玩家通过控制台输入 1(石头)、2(剪刀)、3(布) 与系统英雄对战。");
System.out.println("* 玩家出拳的同时,系统英雄随即随机出拳。");
System.out.println("* 根据《石头剪刀布游戏》规则,胜利者得1分。");
System.out.println("* 最终比赛结束会展示比赛战绩!");
System.out.println("* 如果玩家胜利,则奖励(胜利局数*2)个游戏币!");
System.out.println("* !!!同意以上规则请在控制台输入 1,输入任意字符退出!!!");
boolean isInt = sc.hasNextInt();
if (isInt && sc.nextInt() == 1) {
Random random = new Random();// 随机数工具
String systemName = "";// 系统名字
int youWin = 0;// 你胜利次数
int systemWin = 0;// 系统胜利次数
int deuce = 0;// 平局次数
A: while (true) {
System.out.println("\n请投币(输入1):(输入任意字符结束!!!)");
isInt = sc.hasNextInt();
if (isInt && sc.nextInt() == 1) {
// 注:random.nextInt(3)随机三个整数,默认从0开始
int n = random.nextInt(3);//随机 0-2 一个数
systemName = n == 0 ? "张飞" : n == 1 ? "吕布" : "貂蝉";//从 张飞 吕布 貂蝉中选一个
System.out.println("系统玩家:" + systemName + " 出战!");
int youI = 1;
while (true) {
System.out.println("请出拳:1(石头)、2(剪刀)、3(布)(请输入相应的数字,输入0结束比赛)");
boolean hasInt = sc.hasNextInt();// 判断输入的是否是int类型
if (!hasInt) {
sc.next();// 输入的不是int类型,则取出字符串(虽然不使用该字符串,但是必须取出,否则下一次判断会一直使用还没被取出来的内容判断)
System.out.println("输入非法,请重新输入");
continue;
}
youI = sc.nextInt();// 取出int值
if (youI < 0 || youI > 3) {
System.out.println("输入有误,请重新输入!");
continue;
}
if (youI == 0)
break A;
break;
}
int systemI = random.nextInt(3) + 1;// 系统出拳
String youtQuan = youI == 1 ? "石头" : (youI == 2 ? "剪刀" : "布");
System.out.println("你出拳:" + youtQuan);
String systemQuan = systemI == 1 ? "石头" : (systemI == 2 ? "剪刀" : "布");
System.out.println(systemName + "出拳:" + systemQuan);
if (youI > systemI) {
if (youI - systemI == 1) {
System.out.println("比赛结果:" + systemName + "赢了");
systemWin++;
} else {
System.out.println("比赛结果:你赢了");
youWin++;
}
} else if (youI < systemI) {
if (systemI - youI == 1) {
System.out.println("比赛结果:你赢了");
youWin++;
} else {
System.out.println("比赛结果:" + systemName + "赢了");
systemWin++;
}
} else {
System.out.println("比赛结果:平局");
deuce++;
}
} else {
break;
}
}
if(systemWin+youWin+deuce>0){
System.out.println("*******************************");
System.out.println(systemName + "胜利:" + systemWin + "局;");
System.out.println("你胜利:" + youWin + "局;");
System.out.println("平局:" + deuce + "局;");
if (systemWin > youWin) {
System.out.println("最终比赛结果:" + systemName + "胜!");
} else if (systemWin < youWin) {
System.out.println("最终比赛结果:你胜!");
System.out.println("奖励:" + youWin * 2 + "个游戏币!");
} else {
System.out.println("最终比赛结果:打平手!");
}
System.out.println("*******************************");
}
}
System.out.println("程序结束!");
}
}