Java实现猜数字小游戏详解流程

 更新时间:2021年10月22日 08:58:14   作者:Dark And Grey  
猜数字是兴起于英国的益智类小游戏,起源于20世纪中期,一般由两个人或多人玩,也可以由一个人和电脑玩。游戏规则为一方出数字,一方猜,今天我们来用Java把这个小游戏写出来练练手

猜数字游戏

系统自动生成一个随机整数(1-100), 然后由用户输入一个猜测的数字. 如果输入的数字比该随机数小, 提示 "低 了",
如果输入的数字比该随机数大, 提示 "高了" , 如果输入的数字和随机数相等, 则提示 "猜对了

整理思路

1. 我们玩游戏的时候,都有开始游戏和退出游戏
2. 其次,它要生成一个随机数,如果是固定值,哪有什么意思?
3. 再者,我们要输入数字,根据它反馈的情况进行判断和猜测数字的大小
4. 但是我们不可能说一次就判断成功,所以我们需要一个循环输入
5. 最后,猜对了数字之后,我们需要退出游戏模式,重新回到菜单界面,让用户选择玩还是不玩,你总不能说让别人一直玩,退不出来吧。那这游戏挺砸吧的

现在我们正式开始制作

import java.util.Random;
import java.util.Scanner;

public class LogicControl {

    // 注意 自定函数 menu 和 game的位置,不需要放在 main 方法的前面,因为 java 里 是没法函数声明的说法,要用就直接调用的
    public static void menu(){// 游戏菜单选择界面
        System.out.println("*****************");
        System.out.println("**** 1.Play  ****");
        System.out.println("**** 0.Exit  ****");
        System.out.println("*****************");
    }
    public static void game(){// 游戏运行程序
        Scanner scanner = new Scanner(System.in);//为生成一个随机值,做准备
        Random random = new Random();//默认随机种子是系统时间,提示 在括号里加上数字,它生成一个指定数,所以最好不要画蛇添足
        int toGuess = random.nextInt(100);// 生成 100 以内的数字
        while(true){// 死循环,不猜对不退出
            System.out.println("请输入你所猜的数字");
            int guess = scanner.nextInt();
            if(guess < toGuess){
                System.out.println("猜小了");
            }else if(guess > toGuess){
                System.out.println("猜大了");
            }else{// guess == toGuess
                System.out.println("猜对了");
                break;//猜对了,才有权力退出, 当然你把游戏插卡拿走,强制退出游戏,我能拿你怎么办?
            }// 图55
        }
    }

    public static void main(String[] args) {// 首先,主体 类和方法 要先写好
        Scanner scanner = new Scanner(System.in);// 为我们输入数据做好准备
        int input = 0;// 输入变量初始化
        do{
            menu();// 玩家进入游戏,一开始肯定是游戏界面
            System.out.println("请选择:");// 根据我们的游戏游戏界面选项,决定输入的值
            input = scanner.nextInt();// 输入变量更新
            switch(input){// 使用switch 语句 进行,对输入数据的判断
                case 1:{//如果是 1, 就是play 玩游戏
                    game();//使用 game 自定义函数,图54
                    break;// 游戏结束,退出游戏,回到游戏主界面. 图56
                } case 0:{// 如果是 0,退出程序,不玩了!
                    System.out.println("退出游戏");
                    break;// 图 57
                } default:{// 如用用户输入的数据,不是我指定的数据,则我们需要反馈用户信息,让用户重新选择
                    System.out.println("输入错误,请重新输入");//图 53
                    break;// 注意 break 是可以 switch 和用,break 现在是终止switch 语句,而不是循环语句
                    // 这一点是 break的特殊用法
                }

            }
        }while (input>0);// 条件判断,如果输入0和负数,执行完上面的程序后,退出循环(这是do while 的特点,先干再说),结束游戏
        // 如果输入输入一个正数,则循环继续,只不过如果该正数不为1是不能进行游戏的,系统会告知你输入错误,请重新选择

    }
}

图1

在这里插入图片描述

图2

在这里插入图片描述

图3

在这里插入图片描述

图4

在这里插入图片描述

图5

在这里插入图片描述

到此这篇关于Java实现猜数字小游戏详解流程的文章就介绍到这了,更多相关Java 猜数字内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java中怎样处理空指针异常

    Java中怎样处理空指针异常

    程序中的变量是 null,就意味着它没有引用指向或者说没有指针。这时,我们对这个变量进行任何操作,都必然会引发空指针异常,本文主要介绍了Java中怎样处理空指针异常,感兴趣的可以了解一下
    2022-05-05
  • 详解Java分布式系统中一致性哈希算法

    详解Java分布式系统中一致性哈希算法

    这篇文章主要介绍了Java分布式系统中一致性哈希算法,对算法感兴趣的同学,可以参考下
    2021-04-04
  • SpringCloud中Zuul网关原理及其配置

    SpringCloud中Zuul网关原理及其配置

    Spring Cloud是一个基于Spring Boot实现的微服务应用开发工具,其中的Zuul网关可以实现负载均衡、路由转发、鉴权、限流等功能,本文将从Spring Cloud中Zuul网关的原理、使用场景和配置过程详细介绍,帮助大家更好地了解和应用Zuul网关,需要的朋友可以参考下
    2023-06-06
  • Windows环境使用bat脚本启动Java服务的过程

    Windows环境使用bat脚本启动Java服务的过程

    Java项目一般会被打包成jar后启动,在windows系统中可以通过终端窗口cmd启动jar包,即在jar包所在的目录中打开cmd,或在cmd中进入到jar包目录,这篇文章主要介绍了Windows环境使用bat脚本启动Java服务,需要的朋友可以参考下
    2023-08-08
  • SpringCloud Gateway 路由配置定位原理分析

    SpringCloud Gateway 路由配置定位原理分析

    本节主要了解系统中的谓词与配置的路由信息是如何进行初始化关联生成路由对象的。每个谓词工厂中的Config对象又是如何被解析配置的
    2021-07-07
  • Java编程实现汉字按字母顺序排序的方法示例

    Java编程实现汉字按字母顺序排序的方法示例

    这篇文章主要介绍了Java编程实现汉字按字母顺序排序的方法,结合具体实例形式分析了java编码转换及字母排序相关操作技巧,需要的朋友可以参考下
    2017-07-07
  • spring boot自定义配置时在yml文件输入有提示问题及解决方案

    spring boot自定义配置时在yml文件输入有提示问题及解决方案

    自定义一个配置类,然后在yml文件具体配置值时,一般不会有提示,今天小编给大家分享spring boot自定义配置时在yml文件输入有提示问题,感兴趣的朋友一起看看吧
    2023-10-10
  • Java inputstream和outputstream使用详解

    Java inputstream和outputstream使用详解

    这篇文章主要介绍了Java inputstream和outputstream使用详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • SprintBoot深入浅出讲解场景启动器Starter

    SprintBoot深入浅出讲解场景启动器Starter

    本篇文章将和大家分享一下 Spring Boot 框架中的 Starters 场景启动器的内容,关于 Starters 具体是用来做什么的,以及在开发 Spring Boot项目前,要如何自定义一个 Starters 场景启动器
    2022-06-06
  • 超详细解析Spring Bean的创建过程

    超详细解析Spring Bean的创建过程

    这篇文章主要揭秘了Spring Bean的创建过程,文中通过代码示例和图文结合的方式解析的超级详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-05-05

最新评论