当前位置: 首页 > article >正文

java.人机猜拳游戏

人机猜拳,这里我们定义输入0是剪刀,1是石头,2是布。电脑的数字为随机产生,可以用Random。 采用三局制。三局中每一小局中都有输出显示小局的获胜方三局比赛结束后,若电脑获胜次数等于玩家,则输出:平局,比赛结束;若电脑获胜次数大于玩家,则输出:电脑获胜,游戏结束 若电脑获胜次数小于玩家,则输出:玩家获胜,游戏结束

import java.util.Scanner;
import java.util.Random;
public class 作业选择循环练习 {

    private static String Check(int x, int ComputerRandoms) {
        if (x == ComputerRandoms) {
            return "平局";
        } else if ((x == 0 && ComputerRandoms == 2) ||
                (x == 1 && ComputerRandoms == 0) ||
                (x == 2 && ComputerRandoms == 1)) {
            return "玩家获胜";
        } else {
            return "电脑获胜";
        }
    }

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);//用户输入
        Random random = new Random();//电脑随机产生数字

        int playerwin = 0;
        int computerwin = 0;

        for (int i = 0; i < 3; i++) {
            int x;//玩家输入
            System.out.println("请输入0:剪刀,1:石头,2:布");
            x = sc.nextInt();

            //验证玩家的输入
            if (x < 0 || x > 2) {
                System.out.println("请重新输入");
                continue;//如果重新输入错误,玩家将重新进行这一局
            }

            int ComputerRandom = random.nextInt(3);//电脑产生随机数
            //需要输出电脑输出的结果
            System.out.println("你的结果是:" + sc(x) + ",电脑的结果是:" + sc(ComputerRandom));

            String result = Check(x, ComputerRandom);//调用方法看看这一局的胜负

            System.out.println("这一句结果" + result);

            //更新获胜次数
            if (result == "玩家获胜") {
                playerwin++;
            } else if (result == "电脑获胜") {
                computerwin++;
            }
        }
        //判断最后的结果并且输出
        if (playerwin > computerwin) {
            System.out.println("玩家获胜");
        } else if (playerwin < computerwin) {
            System.out.println("电脑获胜");
        } else {
            System.out.println("平局");
        }
        sc.close();
    }

    private static String sc(int chice)
    {
        switch(chice){
            case 0:
                return "剪刀";
            case 1:
                return "石头";
            case 2:
                return "布";
            default:
                return "未知";
        }
    }
}


http://www.kler.cn/a/307561.html

相关文章:

  • C++模板特化实战:在使用开源库boost::geometry::index::rtree时,用特化来让其支持自己的数据类型
  • [前端]NodeJS常见面试题目
  • MacOS 本地生成SSH key并关联Github
  • 万字长文分析函数式编程
  • C# 委托与匿名方法
  • 【计算机网络】Socket编程接口
  • JVM 性能优化与调优-Shenandoah GC
  • [K8S]Forbidden: pod updates may not change fields other than
  • 【Linux】NAT
  • 医学数据分析实训 项目三 关联规则分析预备项目---购物车分析
  • Django——多apps目录情况下的app注册
  • 在Ubuntu 16.04上安装R的方法
  • 题目:单调栈
  • SpringBoot用kafka.listener监听接受Kafka消息
  • 基于SpringBoot+Vue+MySQL的美术馆管理系统
  • 基于MySQL 8.0.39的高性能优化版将于10月份开源
  • 15. 三数之和(实际是双指针类型的题目)
  • 记一次实战中对fastjson waf的绕过
  • Python Pickle 与 JSON 序列化详解:存储、反序列化与对比
  • 管家婆云辉煌手机端怎么连接蓝牙打印机?
  • [C++]spdlog学习
  • ubuntu安装mysql 8.0忘记root初始密码,如何重新修改密码
  • 157-安全开发-Python 自动化挖掘项目SRC 目标FOFA 资产Web 爬虫解析库
  • Spring Boot-定时任务问题
  • 兴趣推送与相似推送逻辑设计
  • 第T1周:Tensorflow实现mnist手写数字识别