21xrx.com
2024-06-02 17:17:48 Sunday
登录
文章检索 我的文章 写文章
用Java编写简单的游戏
2023-06-11 12:26:51 深夜i     --     --
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();

  }

}

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

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

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复