欢迎来到天天文库
浏览记录
ID:9843306
大小:36.00 KB
页数:4页
时间:2018-05-12
《java推箱子游戏源代码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第一个Java文件:importjava.awt.Color;importjava.awt.HeadlessException;importjavax.swing.ImageIcon;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JPanel;publicclassGameFrameextendsJFrame{JPanelzhuobu=newJPanel();//工人JLabelworker=null;//箱子J
2、Labelbox=null;//目的地JLabelgoal=null;JLabel[]walls=null;//设置图片大小intimgSize=48;publicvoidsetImgSize(intimgSize){this.imgSize=imgSize;}publicGameFrame(Stringtitle)throwsHeadlessException{super(title);//构造方法中调用本类的其它方法this.initContentPane();}/***设置内容面板*/voidi
3、nitContentPane(){zhuobu.setBackground(Color.red);zhuobu.setLayout(null);//调用父类的属性和方法super.setContentPane(zhuobu);}/***把某个图片以组件的方式加入窗体*@paramimgPath图片路径*@paramxx*@paramyy*@paramwidth宽度*@paramheight高度*@return添加完的组件*/voidaddComponent(inttag,StringimgPath,i
4、ntx,inty){ImageIconimg=newImageIcon(imgPath);//创建JLabel并把ImageIcon通过构造方法传参传入//把食物放到盘子里JLabelcomponet=newJLabel(img);//设置盘子在桌布上的位置和大小componet.setBounds(x,y,imgSize,imgSize);//把盘子放到桌布上zhuobu.add(componet);switch(tag){case1:box=componet;break;case2:goal=co
5、mponet;break;case3:worker=componet;break;}}voidaddWall(StringimgPath,int[][]loactions){ImageIconwallImg=newImageIcon(imgPath);walls=newJLabel[66+loactions.length];for(inti=0;i6、=0;i7、gSize,imgSize,imgSize);zhuobu.add(walls[index]);index++;}for(inti=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(8、walls[index]);index++;}//添加中间障碍耦合解耦for(inti=0;i
6、=0;i7、gSize,imgSize,imgSize);zhuobu.add(walls[index]);index++;}for(inti=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(8、walls[index]);index++;}//添加中间障碍耦合解耦for(inti=0;i
7、gSize,imgSize,imgSize);zhuobu.add(walls[index]);index++;}for(inti=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(
8、walls[index]);index++;}//添加中间障碍耦合解耦for(inti=0;i
此文档下载收益归作者所有