java推箱子游戏源代码
第一个Java文件:
import ;
import ;
import ;
import ;
import ;
import ;
public class GameFrame extends JFrame {
JPanel zhuobu = new JPanel();
//工人
JLabel worker = null;
//箱子
JLabel box = null;
//目的地
JLabel goal = null;
JLabel[] walls = null;
//设置图片大小
int imgSize = 48;
public void setImgSize(int imgSize){
= imgSize;
}
public GameFrame(String title) throws HeadlessException {
super(title);
//构造方法中调用本类的其它方法
();
}
/**
* 设置内容面板
*/
void initContentPane() {
();
(null);
//调用父类的属性和方法
(zhuobu);
}
/**
* 把某个图片以组件的方式加入窗体
* ***@param imgPath 图片路径
* ***@param x x
* ***@param y y
* ***@param width 宽度
* ***@param height 高度
* ***@return 添加完的组件
*/
void addComponent(int tag, String imgPath, int x, int y) {
ImageIcon img = new ImageIcon(imgPath);
//创建JLabel并把ImageIcon通过构造方法传参传入
//把食物放到盘子里
JLabel componet = new JLabel(img);
//设置盘子在桌布上的位置和大小
(x, y, imgSize, imgSize);
//把盘子放到桌布上
(componet);
switch (tag) {
case 1:
box = componet;
break;
case 2:
goal = componet;
break;
case 3:
worker = componet;
break;
}
}
void addWall(String imgPath, int[][] loactions) {
ImageIcon wallImg = new ImageIcon(imgPath);
walls = new JLabel[66 + ];
for (int i = 0; i < ; i++) {
//创建没每一个围墙,他们使用的是同一个图片
walls[i] = new JLabel(wallImg);
}
for (int i = 0; i < ; i++) {
//创建没每一个围墙,他们使用的是同一个图片
walls[i] = new JLabel(wallImg);
}
int index = 0;
/*分别设置各个图片位置*/
for (int i = 0; i < 14; i++) {
//左边墙
walls[index].setBounds(0, i * imgSize, imgSize, imgSize);
(walls[index]);
index++;
//右边墙
walls[index].setBounds(20 * imgSize, i * imgSize, imgSize, imgSize);
(walls[index]);
index++;
}
for (int i = 0; i < 19; i++) {
//上边墙
walls[index].setBounds((i + 1) * imgSize, 0, imgSize, imgSize);
(walls[index]);
index++;
java推箱子游戏源代码 来自淘豆网m.daumloan.com转载请标明出处.