21xrx.com
2025-03-25 21:54:25 Tuesday
文章检索 我的文章 写文章
Java界面版猜数字游戏教程——从零开始打造简单猜数字游戏
2023-06-15 12:35:19 深夜i     --     --
Java 猜数字游戏 GUI编程

文章:

猜数字游戏是一种非常受欢迎的小游戏,我们可以用Java来打造一个简单的界面版猜数字游戏,来学习Java语言的基础知识和GUI编程的相关内容。

首先,我们需要准备好Java的开发环境,可以使用Eclipse、IntelliJ IDEA等开发工具。然后,我们可以先确定游戏的基本逻辑:

1.生成一个1-100之间的随机数作为答案;

2.用户输入猜测的数字;

3.判断猜测的数字和答案的大小关系,并给出相应的提示(猜测的数字大于或小于答案);

4.用户可以继续输入猜测的数字,直到猜测正确或达到最大猜测次数;

5.游戏结束后,输出猜测次数和答案,询问用户是否继续游戏。

有了游戏的基本逻辑,我们就可以开始编写Java代码了。以下是代码示例:

import javax.swing.*;
import java.awt.event.*;
public class GuessNumberGame extends JFrame implements ActionListener{
  //游戏面板
  JPanel mainPanel;
  //猜测次数
  int guessCount = 0;
  //最大猜测次数
  final int maxGuessCount = 10;
  //随机数答案
  int answer = (int)(Math.random() * 100) + 1;
  //输入框
  JTextField inputField;
  //输出框
  JTextArea outputArea;
  //构造函数
  public GuessNumberGame(){
    //初始化游戏面板
    mainPanel = new JPanel();
    //初始化输入框
    inputField = new JTextField(10);
    //初始化输出框
    outputArea = new JTextArea(8,30);
    //输出提示信息
    outputArea.append("猜数字游戏:猜一下1-100中的数字,你有"
          + maxGuessCount + "次机会!\n");
    //将输入框和按钮添加到游戏面板上
    mainPanel.add(inputField);
    //添加按钮
    JButton submitButton = new JButton("猜");
    submitButton.addActionListener(this);
    mainPanel.add(submitButton);
    //将输出框添加到游戏面板上
    mainPanel.add(outputArea);
    //将游戏面板添加到窗口上
    add(mainPanel);
    //设置窗口大小和标题
    setSize(400, 250);
    setTitle("猜数字游戏");
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setVisible(true);
  }
  //猜测方法
  public void guessNumber(int guess){
    guessCount++;
    if(guess == answer){
      JOptionPane.showMessageDialog(this, "恭喜你猜对了!\n共猜测了"
          + guessCount + "次,答案就是" + answer + "。");
      int option = JOptionPane.showConfirmDialog(this, "要再玩一次吗?", "再来一局?", JOptionPane.YES_NO_OPTION);
      if(option == JOptionPane.YES_OPTION){
        //重新开始游戏
        guessCount = 0;
        answer = (int)(Math.random() * 100) + 1;
        outputArea.setText("猜数字游戏:猜一下1-100中的数字,你有"
          + maxGuessCount + "次机会!\n");
      }else{
        //退出游戏
        System.exit(0);
      }
    }else if(guessCount == maxGuessCount){
      JOptionPane.showMessageDialog(this, "很遗憾你没有猜中!\n共猜测了"
          + guessCount + "次,答案就是" + answer + "。");
      int option = JOptionPane.showConfirmDialog(this, "要再玩一次吗?", "再来一局?", JOptionPane.YES_NO_OPTION);
      if(option == JOptionPane.YES_OPTION){
        //重新开始游戏
        guessCount = 0;
        answer = (int)(Math.random() * 100) + 1;
        outputArea.setText("猜数字游戏:猜一下1-100中的数字,你有"
          + maxGuessCount + "次机会!\n");
      }else{
        //退出游戏
        System.exit(0);
      }
    }else if(guess > answer){
      outputArea.append(guess + "——猜大了!还剩下"
          + (maxGuessCount - guessCount) + "次机会。\n");
    }else{
      outputArea.append(guess + "——猜小了!还剩下"
          + (maxGuessCount - guessCount) + "次机会。\n");
    }
    //清空输入框
    inputField.setText("");
  }
  //按钮点击事件
  public void actionPerformed(ActionEvent e){
    String inputStr = inputField.getText();
    if(!inputStr.equals("")){
      int guess = Integer.parseInt(inputStr);
      guessNumber(guess);
    }
  }
  public static void main(String[] args) {
    new GuessNumberGame();
  }
}

以上是Java界面版猜数字游戏的代码,我们可以通过阅读代码来加深对Java语言和GUI编程的理解。如果你需要进一步改进游戏,你可以尝试添加计时器、语音提示等功能,让游戏更加有趣。

  
  

评论区