推箱子 电信081 陈剑 3080432008

推箱子 电信081 陈剑 3080432008

ID:8458093

大小:79.50 KB

页数:11页

时间:2018-03-28

推箱子 电信081 陈剑 3080432008_第1页
推箱子 电信081 陈剑 3080432008_第2页
推箱子 电信081 陈剑 3080432008_第3页
推箱子 电信081 陈剑 3080432008_第4页
推箱子 电信081 陈剑 3080432008_第5页
资源描述:

《推箱子 电信081 陈剑 3080432008》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、推箱子实验报告1、实验目的运用Java有关知识更进一步掌握编程方法;了解一些小游戏的相关代码,2、设计思路在这个游戏的设计中,牵涉到图形界面的显示与更新、数据的收集与更新,并且在这个游戏的开发中,还要应用类的继承机制以及一些设计模式。玩家和箱子的正确移动,包括对撞墙的检测;当所有的箱子都到达目的地的时候,就提示“恭喜过关”;家可以用键盘的“上下左右”来控制前进的方向;整个代码的思路是:把游戏界面看成一个二维的数组,然后用一个布尔型的数组booleana[][]去填充它。3、设计方法//初始化界面元素publicGamePanel(

2、)加入提示菜单publicstaticvoidmain(Stringargs[]){GameFrameframe=newGameFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.show();JOptionPane.showMessageDialog(null,"红色方块代表玩家把紫色箱子推到蓝框中过关方向键控制方向不能返回到上一步");}要给方块绘制游戏背景,玩家和箱子.,绘制墙壁,绘制目的地.,//定义箱子,玩家和目的地的初始位置i

3、ntx=5;inty=8;man=newNode(x,y);a[x][y]=true;//定义游戏中的箱子的位置,并置为TRUE;b=newNode[4];box=newNode(10,9);a[10][9]=true;b[0]=box;box1=newNode(6,7);a[6][7]=true;b[1]=box1;box2=newNode(11,8);a[11][8]=true;b[2]=box2;box3=newNode(8,8);11a[8][8]=true;b[3]=box3;//定义墙和目的地.createWall()

4、;target=newNode[4];target[0]=newNode(7,9);target[1]=newNode(6,9);target[2]=newNode(7,10);target[3]=newNode(6,10);}publicvoidmove(intd1,intd2){a[man.x][man.y]=false;man.x+=d1;man.y+=d2;//如果所有的箱子到位,则游戏结束publicvoidisArrive(Noden){for(inti=0;i

5、[i].x==n.x&&target[i].y==n.y){list.add(target[i]);}elseif(target[i].x==man.x&&target[i].y==man.y){list.remove(target[i]);}}if(list.size()==target.length){end=true;}}4、流程图游戏开始提示游戏结束游戏过程115、实验过程①实验开始②箱子撞墙③游戏过关116、相关代码importjavax.swing.*;importjava.awt.*;importjava.awt.e

6、vent.*;importjava.util.*;importjava.awt.geom.*;publicclassPushBox{publicstaticvoidmain(Stringargs[]){GameFrameframe=newGameFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.show();JOptionPane.showMessageDialog(null,"红色方块代表玩家把紫色箱子推到蓝框中过关方向键控制方向不能

7、返回到上一步");}}classGameFrameextendsJFrame{staticintnum;publicGameFrame(){setSize(400,400);Containerc=getContentPane();GamePanelpanel1=newGamePanel();c.add(panel1);}}11classGamePanel_2extendsJPanel{publicGamePanel_2(){this.setBackground(Color.BLACK);}}classGamePanelextend

8、sJPanelimplementsKeyListener{intwidth=400;intheight=400;Boxb;Nodeman;Nodebox;Node[]target;intd=1;//移动的步长intsideX=25;intsideY

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。