做游戏逻辑

本文介绍了使用Java编写的猜价格游戏,涉及系统生成随机数、用户输入判断、循环控制(while和if)、以及标志位在退出循环后的逻辑处理。
摘要由CSDN通过智能技术生成

   系统随机产生价格数字,由用户通过平台猜,猜出一个数字后,系统机器人通知你信息,大了,小了。再说一个数字,直到数字跟系统随机数字一致就游戏结束。

分析逻辑:系统产生随机数字一次用户猜Input.next()系统判断数字是大了,还是小了if这里循环:next()输入语句需要循环,

if判断需要循环循环条件:当价格=系统产生的随机价格退出循环:没有次数的说明,一般直接while循环程序:完善(菜单--提示--参与)

流程:1、显示菜单2、选择物品类型:家电文具3、用户输入用户名,参与游戏

4、系统根据类别产生随机数5、用户循环输入数字,每一个数字都判断大,小。

6、结束循环条件:用户猜对数字这里的价格用float型(两位小数)分析全局变量这里用户名需要程序开始和结束都要显示出来.

系统的随机数在程序中需要比较,这个随机数也是全局变量float

注意:(1)编程中,常遇到循环里面满足某一条件退出循环,退出循环后根据循环中发生的不同情况进行不同的逻辑处理,这种编程一般采用标志位的方法处理.

方法:1\先设置一个标志位boolean ,初始值为false2\满足某一条件时,退出循环则为true3\根据标志位的true和false,来输出不同的信息.

(2)如果只是用户参与使用回车或者某个信息,但这个信息不做无意义的存储.Scanner.nextLine()语句即可

代码如下:


        //定义全局变量,username玩家参与名字,plan_price系统产生的价格
        String username;
        //float类型赋初值尾部一定要加上f,不然小数会报错
        float plan_price=0.00f;
        //定义菜单
        System.out.println("----------------------------");
        System.out.println(" 游戏: 幸运价格猜猜猜");
        System.out.println("                 作者:XXXXX");
        System.out.println("                 版本:v1.0");
        System.out.println("----------------------------");
        //显示欢迎界面,当用户敲入回车,进入用户的用户名输入
        //这里的回车需要Scanner
        Scanner scanner = new Scanner(System.in);
        //先接收回车,在这步用户敲任何数据都不接收,这句没有接收,原因用户敲任何内容不需要保存
        scanner.nextLine();
        //敲入回车后,才开始进行游戏的进行,输入用户名
        System.out.println("请输入用户名字");
        //这里username全局变量是需要接收的
        username=scanner.next();
        //接收完之后
        System.out.println(username+",欢迎进入游戏空间,现在请选择的价格猜猜猜商品的类别");
        //输出类别
        System.out.println("***********************");
        System.out.println("1------家电(1000-2000)");
        System.out.println("2------文具(1-100)");
        System.out.println("***********************");
        //接收用户输入1或2,防止用户输入其它内容报错,这里不用nextInt,还使用next
        String user_choice=scanner.next();
        //用户的user_choice内容输入后,只有1和2进行响应,其它天马行空的价格
        //条件语句有确定值用switch
        switch(user_choice){
            case "1":
                plan_price=Math.round(Math.random()*1000+1000);
                break;
            case "2":
                plan_price=Math.round(Math.random()*99+1);
                break;
            default:
                plan_price=Math.round(Math.random()*10000);
        }
        //做用户输入价格的提示
        System.out.println("请用户输入猜猜猜的价格:");
        //用户猜数字,输入价格和判断是重复的步骤,while猜对,还有一个变量用户输入价格
        float user_price=scanner.nextFloat();
        //设定一个最终输出不同信息的标志位
        boolean flag=false;
        //考虑一下,用户在while没有出来过,做一个规定,如果用户输入0或者负数,直接退出猜价格
        while(!(user_price==plan_price)){
            //进入到循环中,如果用户输入0或者负数,直接退出循环
            //

结果如下

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值