欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

猜数字游戏(随机数和Scannner的应用)

程序员文章站 2022-05-04 11:57:37
在指定范围内生成一个随机数作为目标值,用户对目标值进行猜测。 import java.util.Random; // 随机数 import java.util.Scanner; // 获取用户输入 public class Example { public static void main(Stri ......

在指定范围内生成一个随机数作为目标值,用户对目标值进行猜测。

import java.util.random; // 随机数
import java.util.scanner; // 获取用户输入

public class example {
    public static void main(string[] args) {
        random rand = new random();
        scanner in = new scanner(system.in); // in 为一个变量
        // 是否开始游戏
        boolean isplay = true;
        // 设置游玩次数
        int count = 7;
        // 设置已玩次数
        int haveplay = 0;

        // 设置随机数边界值 (这里也可以由用户自行输入)
        int min = 10;
        int max = 90;

        // 指定范围[min,max]随机数公式:random.nextint(max-min+1)+min;
        int randnum = rand.nextint(max-min+1)+min;
        // 生成目标值在(min,max)双开区间
        int goal = randnum;
        if (randnum == min) {
            goal += 1;
        }else if (randnum == max) {
            goal -= 1;
        }

        // 逻辑部分
        while(isplay) {
            if (haveplay==0) { // 首次游玩时给出范围
                system.out.println("指定范围为:(" + min + ", " + max + "),输入负数可退出游戏。");
            }
            system.out.println("请输入你的猜想:");
            int guessnum = in.nextint(); // 读入猜测数字
            count--; // 每猜一次,猜测机会减少一次
            haveplay++; // 每猜一次,已玩次数增加一次

            // 游戏规则:1 输入负数,退出游戏。 2 猜中答案,跳出循环,游戏结束。3 猜测数字和目标值的关系对比
            if (guessnum < 0) {
                system.out.println("玩家选择退出游戏。");
                isplay = !isplay;
            } else if (guessnum == goal) {
                system.out.println("恭喜您用了" + haveplay + "次猜中了答案!答案为" + goal + "。游戏结束~");
                break;
            } else if (guessnum > goal && count > 0) {
                system.out.println("比目标值大了哦~您还剩" + count + "次机会。");
            } else if (guessnum < goal && count > 0) {
                system.out.println("比目标值小了哦~您还剩" + count + "次机会。");
            } else if (count <= 0) {
                system.out.println("您的机会已经用尽,正确答案为:" + goal);
                break;
            }
        }
    }
}

猜数字游戏(随机数和Scannner的应用)

 

 (运气比较好,两次就猜中了。。。)

游戏改良:在这个程序中,我们还可以规定:1. 随机数边界值;2. 游玩的次数。