服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - Java实现猜数字小游戏详解流程

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

2022-02-25 00:31Dark And Grey Java教程

猜数字是兴起于英国的益智类小游戏,起源于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

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

图2

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

图3

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

图4

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

图5

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

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

原文链接:https://blog.csdn.net/DarkAndGrey/article/details/120887391

延伸 · 阅读

精彩推荐
  • Java教程Java:泛型知识知多少

    Java:泛型知识知多少

    这篇文章主要介绍了java泛型基础知识及通用方法,从以下几个方面介绍一下java的泛型: 基础, 泛型关键字, 泛型方法, 泛型类和接口,感兴趣的可以了解一下...

    Carson_Ho7762021-12-08
  • Java教程Activiti常用类简介

    Activiti常用类简介

    这篇文章主要介绍了Activiti常用类,需要的朋友可以参考下 ...

    shichen20144322019-11-26
  • Java教程swing重绘按钮为任意形状图案的方法

    swing重绘按钮为任意形状图案的方法

    这篇文章主要为大家详细介绍了swing重绘按钮为任意形状图案,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    _Thomas7312021-03-10
  • Java教程springmvc mybatis集成配置示例

    springmvc mybatis集成配置示例

    本文主要介绍springmvc+mybatis集成配置,这里提供了实例代码,和简单说明,有需要的小伙伴可以参考下 ...

    路之石4212020-06-15
  • Java教程Java之PreparedStatement的使用详解

    Java之PreparedStatement的使用详解

    这篇文章主要介绍了Java之PreparedStatement的使用详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下...

    繁星*墨菲6452021-11-15
  • Java教程Java8中Optional的一些常见错误用法总结

    Java8中Optional的一些常见错误用法总结

    我们知道 Java 8 增加了一些很有用的 API, 其中一个就是 Optional,下面这篇文章主要给大家介绍了关于Java8中Optional的一些常见错误用法的相关资料,文中通过...

    Yanbin8392021-05-21
  • Java教程java 流与 byte[] 的互转操作

    java 流与 byte[] 的互转操作

    这篇文章主要介绍了java 流与 byte[] 的互转操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    微观尽头9072020-10-08
  • Java教程Java静态代理和动态代理的深入讲解

    Java静态代理和动态代理的深入讲解

    这篇文章主要给大家介绍了关于Java静态代理和动态代理的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,...

    小小张自由—>张有博8512021-09-01