Java之Random猜数字游戏

游戏规则

  • 产生一个随机数,当本轮游戏的结果值
  • 输入一个猜测值
    *若猜的小了,重新猜!
    *若猜的大了,重新猜!
    *若猜的刚好相等,则恭喜猜对了!
    备注:采用类二分查找方法猜,比较科学。

不计尝试次数代码

public class Demo04RandomGame {
    public static void main(String[] args) {
        //首先产生一个随机整数[1,100]
        Random r = new Random();
        int randomNum = r.nextInt(100) + 1;//[1,100]
        Scanner scan = new Scanner(System.in);

        //不计次数尝试猜数字
        while (true) {
            //从输入框中输入一个猜测数字
            System.out.println("请猜一个数字:");

//            System.out.println("=========");
            int guessNum = scan.nextInt();

//            System.out.println("#########");

            if (guessNum < randomNum) {
                System.out.println("太小了,重猜吧小伙!");
            } else if (guessNum > randomNum) {
                System.out.println("太大了,重猜吧!");
            } else {
                System.out.println("恭喜你!猜对了!");
                break;
            }
        }

        System.out.println("Game is over!");
    }
}

不计尝试次数一次猜测结果

在这里插入图片描述

限制3次猜测机会代码

public class Demo04RandomGame {
    public static void main(String[] args) {
        //首先产生一个随机整数[1,100]
        Random r = new Random();
        int randomNum = r.nextInt(100) + 1;//[1,100]
        Scanner scan = new Scanner(System.in);
        //只能尝试三遍
        for (int i = 0; i < 3; i++) {
            //从输入框中输入一个猜测数字
            System.out.println("请猜一个数字:");
            int guessNum = scan.nextInt();


            if (guessNum < randomNum) {
                if (i < 2) {
                    System.out.println("太小了,重猜吧小伙!");
                }
            } else if (guessNum > randomNum) {
                if (i < 2) {
                    System.out.println("太大了,重猜吧!");
                }
            } else {
                System.out.println("恭喜你!猜对了!");
                break;
            }

            if (i == 2) {
                System.out.println("3次机会用完了,还没猜出来哦!");
            }
        }
        System.out.println("Game is over!");
    }
}

限制3次猜测机会一次结果

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,没有直接与Java FX生成猜数字游戏代码相关的信息。但是,我们可以提供一些Java FX生成游戏的基本步骤和示例代码,供您参考。 Java FX生成游戏的基本步骤: 1.创建Java FX项目 2.设计游戏界面 3.实现游戏逻辑 4.测试和调试游戏 下面是一个简单Java FX猜数字游戏示例代码,供您参考: ```java import javafx.application.Application; import javafx.geometry.Insets; import javafx.geometry.Pos; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.control.TextField; import javafx.scene.layout.GridPane; import javafx.scene.layout.HBox; import javafx.scene.layout.VBox; import javafx.stage.Stage; import java.util.Random; public class GuessNumberGame extends Application { private int randomNumber; private int guessCount = 0; @Override public void start(Stage primaryStage) throws Exception { // 生成随机数 Random random = new Random(); randomNumber = random.nextInt(100) + 1; // 创建界面 Label titleLabel = new Label("猜数字游戏"); titleLabel.setStyle("-fx-font-size: 24px; -fx-font-weight: bold;"); Label promptLabel = new Label("请输入1-100之间的整数:"); TextField guessTextField = new TextField(); guessTextField.setPrefWidth(200); Button guessButton = new Button("猜"); guessButton.setOnAction(event -> { String guessText = guessTextField.getText(); if (guessText.isEmpty()) { return; } int guessNumber = Integer.parseInt(guessText); guessCount++; if (guessNumber == randomNumber) { showResult("恭喜你,猜对了!", guessCount); } else if (guessNumber < randomNumber) { promptLabel.setText("猜小了,请再试一次:"); } else { promptLabel.setText("猜大了,请再试一次:"); } }); Button resetButton = new Button("重置"); resetButton.setOnAction(event -> { guessTextField.setText(""); guessCount = 0; randomNumber = random.nextInt(100) + 1; promptLabel.setText("请输入1-100之间的整数:"); }); HBox buttonBox = new HBox(10, guessButton, resetButton); buttonBox.setAlignment(Pos.CENTER); VBox rootBox = new VBox(20, titleLabel, promptLabel, guessTextField, buttonBox); rootBox.setAlignment(Pos.CENTER); rootBox.setPadding(new Insets(20)); Scene scene = new Scene(rootBox, 400, 300); primaryStage.setTitle("猜数字游戏"); primaryStage.setScene(scene); primaryStage.show(); } private void showResult(String message, int guessCount) { Stage stage = new Stage(); stage.setTitle("游戏结果"); Label messageLabel = new Label(message); messageLabel.setStyle("-fx-font-size: 18px; -fx-font-weight: bold;"); Label countLabel = new Label("你猜了" + guessCount + "次。"); countLabel.setStyle("-fx-font-size: 16px;"); Button closeButton = new Button("关闭"); closeButton.setOnAction(event -> stage.close()); VBox rootBox = new VBox(20, messageLabel, countLabel, closeButton); rootBox.setAlignment(Pos.CENTER); rootBox.setPadding(new Insets(20)); Scene scene = new Scene(rootBox, 300, 200); stage.setScene(scene); stage.show(); } public static void main(String[] args) { launch(args); } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值