用java结合图形界面制作一个猜数字游戏
时间: 2024-02-17 22:02:49 浏览: 20
好的,下面是一个简单的猜数字游戏的 Java Swing 实现,您可以根据需要进行修改和扩展:
```java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class GuessingGameGUI extends JFrame {
private int randomNumber;
private int guessesLeft;
private JLabel messageLabel;
private JTextField guessTextField;
private JButton guessButton;
public GuessingGameGUI() {
randomNumber = (int) (Math.random() * 100) + 1;
guessesLeft = 5;
messageLabel = new JLabel("I'm thinking of a number between 1 and 100. You have " + guessesLeft + " guesses left.");
guessTextField = new JTextField(10);
guessButton = new JButton("Guess");
guessButton.addActionListener(new GuessButtonListener());
JPanel controlPanel = new JPanel();
controlPanel.add(messageLabel);
controlPanel.add(guessTextField);
controlPanel.add(guessButton);
setLayout(new BorderLayout());
add(controlPanel, BorderLayout.CENTER);
setTitle("Guessing Game");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setVisible(true);
}
private class GuessButtonListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
String guessString = guessTextField.getText();
int guess = Integer.parseInt(guessString);
guessesLeft--;
if (guess == randomNumber) {
messageLabel.setText("Congratulations! You guessed the number in " + (5 - guessesLeft) + " guesses.");
guessButton.setEnabled(false);
} else if (guessesLeft == 0) {
messageLabel.setText("Sorry, you have used up all your guesses. The number was " + randomNumber + ".");
guessButton.setEnabled(false);
} else if (guess < randomNumber) {
messageLabel.setText("Too low. You have " + guessesLeft + " guesses left.");
} else {
messageLabel.setText("Too high. You have " + guessesLeft + " guesses left.");
}
guessTextField.setText("");
}
}
public static void main(String[] args) {
GuessingGameGUI gameGUI = new GuessingGameGUI();
}
}
```
在这个界面中,我们使用了一个 randomNumber 变量来存储随机生成的数字,一个 guessesLeft 变量来存储用户剩余的猜测次数。当用户点击 Guess 按钮时,我们获取用户输入的数字,比较它和随机数的大小,并根据结果更新界面显示。如果用户猜对了,我们显示恭喜信息,并禁用 Guess 按钮;如果用户用完了所有的猜测次数,我们显示失败信息,并禁用 Guess 按钮;否则,我们显示剩余猜测次数,并清空用户输入框,等待用户继续猜测。
这只是一个简单的示例,您可以根据需要进行修改和扩展,例如添加更多的界面元素、增加游戏难度、添加计时器等等。