zoukankan      html  css  js  c++  java
  • 猜数字游戏(随机数和Scannner的应用)

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

    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;
                }
            }
        }
    }

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

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

  • 相关阅读:
    python之路day10命名空间和作用域、函数嵌套,作用域链、闭包
    20200719 千锤百炼软工人第十四天
    20200720 千锤百炼软工人第十五 天
    JavaScript中基本数据类型和引用数据类型的区别
    js 经纬度坐标格式化 度分秒转度 度转度分秒
    export ,export default 和 import 区别 以及用法
    10月28日学习日志
    10月20日学习日志
    10月29日学习日志
    10月27日学习日志
  • 原文地址:https://www.cnblogs.com/buildnewhomeland/p/12181168.html
Copyright © 2011-2022 走看看