一个简单的猜数字游戏的代码示例,分别用 Python、JavaScript 和 Java 编写。

当然可以!以下是一个简单的猜数字游戏的代码示例,分别用 Python、JavaScript 和 Java 编写。

Python 版本
python
import random  
  
def guess_number():  
    number_to_guess = random.randint(1, 100)  
    guess = None  
    attempts = 0  
  
    while guess != number_to_guess:  
        try:  
            guess = int(input('猜一个1到100之间的数字: '))  
        except ValueError:  
            print('请输入一个有效的数字!')  
            continue  
        attempts += 1  
        if guess < number_to_guess:  
            print('太小了!')  
        elif guess > number_to_guess:  
            print('太大了!')  
  
    print(f'恭喜你,猜对了!数字是 {number_to_guess}。你一共猜了 {attempts} 次。')  
  
guess_number()
JavaScript 版本
javascript
function guessNumber() {  
    let numberToGuess = Math.floor(Math.random() * 100) + 1;  
    let guess = null;  
    let attempts = 0;  
  
    while (guess !== numberToGuess) {  
        guess = prompt('猜一个1到100之间的数字:');  
        if (isNaN(guess)) {  
            alert('请输入一个有效的数字!');  
            continue;  
        }  
        guess = parseInt(guess);  
        attempts++;  
        if (guess < numberToGuess) {  
            alert('太小了!');  
        } else if (guess > numberToGuess) {  
            alert('太大了!');  
        }  
    }  
    alert(`恭喜你,猜对了!数字是 ${numberToGuess}。你一共猜了 ${attempts} 次。`);  
}  
  
guessNumber();
Java 版本
注意:Java 版本需要一个用户界面(UI)库来接收用户输入,这里我们使用 JavaFX。

java
import javafx.application.Application;  
import javafx.scene.Scene;  
import javafx.scene.control.Alert;  
import javafx.scene.control.Alert.AlertType;  
import javafx.scene.control.TextField;  
import javafx.scene.input.KeyCode;  
import javafx.scene.layout.VBox;  
import javafx.stage.Stage;  
  
import java.util.Random;  
import java.util.Scanner;  
  
public class GuessNumberGame extends Application {  
  
    private int numberToGuess;  
    private int guess;  
    private int attempts = 0;  
    private TextField textField;  
  
    @Override  
    public void start(Stage primaryStage) {  
        primaryStage.setTitle("猜数字游戏");  
  
        textField = new TextField();  
        textField.setOnKeyPressed(event -> {  
            if (event.getCode() == KeyCode.ENTER) {  
                try {  
                    guess = Integer.parseInt(textField.getText());  
                    checkGuess();  
                    textField.clear();  
                } catch (NumberFormatException e) {  
                    showAlert("请输入一个有效的数字!");  
                }  
            }  
        });  
  
        VBox root = new VBox(10, textField);  
        Scene scene = new Scene(root, 300, 200);  
  
        primaryStage.setScene(scene);  
        primaryStage.show();  
  
        startGame();  
    }  
  
    private void startGame() {  
        Random random = new Random();  
        numberToGuess = random.nextInt(100) + 1;  
    }  
  
    private void checkGuess() {  
        attempts++;  
        if (guess < numberToGuess) {  
            showAlert("太小了!");  
        } else if (guess > numberToGuess) {  
            showAlert("太大了!");  
        } else {  
            showAlert("恭喜你,猜对了!数字是 " + numberToGuess + "。你一共猜了 " + attempts + " 次。");  
            gameOver();  
        }  
    }  
  
    private void showAlert(String message) {  
        Alert alert = new Alert(AlertType.INFORMATION);  
        alert.setTitle("提示");  
        alert.setContentText(message);  
        alert.showAndWait();  
    }  
  
    private void gameOver() {  
        textField.setDisable(true);  
    }  
#chhas{
margin-top: 50px;
padding:sz-jbsy.com;
font-size: 18px;
cursor: 10px 20px;
}
    public static void main(String[] args) {  
        launch(args);  
    }  
}
请注意,JavaFX 库不是 Java 标准库的一部分,你可能需要单独下载并添加到项目中。对于更复杂的用户界面,你可能需要使用其他库,如 Swing 或 JavaFX 的替代方案。

这些代码示例都实现了相同的猜数字游戏逻辑,但用户界面和交互方式有所不同。你可以根据自己的喜好和需要选择适合你的语言和环境的版本。

  • 16
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值