首页 推箱子游戏java源代码

推箱子游戏java源代码

举报
开通vip

推箱子游戏java源代码推箱子游戏java源代码第一个Java文件: import java.awt.Color; import java.awt.HeadlessException; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; public class GameFrame extends JFrame { JPanel zhuobu = new...

推箱子游戏java源代码
推箱子游戏java源代码第一个Java文件: import java.awt.Color; import java.awt.HeadlessException; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; 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){ this.imgSize = imgSize; } public GameFrame(String title) throws HeadlessException { super(title); //构造方法中调用本类的其它方法 this.initContentPane(); } /** * 设置内容面板 */ void initContentPane() { zhuobu.setBackground(Color.red); zhuobu.setLayout(null); //调用父类的属性和方法 super.setContentPane(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); //设置盘子在桌布上的位置和大小 componet.setBounds(x, y, imgSize, imgSize); //把盘子放到桌布上 zhuobu.add(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 + loactions.length]; for (int i = 0; i < walls.length; i++) { //创建没每一个围墙,他们使用的是同一个图片 walls[i] = new JLabel(wallImg); } for (int i = 0; i < walls.length; i++) { //创建没每一个围墙,他们使用的是同一个图片 walls[i] = new JLabel(wallImg); } int index = 0; /*分别设置各个图片位置*/ for (int i = 0; i < 14; i++) { //左边墙 walls[index].setBounds(0, i * imgSize, imgSize, imgSize); zhuobu.add(walls[index]); index++; //右边墙 walls[index].setBounds(20 * imgSize, i * imgSize, imgSize, imgSize); zhuobu.add(walls[index]); index++; } for (int i = 0; i < 19; i++) { //上边墙 walls[index].setBounds((i + 1) * imgSize, 0, imgSize, imgSize); zhuobu.add(walls[index]); index++; //下边墙 walls[index].setBounds((i + 1) * imgSize, 13 * imgSize, imgSize, imgSize); zhuobu.add(walls[index]); index++; } //添加中间障碍耦合解耦 for (int i = 0; i < loactions.length; i++) { walls[index].setBounds(loactions[i][0]* imgSize, loactions[i][1]* imgSize, imgSize, imgSize); zhuobu.add(walls[index]); index++; } } } 第二个Java文件: public class Run { public static void main(String[] args) { GameFrame gameFrame = new GameFrame("推箱子游戏…"); //设置大小 gameFrame.setBounds(100, 50, 21 * 48 + 5, 14 * 48 + 25); //窗体大小不可变 gameFrame.setResizable(false); gameFrame.setImgSize(48); gameFrame.addComponent(3, "workerUp.png", 400, 100); gameFrame.addComponent(1, "box.png", 160, 60); gameFrame.addComponent(2, "goal.png", 80, 520); int[][] wallLocations ={ {4, 5},{5, 5},{6, 5},{7, 5}, {8, 5},{9, 5},{10, 5},{6, 8}, {7, 8}, {8, 8}, {9, 8}, {10, 8}, {11, 5} }; gameFrame.addWall("wall.png", wallLocations); gameFrame.setVisible(true); } }
本文档为【推箱子游戏java源代码】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_954223
暂无简介~
格式:doc
大小:22KB
软件:Word
页数:8
分类:互联网
上传时间:2019-02-03
浏览量:150