猜数字游戏 - Java实现

x33g5p2x  于2021-11-22 转载在 Java  
字(1.9k)|赞(0)|评价(0)|浏览(363)

猜数字游戏

系统自动生成一个随机整数(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是不能进行游戏的,系统会告知你输入错误,请重新选择

    }
}

图53

图 54

图 55

图56

#图 57

相关文章