机器人猜拳

package com.zsw666.obj;

import java.util.Random;

/**
 * @className:AiComputer
 * @description:
 * @author:Zhang Shaowen
 * @date:2023/3/2720:25
 * @version:0.1
 * @since:jdk11
 */
public class AiComputer {
    String aiName;
    int winNum;

//    public AiComputer(String aiName) {
//        this.aiName = aiName;
//    }


    public String showFist(){
        String[] fistList ={"石头","剪刀","布"};
        Random r =new Random();
        int randomNum = r.nextInt(3);
        return fistList[randomNum];
    }


}
package com.zsw666.obj;

/**
 * @className:User
 * @description:
 * @author:Zhang Shaowen
 * @date:2023/3/2720:24
 * @version:0.1
 * @since:jdk11
 */
public class User {
    String username;
    int winNum;
    int drawNum;

//    public User(String username) {
//        this.username = username;
//    }

    public String showFist(String i){
        String fist = null;
        switch (i){
            case "1":
                fist = "剪刀";
                break;
            case "2":
                fist = "石头";
                break;
            case "3":
                fist = "布";
                break;
        }
        return fist;

    }
}
package com.zsw666.obj;

import java.util.Scanner;

/**
 * @className:Game
 * @description:
 * @author:Zhang Shaowen
 * @date:2023/3/2720:28
 * @version:0.1
 * @since:jdk11
 */
public class Game {
//    int gameNum;

    public void initial() {
        User user = new User();
        AiComputer aiComputer = new AiComputer();
        System.out.println("猜拳,开始!");
        System.out.println("************");
        System.out.println();
        System.out.println();
        System.out.println("出拳规则:1.剪刀 2.石头 3.布");
        startGame(user, aiComputer);
    }

    public void startGame(User user, AiComputer aiComputer) {
        String aiFist = null;
        boolean flag = true;
        String aiName = null;
        System.out.print("请选择对方角色:(1.刘备 2.孙权 3.曹操):");
        Scanner s = new Scanner(System.in);
        aiName = s.next();
        while (true) {
            if ("1".equals(aiName) || "2".equals(aiName) || "3".equals(aiName)) {
                break;
            } else {
                System.out.print("没有此角色,请重新选择:(1.刘备 2.孙权 3.曹操):");
                aiName = s.next();
            }
        }
        switch (aiName) {
            case "1":
                System.out.println("你选择了刘备");
                aiComputer.aiName = "刘备";
                break;
            case "2":
                System.out.println("你选择了孙权");
                aiComputer.aiName = "孙权";
                break;
            case "3":
                System.out.println("你选择了曹操");
                aiComputer.aiName = "曹操";
                break;
        }
        System.out.print("请输入你的姓名:");
        user.username = s.next();
        System.out.println(user.username + "vs" + aiComputer.aiName);
        System.out.println();
        System.out.print("要开始嘛?(y/n)");
        if ("n".equals(s.next())) {
            System.out.println("系统退出");
            return;
        }
        while (flag) {
            boolean userFlag = true;
            System.out.println("请出拳:1.剪刀 2.石头 3.布(输入相应数字):");
            String i = s.next();
            while (userFlag) {
                if ("1".equals(i) || "2".equals(i) || "3".equals(i)) {
                    userFlag = false;
                    aiFist = aiComputer.showFist();
                    System.out.println("你出拳:" + user.showFist(i));
                    System.out.println(aiComputer.aiName + "出拳:" + aiFist);
                    if (user.showFist(i).equals("石头") && aiFist.equals("剪刀")) {
                        System.out.println("恭喜,你赢了");
                        user.winNum++;
                    } else if (user.showFist(i).equals("石头") && aiFist.equals("布")) {
                        System.out.println("可惜,你输了");
                        aiComputer.winNum++;
                    } else if (user.showFist(i).equals("剪刀") && aiFist.equals("布")) {
                        System.out.println("恭喜,你赢了");
                        user.winNum++;
                    } else if (user.showFist(i).equals("剪刀") && aiFist.equals("石头")) {
                        System.out.println("可惜,你输了");
                        aiComputer.winNum++;
                    } else if (user.showFist(i).equals("布") && aiFist.equals("石头")) {
                        System.out.println("恭喜,你赢了");
                        user.winNum++;
                    } else if (user.showFist(i).equals("布") && aiFist.equals("剪刀")) {
                        System.out.println("可惜,你输了");
                        aiComputer.winNum++;
                    } else if (user.showFist(i).equals(aiFist)) {
                        System.out.println("和局");
                        user.drawNum++;
                    }
                    System.out.print("是否要开始下一轮(y/n):");
                    if ("n".equals(s.next())) {
                        System.out.println("---------------------------------------");
                        flag = false;
                        System.out.println(user.username + "vs" + aiComputer.aiName);
                        System.out.println("对战次数:" + (user.winNum + user.drawNum + aiComputer.winNum));
                        System.out.println("姓名" + "\t" + "得分");
                        System.out.println(user.username + "\t" + user.winNum);
                        System.out.println(aiComputer.aiName + "\t" + aiComputer.winNum);
                        if (user.winNum > aiComputer.winNum) {
                            System.out.println("结果:恭喜恭喜");
                        } else if (user.winNum < aiComputer.winNum) {
                            System.out.println("结果:再接再厉");
                        } else {
                            System.out.println("结果:平手");
                        }
                        System.out.println("-----------------------------------");
                        System.out.println("是否开始下一局?(y/n):");
                        if ("y".equals(s.next())) {
                            initial();
                        } else {
                            System.out.println("系统退出!");
                            return;
                        }
                    }

                } else {
                    System.out.println("您的输入无效,请重新输入:1.剪刀 2.石头 3.布(输入相应数字):");
                    i = s.next();
                }
            }
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值