你可以在 panel3 中添加游戏地图。下面是一个简单的示例:
// 游戏地图数组,用数字表示不同的物体,比如0表示空地、1表示玩家、2表示箱子等等
int[][] map = new int[][]{
{0, 0, 0, 0, 0},
{0, 1, 2, 2, 0},
{0, 0, 2, 0, 0},
{0, 2, 2, 1, 0},
{0, 0, 0 ,0 ,0}
};
// 游戏地图每个格子的大小(像素)
int gridSize = 50;
// 创建一个 JPanel 来显示游戏地图
JPanel gameMapPanel = new JPanel() {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
// 遍历游戏地图数组,绘制每个格子
for (int i = 0; i < map.length; i++) {
for (int j = 0; j < map[i].length; j++) {
int x = j * gridSize;
int y = i * gridSize;
switch (map[i][j]) {
case 1: // 玩家
g.setColor(Color.BLUE);
g.fillRect(x + gridSize /4 , y + gridSize /4 , gridSize /2 , gridSize /2 );
break;
case 2: // 箱子
g.setColor(Color.ORANGE);
g.fillRect(x + gridSize /4 , y + gridSize /4 , gridSize /2 , gridSize /2 );
break;
default: // 空地
g.setColor(Color.WHITE);
g.fillRect(x, y, gridSize, gridSize);
break;
}
}
}
}
};
// 设置游戏地图面板的大小
gameMapPanel.setPreferredSize(new Dimension(gridSize * map[0].length, gridSize * map.length));
// 把游戏地图面板添加到 panel3 中
panel3.add(gameMapPanel);
上述代码中,我们首先定义了一个表示游戏地图的二维数组 map,然后创建了一个 JPanel 来显示游戏地图,并通过重写 paintComponent() 方法来绘制每个格子。最后,把游戏地图面板添加到 panel3 中即可。
你可以根据自己的需要修改上述示例代码中的数组和颜色等参数,以实现更加丰富多彩的游戏界面。




