题目:完成一个猜拳的小游戏。
由系统随机一个数(0表示石头1表示剪刀2表示布),然后用户输入一个数(0表示石头1表示剪刀2表示布)。输出得出谁赢、谁输,还是平局。
输出的时候要输出“石头”、“剪刀”、“布”,不要输出0、1、2
可以写在一个循环里面。输入y表示还想玩,n表示退出游戏。结束之后要输出赢了多少次、输了多少次、平局多少次、记录游戏时长。
public static void four() {
//获取游戏开始时间
long start = System.currentTimeMillis();
//构建二维数组枚举出用户胜负和平局
String[][] winOrLose = {{"平局", "用户胜", "用户败"},
{"用户败", "平局", "用户胜"},
{"用户胜", "用户败", "平局"}};
int[] os = {0, 1, 2};
String[] userGuess = {"石头", "剪刀", "布"};
String[] osGuess = {"石头", "剪刀", "布"};
//定义变量分别记录平局次数,用户胜和败多少次
int draw = 0, userWin = 0, userLose = 0;
//定义随机函数
Random random = new Random();
//创建键盘输入对象
Scanner scanner = new Scanner(System.in);
System.out.println("开猜拳游戏。。。。。。。。。。");
//猜拳游戏
do {
System.out.println("请出拳:0[石头] 1[剪刀] 2[布]");
int userInput = scanner.nextInt();//用户出拳
int osInput = os[random.nextInt(os.length)];//系统出拳
//根据系统和用户出拳作为二维数组下标去二维数组里获取结果
String result = winOrLose[userInput][osInput];
if (result.equals("平局")) draw++;
else if (result.equals("用户胜")) userWin++;
else if (result.equals("用户败")) userLose++;
System.out.println("本次游戏结束");
System.out.println("用户出: " + userGuess[userInput] + " 系统出 : " + osGuess[osInput]);
System.out.println("输入[y]继续游戏,输入[n]退出游戏");
String val = scanner.next();
if (val.equals("n"))break;
}while (true);
System.out.println("本次游戏浪费了你 " + (System.currentTimeMillis() - start)/1000 + " 秒");
System.out.println("平局:" + draw);
System.out.println("用户胜:" + userWin);
System.out.println("用户败:" + userLose);
System.out.println("系统胜:" + userLose);
System.out.println("系统败:" + userWin);
}