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

/*
需求:开发一个猜数字的小游戏;
 * 描述:系统产生一个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.");
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值