21xrx.com
2025-06-27 15:42:03 Friday
登录
文章检索 我的文章 写文章
用Java编写简单的游戏
2023-06-11 12:26:51 深夜i     26     0
Java 游戏编程 GUI编程

在本文中,我们将使用Java编写一个简单的游戏。游戏的目标是通过控制一些元素来达成目标。我们将使用Java中的Swing库来创建GUI和处理用户输入。

首先,我们需要创建一个窗体。下面是创建一个简单窗体的Java代码:

import javax.swing.*;
public class GameWindow extends JFrame {
  public GameWindow() {
    setTitle("Welcome to My Game");
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setSize(300, 200);
    setLocationRelativeTo(null);
    setVisible(true);
  }
  
  public static void main(String[] args) {
    new GameWindow();
  }
}

运行上面的代码,你将看到一个简单的窗体在屏幕上显示。

接下来,让我们添加一些控件到窗体上。我们可以使用JPanel容器来放置控件。下面是一个使用JPanel来放置按钮的例子:

import javax.swing.*;
public class GameWindow extends JFrame {
  public GameWindow() {
    setTitle("Welcome to My Game");
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
    JPanel panel = new JPanel();
    JButton button = new JButton("Click me!");
    panel.add(button);
    getContentPane().add(panel);
    
    setSize(300, 200);
    setLocationRelativeTo(null);
    setVisible(true);
  }
  
  public static void main(String[] args) {
    new GameWindow();
  }
}

这个例子可以在窗体上添加一个按钮,当你点击按钮时,将会看到一些反应。

现在,我们已经可以创建一个基本的游戏窗口。接下来,让我们尝试添加一些逻辑。让我们试着创建一个简单的游戏,玩家需要点击一个动态生成的按钮来得分。

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
public class GameWindow extends JFrame {
  private int score = 0;
  private JLabel scoreLabel;
  private JButton randomButton;
  public GameWindow() {
    setTitle("Welcome to My Game");
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    JPanel panel = new JPanel();
    randomButton = new JButton("Click me!");
    randomButton.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        score++;
        scoreLabel.setText("Score: " + score);
        randomButton.setLocation(getRandomLocation());
      }
    });
    scoreLabel = new JLabel("Score: " + score);
    panel.setLayout(null);
    panel.add(randomButton);
    panel.add(scoreLabel);
    getContentPane().add(panel);
    setSize(300, 200);
    setLocationRelativeTo(null);
    setVisible(true);
    randomButton.setLocation(getRandomLocation());
  }
  private Point getRandomLocation() {
    Random rand = new Random();
    int x = rand.nextInt(getWidth() - randomButton.getWidth());
    int y = rand.nextInt(getHeight() - randomButton.getHeight());
    return new Point(x, y);
  }
  public static void main(String[] args) {
    new GameWindow();
  }
}

在上面的例子中,我们使用了一个随机位置来放置按钮。每次玩家点击按钮时,得分会增加,并且按钮会随机移动到一个新的位置。

至此,我们已经完成了一个非常简单的游戏。这只是一个开始。我们可以使用这个简单的游戏作为基础,添加更多的元素和游戏机制来丰富它。一切都取决于你的想象力。

  
  

评论区