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("程序结束!");

    }
}

results matching ""

    No results matching ""