java实现简单石头剪刀布小游戏

作者:凉皮! 时间:2021-09-17 07:25:41 

简介

石头剪刀布游戏,进入游戏后,玩家需要输入玩家姓名。系统界面之后弹出欢迎界面,玩家可以选择出拳或者退出游戏。玩家选择出拳后同电脑出拳比较,输出猜拳结果。最后退出游戏后显示排行榜,输出总局数,胜率。

分析

通过while循环死循环模拟不断进行游戏,当用户输入0时break跳出while循环。

通过Random产生随机数模拟AI出拳

定义了一个choose方法,将用户输入和AI随机生成的数,转换成剪刀、石头和布。

判断输赢逻辑:

1:石头 2:剪刀 3:布

变量userChoose中存储的是用户的出拳
变量ai中存储的是电脑的出拳

当userChoose - ai 等于-1或2时,用户赢
当userChoose - ai 等于0时,平局
当userChoose - ai 等于1或-2时,电脑赢

源代码

public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        Random r = new Random();
        int count = 0;    // 总局数
        int win = 0;    // 获胜局数
        int result = 0;    // 结果
        int ai = 0;    // 电脑出拳
        System.out.print("请输入姓名:");
        String name = sc.nextLine();
        while(flag) {
            System.out.println("************************************************");
            System.out.println("欢迎"+ name + "进入猜拳游戏");
            System.out.println("1.石头     2.剪刀     3.布     0.退出");
            System.out.println("************************************************");
            System.out.print("请输入数字:");
            int userChoose = sc.nextInt();    // 玩家选择
            if (userChoose == 0) {    // 游戏结束
                break;
            }
            // AI出拳
            ai = r.nextInt(3)+1;
            // 输出玩家和电脑的出拳
            System.out.println("你的出拳是:" + choose(userChoose));
            System.out.println("电脑出拳是:" + choose(ai));
            // 判断输赢
            switch(userChoose - ai) {
                case -1:    // 赢
                case 2:
                    System.out.println("你赢了! ╭(╯^╰)╮");
                    win++;    // 用户赢,赢场计数器自增1
                    count++;    // 局数计数器自增1
                    break;
                case 0:    // 平局
                    System.out.println("平局,再来一局~~~~~o(* ̄︶ ̄*)o");
                    count++;
                    break;
                case 1:    // 输
                case -2:
                    System.out.println("你输了! O(∩_∩)O哈哈~");
                    count++;
                    break;
            }
            System.out.println("\n");
        }
        System.out.println();
        System.out.println("\t\t\t\t排行榜");
        System.out.println("************************************************");
        System.out.println("姓名\t\t总局数\t\t赢场\t\t胜率");
        System.out.println(name + "\t\t" + count + "\t\t\t" + win + "\t\t\t" + String.format("%.2f", (win*1.0/count)*100) + "%");
    }

    // 返回出拳
    public static String choose(int choose) {
        switch(choose) {
            case 1:
                return "石头";
            case 2:
                return "剪刀";
            case 3:
                return "布";
        }
        return "";
}

游戏截图

进入游戏输入姓名,显示菜单:

java实现简单石头剪刀布小游戏

用户出石头:

java实现简单石头剪刀布小游戏

用户出剪刀:

java实现简单石头剪刀布小游戏

用户出布:

java实现简单石头剪刀布小游戏

输入0游戏结束:

java实现简单石头剪刀布小游戏

来源:https://blog.csdn.net/qq_45583486/article/details/122316978

标签:java,石头剪刀布
0
投稿

猜你喜欢

  • java进阶解析Springboot上传excel存入数据库步骤

    2022-01-07 15:18:51
  • flutter 路由跳转的实现示例

    2023-08-23 14:55:26
  • Java8-Stream流操作List去重问题

    2023-11-23 23:29:49
  • svn 清理失败 (cleanup 失败) 的快速解决方法

    2022-10-25 11:22:40
  • Swift洗牌动画效果的实现方法

    2023-06-21 14:01:56
  • JAVA通过Filter实现允许服务跨域请求的方法

    2022-08-02 02:17:46
  • Java中super和this关键字详解

    2023-03-18 15:49:08
  • Java实现简单的五子棋小游戏

    2023-11-25 07:36:13
  • java基础之NIO介绍及使用

    2022-06-07 11:30:14
  • flutter中的资源和图片加载示例详解

    2023-08-24 13:19:39
  • SpringBoot2 参数管理实践之入参出参与校验的方式

    2022-12-25 02:44:30
  • MyBatis-Plus 自定义sql语句的实现

    2022-12-24 23:16:16
  • Android的消息机制

    2023-08-05 10:19:28
  • Java8中Optional类的使用说明

    2023-07-25 13:31:32
  • Intellij IDEA 2018配置Java运行环境的方法步骤

    2023-06-08 09:56:50
  • springboot整合token的实现代码

    2023-11-10 19:02:03
  • SpringBoot程序的打包与运行的实现

    2023-11-29 15:51:27
  • 记一次公司JVM堆溢出抽丝剥茧定位的过程解析

    2023-11-09 13:11:24
  • Java编程接口回调一般用法代码解析

    2023-11-11 06:55:11
  • java多线程有序读取同一个文件

    2022-05-28 20:41:57
  • asp之家 软件编程 m.aspxhome.com