用Java swing写一个猜数游戏
时间: 2023-08-29 18:04:22 浏览: 49
好的,以下是一个简单的猜数字游戏的Java Swing实现。在这个游戏中,玩家需要猜测一个1到100之间的随机数。每次猜测后,程序会告诉玩家猜的数字是太大了还是太小了,直到玩家猜中为止。
```java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class GuessNumberGame extends JFrame {
private int targetNumber;
private int numOfGuesses;
private JLabel promptLabel;
private JTextField guessTextField;
private JButton guessButton;
private JLabel resultLabel;
public GuessNumberGame() {
targetNumber = (int) (Math.random() * 100) + 1;
numOfGuesses = 0;
setTitle("Guess Number Game");
setSize(300, 150);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
promptLabel = new JLabel("Guess a number between 1 and 100:");
guessTextField = new JTextField(10);
guessButton = new JButton("Guess");
resultLabel = new JLabel("");
guessButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
int guess = Integer.parseInt(guessTextField.getText());
numOfGuesses++;
if (guess == targetNumber) {
resultLabel.setText("Congratulations! You guessed the number in " + numOfGuesses + " guesses.");
guessButton.setEnabled(false);
} else if (guess < targetNumber) {
resultLabel.setText("Too low. Guess again.");
} else {
resultLabel.setText("Too high. Guess again.");
}
} catch (NumberFormatException ex) {
resultLabel.setText("Invalid input. Please enter a number.");
}
guessTextField.setText("");
}
});
setLayout(new GridLayout(4, 1));
add(promptLabel);
add(guessTextField);
add(guessButton);
add(resultLabel);
setVisible(true);
}
public static void main(String[] args) {
GuessNumberGame game = new GuessNumberGame();
}
}
```
这是一个简单的猜数字游戏,只有一个文本框用于输入猜测的数字,一个按钮用于提交猜测,以及一个标签用于显示结果。当玩家猜中数字时,按钮将被禁用,玩家需要重新启动程序来开始新游戏。