猜数字游戏有三变(Java篇)

猜数字游戏是一种经典的游戏,简单地说,就是让玩家在一定的范围内猜测一个随机生成的数字。在这个游戏中,我们可以通过不同的变体来增加趣味性和挑战性。本文将展示如何在 Java 中实现这个游戏的三种变体:基础版、提示版和倒计时版。

一、基础版

基础版的猜数字游戏非常简单:程序随机生成一个1到100之间的数字,用户通过输入数字进行猜测,程序会告诉用户猜测的结果是“猜小了”、“猜大了”还是“猜对了”。

代码示例

import java.util.Random;
import java.util.Scanner;

public class GuessNumberBasic {
    public static void main(String[] args) {
        Random random = new Random();
        int targetNumber = random.nextInt(100) + 1; // 生成1到100之间的随机数
        Scanner scanner = new Scanner(System.in);
        int userGuess = 0;

        System.out.println("欢迎来到猜数字游戏!\n请猜一个1到100之间的数字:");

        while (userGuess != targetNumber) {
            userGuess = scanner.nextInt();
            if (userGuess < targetNumber) {
                System.out.println("猜小了,请再试一次:");
            } else if (userGuess > targetNumber) {
                System.out.println("猜大了,请再试一次:");
            } else {
                System.out.println("恭喜你,猜对了!");
            }
        }
        scanner.close();
    }
}

二、提示版

在提示版中,我们增加了一些额外的提示功能,例如在用户猜测的过程中,如果猜测次数超过一定的次数,程序将会给出一个范围提示,帮助用户更好地进行猜测。

代码示例

import java.util.Random;
import java.util.Scanner;

public class GuessNumberWithHints {
    public static void main(String[] args) {
        Random random = new Random();
        int targetNumber = random.nextInt(100) + 1;
        Scanner scanner = new Scanner(System.in);
        int userGuess = 0;
        int attempts = 0;

        System.out.println("欢迎来到提示版猜数字游戏!\n请猜一个1到100之间的数字:");

        while (userGuess != targetNumber) {
            userGuess = scanner.nextInt();
            attempts++;

            if (userGuess < targetNumber) {
                System.out.println("猜小了,请再试一次:");
            } else if (userGuess > targetNumber) {
                System.out.println("猜大了,请再试一次:");
            } else {
                System.out.println("恭喜你,猜对了!总共猜测次数:" + attempts);
            }

            // 每猜五次给出一次范围提示
            if (attempts % 5 == 0) {
                if (targetNumber % 2 == 0) {
                    System.out.println("提示:这个数字是偶数。");
                } else {
                    System.out.println("提示:这个数字是奇数。");
                }
            }
        }
        scanner.close();
    }
}

三、倒计时版

倒计时版则增加了时间限制,用户需要在规定的时间内猜中数字。若超时,游戏结束。

代码示例

import java.util.Random;
import java.util.Scanner;
import java.util.Timer;
import java.util.TimerTask;

public class GuessNumberWithTimer {

    private static boolean timeUp = false;

    public static void main(String[] args) {
        Random random = new Random();
        int targetNumber = random.nextInt(100) + 1;
        Scanner scanner = new Scanner(System.in);
        int userGuess = 0;
        Timer timer = new Timer();

        System.out.println("欢迎来到倒计时版猜数字游戏!你有15秒的时间猜一个1到100之间的数字。");

        // 设置15秒的倒计时
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                timeUp = true;
                System.out.println("时间到!游戏结束。");
                scanner.close();
                System.exit(0);
            }
        }, 15000);

        while (!timeUp && userGuess != targetNumber) {
            userGuess = scanner.nextInt();
            if (userGuess < targetNumber) {
                System.out.println("猜小了,请再试一次:");
            } else if (userGuess > targetNumber) {
                System.out.println("猜大了,请再试一次:");
            } else {
                System.out.println("恭喜你,猜对了!");
                timer.cancel(); // 取消计时器
            }
        }

        scanner.close();
    }
}

总结

通过这三种变体的实现,我们可以看到, Java 提供了丰富的工具来开发小型游戏。基础版简单易懂,提示版增加了趣味性,而倒计时版则提升了游戏的紧张感。希望这些实现能够激发你的创造力,设计出更多有趣的变体。

点赞(0) 打赏

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部