java开放性实验报告贪吃蛇

java开放性实验报告贪吃蛇

ID:21686045

大小:104.00 KB

页数:12页

时间:2018-10-23

java开放性实验报告贪吃蛇_第1页
java开放性实验报告贪吃蛇_第2页
java开放性实验报告贪吃蛇_第3页
java开放性实验报告贪吃蛇_第4页
java开放性实验报告贪吃蛇_第5页
资源描述:

《java开放性实验报告贪吃蛇》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、电子与信息工程系开放性实验报告JAVA程序设计开放性实验报告专业:计算机科学与技术班级:2012级2班学号:姓名:电子与信息工程系开放性实验报告实验2贪吃蛇游戏设计(4学时)1.实验内容(1)创建软件主窗体和相关控制菜单;在窗体中以图形模拟蛇的形状,使用键盘控制图形在窗体中任意移动,模拟贪吃蛇的行为.(2)在窗体中可以设置障碍或奖励物品,以达到游戏的娱乐性。2.预习内容JavaGUI编程;鼠标和键盘的事件处理;Java多媒体编程。3.实验类型综合性4.实验目的(1)了解JavaGUI编程特别是窗体,菜单;熟悉Java的事件委托处理机制

2、,能完成鼠标和键盘的事件处理;(2)熟悉Java中的多媒体技术如:音频文件的播放控制,游戏中各种事件的音效添加。熟悉Java中的绘图操作,可以使用绘图函数进行图形的绘制和重绘等基本操作;(3)熟悉模块的划分及游戏控制类的编写,了解相关的游戏设计和实现模式;(4)设计可视化界面,添加其他必要组件,对窗体进行相应的键盘事件处理,使蛇能移动,依据实验内容结合自己的设计想法,实现模拟贪吃蛇的游戏效果。5.实验要求依据实验内容,编写相关类,实现所需软件功能。6.实验过程(分析设计、源文件、执行结果)代码如下:电子与信息工程系开放性实验报告1、N

3、ode类publicclassNode{privateintx;privateinty;publicNode(){}publicNode(intx,inty){this.x=x;this.y=y;}publicintgetX(){returnx;}publicvoidsetX(intx){this.x=x;}publicintgetY(){returny;}publicvoidsetY(inty){this.y=y;电子与信息工程系开放性实验报告}publicStringtoString(){//方便类型转换//括号里不是String

4、类型通过toString来转换,不然会输出一个地址return"("+x+","+y+")";}@Override//伪代码可以理解为注释,重写:下面的方法名是否在父类中存在,如果没有//的话会报错。//publicinthashCode(){//假设Node是list集合里面,只有把Node节点对象//放在set集合时候写hashCode();finalintprime=31;intresult=1;result=prime*result+x;result=prime*result+y;returnresult;}@Override

5、//比较Node对象是否在同一坐标都要写上equals方法publicbooleanequals(Objectobj){if(this==obj){returntrue;}if(this==null){returnfalse;}if(getClass()!=obj.getClass())returnfalse;Nodeother=(Node)obj;if(x!=other.x){returnfalse;}if(y!=other.y){returnfalse;}returntrue;}}2、Worm类importjava.util.Li

6、nkedList;publicclassWorm{privateLinkedListworm=newLinkedList();intdir;publicstaticfinalintUP=-1;publicstaticfinalintDOWN=1;publicstaticfinalintLEFT=-10;publicstaticfinalintRIGHT=10;publicstaticfinalintROWS=400;//ROWS行。宽度范围,publicstaticfinalintCOLS=500;//COLS

7、列。长度范围publicWorm(){getWorm().add(newNode(90,90));//第90行90列,蛇扩大10倍getWorm().add(newNode(80,90));getWorm().add(newNode(70,90));getWorm().add(newNode(60,90));getWorm().add(newNode(50,90));dir=RIGHT;}publicvoidstep(){//走一步Nodehead=getWorm().get(0);//找到头节点intx=head.getX()+di

8、r/10*10;//X,Y横坐标与纵坐标inty=head.getY()+dir%10*10;if(x>0&&x0&&y

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

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

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