Time in the Subway: 猜数字小游戏(GuessNum)--Java代码实现

来源:互联网 发布:n9软件网 编辑:程序博客网 时间:2024/06/18 10:54
/*需求:开发一个猜数字的小游戏; * 描述:系统产生一个1-100之间的随机数(含0和100),请猜出这个数字是多少。     * 1.产生随机数     * 2.接收键盘输入数字     * 3.判断大小,输出结果。     * 4.用户一局最多7次猜的机会,猜不中则游戏结束。     * 4.每局游戏结束后要能给出用户选择:再来一局还是结束游戏。*/

这里写图片描述

import java.util.Random;import java.util.Scanner;public class GuessNumOptimize {    Scanner sc = new Scanner(System.in);    static int times = 6;    public static void main(String[] args) {        System.out.println("Hello, MZ. WLCOME HERE! ^_^ ");        System.out.println("This is a game which invites you to guess a number between 1 and 100,include 1 and 100.");        System.out.println("And you have at most " + times + "  times to try in each inning.");        System.out.print("Press 1 to Start.  ");        System.out.println("Press 2 to Quit. : ");        Scanner sc = new Scanner(System.in);        flag: while (true) {            System.out.println("Please enter your choice :");            int button = sc.nextInt();            switch (button) {            case 1:                System.out.println("Start Now!");                Random r = new Random();                int answer = r.nextInt(100) + 1;                // 产生随机数,判断答案,一局结束。                judgeNum(answer);                break;            case 2:                System.out.println("Game Over!");                System.out.println("欢迎下次再来!");                break flag;            // System.exit(0);            default:                System.out.println("Are u kidding?");                System.out.print("Press 1 to try again.  ");                System.out.println("Press 2 to Quit. : ");                break;            }        }    }
// 定义判断方法:judgeNum(int answer)    public static void judgeNum(int answer) {        for (int i = times; i >= 1; i--) {            System.out.println("------------------------");            System.out.println("Please enter your number:");            Scanner sc = new Scanner(System.in);            int enterNum = sc.nextInt();            // 判断大小            if (enterNum > answer) {                if (i == 1) {                    System.out.println("很遗憾,你没有机会了!");                    endPrompt();                    break;                } else {                    System.out.println("你猜大了,往小了猜试试?");                    System.out.println("你还有" + (i - 1) + "次机会。加油!");                }            } else if (enterNum < answer) {                if (i == 1 ) {                    System.out.println("很遗憾,你没有机会了!");                    endPrompt();                    break;                } else {                    System.out.println("你猜小了,往大了猜试试?");                    System.out.println("你还有" + (i - 1) + "次机会。加油!");                }            } else {                System.out.println("恭喜你,猜中啦。答案是:" + enterNum + "。");                System.out.println("你用了" + (times - i +1) + "次就猜对了,好厉害!*^_^* ");                endPrompt();                break;            }        }    }
//每局结束的提示语public static void endPrompt(){            System.out.println("再来一局?");            System.out.println("Press 1 to Try Again.");            System.out.println("Press 2 to Quit.");    }