您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > java推箱子游戏源代码
第一个Java文件:importjava.awt.Color;importjava.awt.HeadlessException;importjavax.swing.ImageIcon;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JPanel;publicclassGameFrameextendsJFrame{JPanelzhuobu=newJPanel();//工人JLabelworker=null;//箱子JLabelbox=null;//目的地JLabelgoal=null;JLabel[]walls=null;//设置图片大小intimgSize=48;publicvoidsetImgSize(intimgSize){this.imgSize=imgSize;}publicGameFrame(Stringtitle)throwsHeadlessException{super(title);//构造方法中调用本类的其它方法this.initContentPane();}/***设置内容面板*/voidinitContentPane(){zhuobu.setBackground(Color.red);zhuobu.setLayout(null);//调用父类的属性和方法super.setContentPane(zhuobu);}/***把某个图片以组件的方式加入窗体*@paramimgPath图片路径*@paramxx*@paramyy*@paramwidth宽度*@paramheight高度*@return添加完的组件*/voidaddComponent(inttag,StringimgPath,intx,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=componet;break;case3:worker=componet;break;}}voidaddWall(StringimgPath,int[][]loactions){ImageIconwallImg=newImageIcon(imgPath);walls=newJLabel[66+loactions.length];for(inti=0;iwalls.length;i++){//创建没每一个围墙,他们使用的是同一个图片walls[i]=newJLabel(wallImg);}for(inti=0;iwalls.length;i++){//创建没每一个围墙,他们使用的是同一个图片walls[i]=newJLabel(wallImg);}intindex=0;/*分别设置各个图片位置*/for(inti=0;i14;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(inti=0;i19;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(inti=0;iloactions.length;i++){walls[index].setBounds(loactions[i][0]*imgSize,loactions[i][1]*imgSize,imgSize,imgSize);zhuobu.add(walls[index]);index++;}}}第二个Java文件:publicclassRun{publicstaticvoidmain(String[]args){GameFramegameFrame=newGameFrame(推箱子游戏…);//设置大小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推箱子游戏源代码
链接地址:https://www.777doc.com/doc-4805568 .html