房上的猫:人机猜拳项目

1.首先定义成员变量:

    int select1;// 人 选择
    int select2;// 角色 选择
    String choice1;// 人 选择结果
    String choice2;// 机 选择结果
    String choiceMan;// 角色 选择结果
    boolean a1;// 人 循环开关
    boolean a2;// 角色 循环开关
    int random = (int) (Math.random() * 3);// 机 随机数选择

2.定义起始页方法:

public void Copy() {// 起始页
        System.out.println("--------------------欢迎进入游戏世界------------------");
        System.out.println("\n\n");
        System.out.println("\t\t***************");
        System.out.println("\t\t**c猜拳,开始**");
        System.out.println("\t\t***************");
        System.out.println("\n\n");
        System.out.println("出拳规则:1.剪刀\t2.石头\t3.布");
    }

3.定义人的选择方法:

public void Man() {// 人
        Scanner input = new Scanner(System.in);
        do {
            System.out.print("\n请出拳:1.剪刀 2.石头 3.布(输入相应数字):");
            select1 = input.nextInt();
            a1 = false;
            switch (select1) {
            case 1:
                choice1 = "剪子";
                break;
            case 2:
                choice1 = "石头";
                break;
            case 3:
                choice1 = "布";
                break;
            default:
                System.out.println("请做出正确选择!");
                a1 = true;
                break;
            }
        } while (a1 == true);
    }

4.定义角色选择方法:

public void Choice() {// 角色
        Scanner input = new Scanner(System.in);
        do {
            System.out.print("请选择对方的角色(1.刘备 2.孙权 3.曹操):");
            select2 = input.nextInt();
            a2 = false;
            switch (select2) {
            case 1:
                choiceMan = "刘备";
                break;
            case 2:
                choiceMan = "孙权";
                break;
            case 3:
                choiceMan = "曹操";
                break;
            default:
                System.out.println("请做出正确选择!");
                a2 = true;
                break;
            }
        } while (a2 == true);
    }

5.定义随机数产生的出拳方法:

    public void Machine() {// 机
        if (random == 0.0) {
            random = 3;
        }
        switch (random) {
        case 1:
            choice2 = "剪子";
            break;
        case 2:
            choice2 = "石头";
            break;
        case 3:
            choice2 = "布";
            break;
        }
    }

6.最后使用main方法将各方法拼接起来:

public static void main(String[] args) {// 执行主页
        Second_Sheet bdqn = new Second_Sheet();
        Scanner input = new Scanner(System.in);
        String choice0 = null;
        int bout = 0;
        int bout1 = 0;
        int bout2 = 0;
        int bout3 = 0;
        bdqn.Copy();
        System.out.print("请输入你的姓名:");
        String name = input.next();
        bdqn.Choice();
        System.out.println(bdqn.choiceMan + " VS " + name + "\t对战\n");
        System.out.print("要开始吗?(开始按y)");
        do {
            choice0 = input.next();
            if (choice0.equals("y")) {
                bdqn.Man();
                System.out.println("你出拳:" + bdqn.choice1);
                bdqn.Machine();
                System.out.println(bdqn.choiceMan + "出拳:" + bdqn.choice2);
                System.out.println("结果说:");
                if (bdqn.select1 == bdqn.random) {
                    System.out.println("和局,真衰!嘿嘿,等着瞧吧!\n");
                    bout3++;
                } else if ((bdqn.select1 == 1 && bdqn.random == 3)
                        || (bdqn.select1 == 2 && bdqn.random == 1)
                        || (bdqn.select1 == 3 && bdqn.random == 2)) {
                    System.out.println("恭喜,你赢了!\n");
                    bout1++;
                } else {
                    System.out.println("^_^,你输了,真笨!\n");
                    bout2++;
                }
                System.out.print("是否开始下一轮?(开始按y):");
                bout++;
            } else {
                break;
            }
        } while (choice0.equals("y"));
        double result = (double) (bout1 / bout);
        System.out.println("-------------------------");
        System.out.println(bdqn.choiceMan + " VS " + name);
        System.out.println("对战次数:" + bout);
        System.out.print("结果:");
        System.out.println(name + "胜利:" + bout1);
        System.out.println(bdqn.choiceMan + "胜利:" + bout2);
        System.out.println("和局:" + bout3);
        if (result > 0.5) {
            System.out.println("恭喜恭喜!");
        } else if (result < 0.5) {
            System.out.println("呵呵,笨笨,下次加油啊!");
        } else {
            System.out.println("不错哦!");
        }
        System.out.println("-------------------------");
    }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据结构与算法

2728 整数帝国问题

2728 整数帝国问题 时间限制: 1 s 空间限制: 16000 KB 题目等级 : 白银 Silver 题目描述 Description   ...

2976
来自专栏小樱的经验随笔

洛谷 P1598 垂直柱状图【字符串+模拟】

P1598 垂直柱状图 题目描述 写一个程序从输入文件中去读取四行大写字母(全都是大写的,每行不超过72个字符),然后用柱状图输出每个字符在输入文件中出现的次数...

3015
来自专栏菩提树下的杨过

Flash/Flex学习笔记(55):背面剔除与 3D 灯光

Animation in ActionScript3.0 这本书总算快学完了,今天继续:上一回Flash/Flex学习笔记(50):3D线条与填充 里,我们知道...

2388
来自专栏GreenLeaves

C# String.Format的格式限定符与Format方法将多个对象格式化一个字符串原理

Format方法将多个对象格式化成一个字符串Format方法解析格式字符串的原理:

882
来自专栏机器学习入门

挑战程序竞赛系列(86):3.6极限情况(3)

挑战程序竞赛系列(86):3.6极限情况(3) 传送门:AOJ 2201: Immortal Jewels 翻译参考至hankcs: http://www....

20810
来自专栏SeanCheney的专栏

《Pandas Cookbook》第07章 分组聚合、过滤、转换1. 定义聚合2. 用多个列和函数进行分组和聚合3. 分组后去除多级索引4. 自定义聚合函数5. 用 *args 和 **kwargs

第01章 Pandas基础 第02章 DataFrame运算 第03章 数据分析入门 第04章 选取数据子集 第05章 布尔索引 第06章 索引对齐 ...

2362
来自专栏数据之美

Python Tips, Tricks, and Hacks

一、快速技巧 1.1、4 种引号 '  '''  "  """  print """I wish that I'd never heard him say...

2625
来自专栏数据结构与算法

洛谷P3763 [TJOI2017]DNA(后缀数组 RMQ)

具体来说,每次比较当前后缀和\(S_0\)的lcp,如果长度\(< N\)的话就从不合法的位置继续匹配

941
来自专栏wym

2013年多校赛 hdu4607

   那么就考虑树上最长距离,树的直径, 如果访问的点大于树的直径就要走回头路,答案即多的数乘2加上原来树的直径

1175
来自专栏移动开发面面观

基于OpenGLES的Android相机预览

随着AR效果越来越普及,摄像头在Android中的应用越来越重要。通常摄像头的预览方案,通常使用SurfaceView的方案。

931

扫码关注云+社区