当然可以!以下是一个简单的猜数字游戏的代码示例,分别用 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 的替代方案。
这些代码示例都实现了相同的猜数字游戏逻辑,但用户界面和交互方式有所不同。你可以根据自己的喜好和需要选择适合你的语言和环境的版本。