人机猜拳

Posted 炽热的火

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了人机猜拳相关的知识,希望对你有一定的参考价值。

package renji;

import java.util.Scanner;

public class renji {
    String nae = "";// 对手的名字
    String name = "";// 我的名字
    int cS = 1; // 累计的次数
    int score = 0; // 我赢的次数
    int scoRe = 0;// 对手赢得次数
    Scanner input = new Scanner(System.in);

    // 第一个页面
    public void fot() {
        System.out.println("----------欢迎进入游戏世界----------");
        System.out.println("\n\t\t********************");
        System.out.println("\t\t猜拳,开始");
        System.out.println("\t\t********************");
    }

    // 游戏开始并选择
    public void ny() {
        System.out.println("出拳规:1.剪刀2.石头3.布");
        System.out.print("请选择对方角色:1.刘备2.孙权3.曹操");
        int sum = input.nextInt();
        if (sum > 0 && sum < 4) {// 选定角色并给角色一个值
            switch (sum) {
            case 1:
                nae = "刘备";
                break;
            case 2:
                nae = "孙权";
                break;
            case 3:
                nae = "曹操";
                break;
            }
        } else {
            System.out.println("没有这个人。");
        }
        System.out.print("输入你的名字");
        name = input.next();// 输入我的角色值
        System.out.println(nae + "vs" + name);
        System.out.println("要开始吗?(y/任意键)");
        String yn = input.next();
        if (yn.equals("y")) {// "y"代表跳到某个位置
            ks();
        } else {
            System.out.println("游戏结束");
        }
    }

    // 猜拳
    public void ks() {
        String ynn = "";
        do {
            cS++;
            int suM;
            String wF = ""; // 我方的值
            String dF = ""; // 敌方的值
            System.out.println("请出拳:1.剪刀2.石头3.布(输入相应数字)");
            suM = input.nextInt();
            if (suM > 0 && suM < 4) {
                switch (suM) {
                case 1:
                    wF = "剪刀";
                    break;
                case 2:
                    wF = "石头";
                    break;
                case 3:
                    wF = "布";
                    break;
                default:
                    break;
                }
            } else {
                System.out.println("(输入相应数字)");
                continue;
            }
            int suW = (int) (Math.random() * 10 / 3 + 1);// 随机数
                                                            // 为什么要加+1因为0/3也是0所以加1
            switch (suW) {
            case 1:
                dF = "剪刀";
                break;
            case 2:
                dF = "石头";
                break;
            case 3:
                dF = "布";
                break;
            default:
                dF = "布";
                break;
            }
            System.out.println("你出拳:" + wF); // 把我方的值带进去
            System.out.println(nae + " : " + dF);// 把敌方的值带进去
            if ((suM == 1 && suW == 1) || (suM == 2 && suW == 2)
                    || (suM == 3 && suW == 3)) {
                System.out.println("结果:平手下次再来");
            } else if ((suM == 1 && suW == 3) || (suM == 2 && suW == 1)
                    || (suM == 3 && suW == 2)) {
                System.out.println("结果:恭喜你赢了");
                score++;// 加我方赢得次数
            } else {
                System.out.println("结果:拜托你输了");
                scoRe++;// 加敌方赢得次数
            }
            System.out.println("要开始吗?(y/任意键)");
            ynn = input.next();
        } while (ynn.equals("y"));// 因为是循环结构 所以一直循环知道符合条件
        Jie();// 跳到下一个界面
    }

    // 结束 结果
    public void Jie() {
        System.out.println(nae + "vs" + name);
        System.out.println("对战次数" + cS);
        System.out.println("姓名\t得分");
        System.out.println(nae + "\t" + score);
        System.out.println(name + "\t" + scoRe);
        if (score < scoRe) {// 敌我对比
            System.out.println("你赢了");
        } else if (score > scoRe) {
            System.out.println("你输了");
        } else {
            System.out.println("平局");
        }
    }

}

帮类的输入到页面

package renji;

public class zhuji {


    public static void main(String[] args) {
        renji re=new renji();
        re.fot();
        re.ny();
    }

}

 

以上是关于人机猜拳的主要内容,如果未能解决你的问题,请参考以下文章

shell案例分享之猜拳人机大战!

1.人机猜拳

java人机猜拳游戏002user

人机猜拳

人机猜拳

《人机猜拳》