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

猜数字小游戏

程序员文章站 2024-03-18 17:15:04
...
package demo;
/**
 * 猜数字小游戏
 * 范围:1——100
 * @author laoma
 * 知识点: Scanner,Random,for(),switch...case,while()
 * while()循环 结束的条件: 表达式为false or 遇到break;
 * */
import java.util.Scanner;            //键盘输入
import java.util.Random;            //生成随机数
public class GuessNumber {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        welcome();
        
        int Id = begin();
        
        if(Id == 2){    
            System.exit(0);            //输入2 退出游戏
        }
        
        int code = mode();            //游戏模式
        int count = 0;                //输入次数
        switch (code) {
        case 1:
            count = 15;
            System.out.println("你选的游戏模式是:简易模式");
            game(count);
            break;
        case 2:
            count = 10;
            System.out.println("你选的游戏模式是:正常模式");
            game(count);
            break;
        case 3:
            count = 8;
            System.out.println("你选的游戏模式是:困难模式");
            game(count);
            break;
        case 4:
            count = 3;
            System.out.println("你选的游戏模式是:地狱模式");
            game(count);
            break;
        case 5:
            count = 1;
            System.out.println("猜中就赶紧买**去吧!!!");
            game(count);
            break;

        default:System.out.println("选择错误!");
            break;
        }

    }
    
    /*欢迎界面*/
    public static void welcome(){
        System.out.println("********************");
        System.out.println("*---欢迎进入猜数字游戏---*");
        System.out.println("--------------------");
        System.out.println("*说明:猜测的范围为:1—100*");
        System.out.println("********************");
        System.out.println();
    }
    
    /*开始界面*/
    public static int begin(){
        System.out.println("请选择:");
        System.out.println("----1、开始游戏----");
        System.out.println("----2、退出游戏----");
        Scanner sc = new Scanner(System.in);
        int Id = sc.nextInt();
        return Id;
    }
    
    /*游戏模式*/
    public static int mode(){
        System.out.println("请选择游戏的难易模式:");
        System.out.println("---1、简易模式(15次机会)---");
        System.out.println("---2、正常模式(10次机会)---");
        System.out.println("---3、困难模式( 8次机会)---");
        System.out.println("---4、地狱模式( 3次机会)---");
        System.out.println("---5、猜中就买**(1次机会)--");
        
        Scanner sc = new Scanner(System.in);
        int code = sc.nextInt();
        return code;
    }
    
    /*游戏界面*/
    public static void game(int code ){
        
        Random ran = new Random();
        int computer = ran.nextInt(100)+1;                //生成1——100之间的随机数
        //System.out.println("生成的随机数为:"+computer);    //随机数字
        
        System.out.println("请输入你猜的数字:");
        Scanner sc = new Scanner(System.in);
        int count = 0 ;                                    //记录猜游戏的次数
        
        /*
         * 逻辑执行部分
         * 利用输入的次数count与code作比较,确定游戏模式。
         * */
        while(count < code){                            
            int user = sc.nextInt();                    //接收用户输入的数字
            count++;
            
            if (user > computer) {    
                if (count == code) {                    //次数用完时,直接退出
                    System.out.println("很遗憾,您的次用完了!");
                    break;
                }
                System.out.println("您猜大了!请继续输入:");
            }else if(user < computer){
                if (count == code) {                    //次数用完时,直接退出
                    System.out.println("很遗憾,您的次用完了!");
                    break;
                }
                System.out.println("您猜小了!请继续输入:");
            }else{                
                System.out.println("恭喜你,猜中了!");
                System.out.println("你只用了"+count+"次就回答对了。");
                break;                                    //猜中时,跳出循环
            }
            
        }
    
    }
    

}

 


运行结果:

猜数字小游戏