JAVA吃豆豆项目报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

PINGDINGSHANUNIVERSITY

专业实训〔四〕

工程报告

题目:基于JAVA的吃豆豆游戏开发

院(系):软件学院

专业年级:10级

姓名:苏振鹏

学号:101530140

指导教师:黄淼

2012年6月1日

目录

TOC\o1-3\h\z\uPINGDINGSHANUNIVERSITY 0

1工程简介 2

1.1工程意义 2

1.2工程说明 2

1.3关键技术 3

2总体设计 3

2.1主类设计 3

2.2各个模块的设计 4

3详细设计与实现 6

3.1地图的刷新绘制 6

3.2地图路径与豆豆路径的生成 7

3.3碰撞检测代替的实现 9

3.4怪物自动路径的设置 10

3.5被怪物追到以及吃到豆豆的检测 12

4工程截图 13

4.1主界面 13

4.2游戏积分 14

4.3游戏失败 14

5工程说明 14

5.1游戏程序打包 14

6结论 15

1工程简介

1.1工程意义

实现小时候PC上经典游戏,吃豆子。练习JAVA根底技能。掌握图片绘制方法,刷新方法。以及多线程的使用,文件读取与操作,字符串的分析等诸多技能。完成课程设计。

1.2工程说明

吃豆豆游戏规那么介绍:黄色的是吃豆豆主角,你需要把画面内所有白色的小豆豆都吃掉,而同时又有数个各种颜色的怪物追杀。如果被怪物追上,代表游戏失败并结束。如果吃光了所有白色小豆豆,那么恭喜你,您过关了。

游戏操作:空格开始游戏,按上下左右键控制主角移动方向。

1.3关键技术

本工程采用JAVA编程语言进行开发。使用JFrame做窗体,Graphice做画笔绘制图形。其中关键技术包括:

1、画面的绘制与更新。

2、怪物自动行进路线的设计。

3、吃豆豆方向的控制。

4、豆豆被吃掉以及主角被怪物抓到的检测。

5、更新吃豆豆得到的分数。

6、地图的生成与制作

7、地图集的解析

8、碰撞检测的代替

2总体设计

2.1主类设计

主类

主类

界面类

主角类

豆豆类

怪物类

资源类

地图类

豆豆路径类

行走路径类

共包含8个类。分别是主类EatBean、界面类Frame、主角类Bean、豆豆类Food、怪物类Monster、资源类StaticValue、豆豆路径类MakeFood、行走路径类MakeMap

2.2各个模块的设计

Frame类:

继承JFrame类,在paint方法中,实现对界面的绘制,并将界面线绘制到缓存中,再绘制到界面上,防止出现刷新闪烁现象。地图直接采用背景图片,无须绘制方式。用了特殊的方法处理了与地图的碰撞处理。将在随后的详细设计中介绍。

实现KeyListener与Runnable接口。初始化声明主角、豆豆、怪物类。监听KeyListener中的keyPressed方法,获取键盘上VK_UP、下VK_DOWN、左VK_RIGHT、右VK_LEFT、空格VK_SPACE来开始游戏,并调用Bean类的控制方法来控制主角的上下左右的行动。Runnable接口中的run方法负责每30毫秒调用repaint方法重绘地图,刷界面。

addSoucre方法,当主角吃下一个豆豆的时候调用改方法。并判定是否吃完所有的豆豆,如果吃完所有豆豆,判断游戏获胜,停止怪物的移动。并在游戏界面中心显示youwin。

gameOver方法,当怪物追到主角的时候,调用该方法。判定游戏结束,显示youlose。

writeMap方法在程序中未被执行。是制作地图的时候需要使用的方法,以保存行走路径。

Bean类:

包含属性x,y,tx,ty,image,listPonit,listFood,makeMap,monsters等。实现局部属性的get方法。初始化中,获取怪物数组以及食物数组。

利用left、right、up、down来改变想x,y坐标来实现主角的移动。并讲值先赋予tx,ty临时坐标。检测tx,ty是否在行动路线坐标集中。如果存在,说明可以移动,那么将tx,ty赋予x,y。否那么不可移动,对tx,ty进行复原,即不做移动处理。主角将不能移动。

继承Runnable接口,在run方法中完成对吃食物已经被怪物追到的判断处理。因为3方都是在既定路线中行进。只需判断是否出现坐标重复既可,但是为了防止出现相邻都无事,进行泛判断。只要在一个很近的距离内

文档评论(0)

181****7662 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档