迷宫day01


day01是对界面的布置

1.Config 中是游戏中主要属性的定义

2.GamePanel 中是各个组件(如:墙,人等的重绘)图片的加载,动作

3.MainFrame中是写窗口的性质的(注意:因为要将GamePanel的重绘动作加载进来,

所以需要private GamePanel game=new GamePanel();)

4.对于图片:

   a.定义:private BufferedImage wall;
private BufferedImage left[]=new BufferedImage[4];

   b. 连入: wall=ImageIO.read(this.getClass().getResource("/com/res/wall.jpg"));

for(int i=1;i<=4;i++)
{
left[i-1]=ImageIO.read(this.getClass().getResource("/com/res/2_"+i+".jpg"));
}

   c.对游戏界面的重绘是对于程序的,“迷宫是对数组的重绘“

//是在下面单独右键-source-ove'....-JCompent-paint()


          public void paint(Graphics g) {

super.paint(g);
for(int i=0;i<Config.map.length;i++)
{
for(int j=0;j<Config.map[i].length;j++)
{
if(Config.map[i][j]==Config.WALL)
{
g.drawImage(wall, Config.WIDTH*j, Config.WIDTH*i, null);
}
}
}

以下为程序:


Config.java

package com.cisst;


public class Config {
public static int SWIDTH=660;
public static int SHEIGHT=660;
public static  int WIDTH=66;

public static int LEFT=1;
public static int RIGHT=2;
public static int UP=3;
public static int DOWN=4;

public static int RODE=0;
public static int WALL=1;
public static int ENTER=2;
public static int EXIT=3;
public static int [][] map=new int[][]
{
{1,3,1,1,1,1,1,1,1,1},
{1,0,0,0,1,1,0,1,1,1},
{1,1,1,0,0,0,0,1,1,1},
{1,0,0,0,1,1,0,1,0,1},
{1,0,1,1,1,0,0,0,1,1},
{1,0,0,1,1,0,1,1,1,1},
{1,1,0,0,0,0,0,0,1,1},
{1,1,1,1,1,1,1,0,1,1},
{1,1,1,0,0,0,0,0,1,1},
{1,1,1,2,1,1,1,1,1,1}

};


}



GamePanel.java


package com.cisst;


import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;


import javax.imageio.ImageIO;
import javax.swing.JPanel;


public class GamePanel extends JPanel {

private BufferedImage wall;
private BufferedImage left[]=new BufferedImage[4];
private BufferedImage right[]=new BufferedImage[4];
private BufferedImage up[]=new BufferedImage[4];
private BufferedImage down[]=new BufferedImage[4];


public GamePanel()
{
super();
this.setSize(Config.SWIDTH,Config.SHEIGHT);
this.setVisible(true);
initImage();
}
/*初始化游戏中的图片*/
public void initImage()
{
try {
wall=ImageIO.read(this.getClass().getResource("/com/res/wall.jpg"));

for(int i=1;i<=4;i++)
{
left[i-1]=ImageIO.read(this.getClass().getResource("/com/res/2_"+i+".jpg"));
}
for(int i=1;i<=4;i++)
{
right[i-1]=ImageIO.read(this.getClass().getResource("/com/res/3_"+i+".jpg"));
}
for(int i=1;i<=4;i++)
{
up[i-1]=ImageIO.read(this.getClass().getResource("/com/res/4_"+i+".jpg"));
}
for(int i=1;i<=4;i++)
{
down[i-1]=ImageIO.read(this.getClass().getResource("/com/res/1_"+i+".jpg"));
}


} catch (IOException e) {

System.out.println("ERROR_001_加载图片出错");
e.printStackTrace();
}
}
@Override
public void paint(Graphics g) {

super.paint(g);
for(int i=0;i<Config.map.length;i++)
{
for(int j=0;j<Config.map[i].length;j++)
{
if(Config.map[i][j]==Config.WALL)
{
g.drawImage(wall, Config.WIDTH*j, Config.WIDTH*i, null);
}
}
}
}



}


MainFrame.java

package com.cisst;


import javax.swing.JFrame;


public class MainFrame extends JFrame {


private GamePanel game=new GamePanel();
public MainFrame()
{

super("迷宫1");

this.setSize(Config.SWIDTH+30,Config.SHEIGHT+33);
this.setLocation(100,10);

this.add(game);

this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
       new MainFrame();
}


}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值