用鸿蒙写代码:有一个随机数,取值范围是0-99,根据这个完成一个猜字游戏,5次机会,每次猜的时候,可以提示下是大了还是小了,玩家现在输入框输入数字,点击"确定"按钮再开始判断,随机数生成。
时间: 2024-10-15 13:17:43 浏览: 62
在鸿蒙系统上编写猜数字游戏的代码,首先需要设置一个随机数生成器来确保每次游戏开始时都会得到一个0到99之间的随机数。这里是一个简单的示例,使用`HarmonyOS`的UI元素和`Random`类来实现这个功能:
```java
import dev.hiworld.demo.util.RandomUtil;
import dev.hiworld.ui.Button;
import dev.hiworld.ui.EditText;
import dev.hiworld.ui.Label;
// 猜数字游戏类
class GuessNumberGame {
private int randomNumber;
private int guessCount = 0;
private Button confirmButton;
private EditText inputBox;
private Label feedbackLabel;
// 初始化游戏组件
void initComponents() {
randomNumber = RandomUtil.getRandomInt(0, 100); // 随机数生成
confirmButton.setOnClickListener(this::onConfirmButtonClick);
inputBox.addTextChangedListener(this::checkGuess);
}
// 点击确认按钮的回调
private void onConfirmButtonClick(Button sender) {
String userGuess = inputBox.getText().toString();
int guess = Integer.parseInt(userGuess);
if (guess < randomNumber) {
feedbackLabel.setText("猜的数字偏小");
} else if (guess > randomNumber) {
feedbackLabel.setText("猜的数字偏大");
} else {
feedbackLabel.setText("恭喜,猜对了!");
endGame();
}
++guessCount;
if (guessCount < 5) {
// 如果未达到最大猜测次数,允许继续猜测
inputBox.setText("");
feedbackLabel.setText("");
} else {
// 游戏结束,显示剩余次数
feedbackLabel.setText("游戏结束,你还有最后一次机会。");
}
}
// 检查用户输入并提供反馈
private void checkGuess(EditText sender) {
if (inputBox.getText().toString().length() != 0 && guessCount < 5) {
onConfirmButtonClick(null); // 强制检查输入
}
}
// 游戏结束处理
private void endGame() {
confirmButton.setEnabled(false);
feedbackLabel.setText("游戏已结束。");
}
}
// 主函数中创建并启动游戏
void startGuessNumberGame() {
GuessNumberGame game = new GuessNumberGame();
game.initComponents();
}
```
在这个代码片段中,我们创建了一个`GuessNumberGame`类,包含随机数、猜测计数和 UI 控件。当用户点击“确定”按钮时,会检查他们的猜测并与随机数比较,给出相应的反馈,并更新剩余的猜测次数。如果所有机会都用完还没有猜对,游戏就会结束。
阅读全文