房上的猫:人机猜拳项目

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 条评论
登录 后参与评论

相关文章

来自专栏DOTNET

【翻译】MongoDB指南/引言

【原文地址】https://docs.mongodb.com/manual/ 引言 MongoDB是一种开源文档型数据库,它具有高性能,高可用性,自动扩展性 1...

2036
来自专栏一名合格java开发的自我修养

MapReduce中一次reduce方法的调用中key的值不断变化分析及源码解析

摘要:mapreduce中执行reduce(KEYIN key, Iterable<VALUEIN> values, Context context),调用一...

643
来自专栏微信公众号:Java团长

深入理解Java I/O系列二:字节流详解

JAVA程序通过流来完成输入/输出。流是生产或消费信息的抽象,流通过JAVA的输入输出与物理设备链接,尽管与它们链接的物理设备不尽相同,所有流的行为具有相同的方...

632
来自专栏闻道于事

Java I/O流输入输出,序列化,NIO,NIO.2

1103
来自专栏猛牛哥的博客

aardio在外部进程执行汇编代码时传入自定义参数的方法

1594
来自专栏Java Edge

开发人员必备Redis知识点基础命令键命令string命令hash结构listset结构sorted set

2736
来自专栏达摩兵的技术空间

0319代码练习

rows 是数据,metaData 是对数据的说明。现写一个函数 parseData,将上面的对象转化为期望的数组:

611
来自专栏程序员宝库

JDK 源码中的一些“小技巧”

均摘选自JDK源码 1 i++ vs i-- String源码的第985行,equals方法中: while (n--!= 0) { if...

3325
来自专栏有趣的django

python开发面试问题

python语法以及其他基础部分 可变与不可变类型;  浅拷贝与深拷贝的实现方式、区别;deepcopy如果你来设计,如何实现;  __new__() 与 __...

4078
来自专栏用户2442861的专栏

[疯狂Java]JDBC:PreparedStatement预编译执行SQL语句

    1) SQL语句和编程语言一样,仅仅就会普通的文本字符串,首先数据库引擎无法识别这种文本字符串,而底层的CPU更不理解这些文本字符串(只懂二进制机器指...

92

扫描关注云+社区