Java五子棋游戏:带你打造炫酷游戏界面

想要用Java写一个界面更吸引人的五子棋游戏?没问题!以下代码示例将带你实现:javaimport javax.swing.;import java.awt.;import java.awt.event.*;

public class Gobang extends JFrame { private final int BOARD_SIZE = 15; private final int PIECE_SIZE = 30; private final int WINDOW_SIZE = BOARD_SIZE * PIECE_SIZE; private boolean isBlackTurn = true; private int[][] board = new int[BOARD_SIZE][BOARD_SIZE];

public Gobang() {        setTitle('五子棋');        setSize(WINDOW_SIZE, WINDOW_SIZE);        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        setLocationRelativeTo(null);        setResizable(false);

    BoardPanel boardPanel = new BoardPanel();        add(boardPanel);

    boardPanel.addMouseListener(new MouseAdapter() {            @Override            public void mouseClicked(MouseEvent e) {                int x = e.getX() / PIECE_SIZE;                int y = e.getY() / PIECE_SIZE;

            if (x >= 0 && x < BOARD_SIZE && y >= 0 && y < BOARD_SIZE && board[x][y] == 0) {                    board[x][y] = isBlackTurn ? 1 : 2;                    isBlackTurn = !isBlackTurn;                    repaint();                }            }        });    }

private class BoardPanel extends JPanel {        @Override        protected void paintComponent(Graphics g) {            super.paintComponent(g);

        for (int i = 0; i < BOARD_SIZE; i++) {                g.drawLine(i * PIECE_SIZE, 0, i * PIECE_SIZE, WINDOW_SIZE);                g.drawLine(0, i * PIECE_SIZE, WINDOW_SIZE, i * PIECE_SIZE);            }

        for (int i = 0; i < BOARD_SIZE; i++) {                for (int j = 0; j < BOARD_SIZE; j++) {                    if (board[i][j] == 1) {                        g.setColor(Color.BLACK);                        g.fillOval(i * PIECE_SIZE - PIECE_SIZE / 2, j * PIECE_SIZE - PIECE_SIZE / 2, PIECE_SIZE, PIECE_SIZE);                    } else if (board[i][j] == 2) {                        g.setColor(Color.WHITE);                        g.fillOval(i * PIECE_SIZE - PIECE_SIZE / 2, j * PIECE_SIZE - PIECE_SIZE / 2, PIECE_SIZE, PIECE_SIZE);                    }                }            }        }    }

public static void main(String[] args) {        SwingUtilities.invokeLater(() -> {            Gobang gobang = new Gobang();            gobang.setVisible(true);        });    }}

代码解析:

  1. 导入必要库: 导入了javax.swing.*java.awt.* 以及 java.awt.event.* 用于图形界面和事件处理。2. 创建主窗口: Gobang类继承自JFrame,作为游戏主窗口。3. 定义棋盘: 使用 BOARD_SIZE 定义棋盘大小,PIECE_SIZE 定义棋子大小,board 二维数组存储棋盘数据 (0: 空白, 1: 黑子, 2: 白子)。4. 绘制棋盘: BoardPanel 类继承自 JPanel,负责绘制棋盘和棋子。5. 落子逻辑: 监听鼠标点击事件,根据点击位置和当前玩家落子。6. 游戏循环: 使用 SwingUtilities.invokeLater 确保界面创建和更新在事件调度线程中进行。

进阶玩法:

  • 实现胜负判断: 在每次落子后检查是否形成五子连线。* 添加玩家信息: 显示当前玩家和游戏结果。* 美化界面: 使用更精美的图片作为棋盘和棋子。

通过以上步骤,你就可以用Java创建一个简单的五子棋游戏啦!尽情发挥你的创意,打造更有趣的游戏吧!

Java五子棋游戏:带你打造炫酷游戏界面

原文地址: http://www.cveoy.top/t/topic/fORP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录