贪吃蛇手机游戏设计.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《贪吃蛇手机游戏设计.doc》由会员分享,可在线阅读,更多相关《贪吃蛇手机游戏设计.doc(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、中文摘要:摘要贪吃蛇是经典的游戏之一,每个人的童年都有玩过这类游戏,尤其是在手机上较为常见。这次选择这个游戏作为我的题材主要是因为这个游戏它需要的编程知识很多,而且我在原来的游戏基础上加以改良,拥有自己独特的玩法,也算是一件比较有意义的事情,同时也能使我的编程能力得到较大的提升。英文摘要:AbstractSnake is a classic game, everyones childhood are played this game, especially in the more common mobile phone. The choice of this game as my subjec
2、t is mainly because this game it requires knowledge of programming a lot, and I in the original game to be based on the improved, has its own unique gameplay, it is a meaningful thing, also can make my programming ability to get bigger promotion.目录第一章 前言- 1 -1.1关于贪吃蛇- 1 -1.1.1贪吃蛇功能- 1 -1.1.2贪吃蛇背景- 1
3、 -1.2关于编程环境- 1 -1.3关于游戏兼容性- 1 -第二章 概要设计- 2 -2.1贪吃蛇含有的方法- 2 -2.1.1贪吃蛇结构- 2 -2.1.2游戏流程- 2 -第三章 贪吃蛇实现- 4 -3.1贪吃蛇各个方法概述- 4 -3.1.1方法概述- 4 -3.1.2成员变量- 4 -3.1.3资源分配- 5 -3.2贪吃蛇游戏流程实现- 5 -3.2.1主窗口初始化- 5 -3.2.2初始化蛇和食物- 6 -3.2.3开始游戏- 7 -3.2.4无敌模式- 9 -3.2.5双蛇模式- 9 -第四章 结果与讨论- 10 -4.1程序运行和不足之地- 10 -4.2错误调试与分析- 1
4、2 -第一章 前言1.1关于贪吃蛇1.1.1贪吃蛇的功能贪吃蛇的主要功能包含:(1) 能有键盘控制四处走动。(2) 屏幕左上角含有分数计数器。(3) 游戏结束画面。(4) 食物能随时间的变动而变动颜色,主要为红绿。(5) 能够吃食物,并且能随着吃到的食物而增长身体。(6) 无敌模式。1.1.2贪吃蛇背景贪吃蛇在我小时候留下很大的印象,而且它运用到的编程知识不比其他的游戏少,线程,双缓存,等等。麻雀虽小五脏俱全。贪吃蛇也包含人生哲理,和别的游戏不同,贪食蛇是一个悲剧性的游戏。许多电子游戏都是打通关打到底,游戏操作者以胜利而告终。而贪食蛇的结局却是死亡。不管你玩得多么纯熟,手艺多么高超,你最终听到
5、的都是小蛇那一声惨叫。当手机上的小蛇越长越长,积分越来越高的时候,死亡也就越来越近。那时候忙的不是为了吃蛋长身体,而是为了避免撞墙。你会发现你穷于应付,四处奔忙。树高风摧,福兮祸倚,这不是宿命又是什么?1 所以我加上自己的无敌模式,使得在游戏的疲劳之时能够拥有不死之身。这也是一种兴趣,而且还可以帮助我提高编程能力,所以我选择这个题目。1.2关于编程环境本游戏采用JAVA语言编写,用MyEclipse 10的英文版本进行编译。MyEclipse,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不
6、错。2 运行环境是在win7下,并且在linux版本ubuntu系统中也可以运行。1.3关于兼容性本程序经过调试,可以在win7系统下编译运行,也可以在linux下运行,界面稍有不同,但不影响运行结果。但是要注意jdk版本的一致否则linux下将运行失败。在linux下运行要下载最新版本的jdk。第二章 概要设计2.1贪吃蛇含有的各种类2.1.1贪吃蛇类结构类GameJFrame:主要实现了游戏窗口的大小和线程启动以及paint方法。才能使得贪吃蛇动起来。这个类包含有main方法,是游戏的入口类。故在各个类中都含有对GameJFrame的引用,为得是使得调用GameJFrame方法以及成员变量
7、更加的方便,同时实现了事件监听,对键盘的游戏键进行了监听,具体实现监听的方法在Snake里面实现。类Snake:主要实现了贪吃蛇的各种方法。包括判断是否是上帝模式,重新开始游戏的方法reApear,吃到食物时候在蛇头加一个点addToHead方法,当然也可以设置把食物加到贪吃蛇的尾巴addToTail,自身的draw方法,用来画出自己。还有判断是否吃到食物的方法eat,键盘监听等等。类Food:用于勾勒出食物的各种属性和方法。构造方法含有两个,一个是无参数的,一个是有参数的,有参数的可以自己定义食物在屏幕的任何方向。reApear方法,当蛇把食物吃了可以让食物随机重新出现,把自己画出来的方法d
8、raw,还有一个方法是用于判断是否被蛇吃到的getRect(),eat方法要判断时候需要传入这个方法的返回值。Game类Direction:用于方向的枚举类。包含的方向有上(U)下(D)左(L)右(R),可用于蛇节点的方向,蛇的方向就是蛇头的方向。DirectionGameJFrameFoodSnakeNode(内部类)KeyMonitor(内部类)PaintThread(内部类)图2-1 贪吃蛇结构图2.1.2游戏流程启动游戏时候,先有GameJFrame类构造自身,并且调用LaunchGameJFrame方法,开始创建窗口包括窗口的大小,然后开启线程,开启事件监听,开始画出直线和背景,并调
9、用贪吃蛇自身的画画方法和食物的画画方法,游戏初始化完毕。当键盘监听到按键时候开始调用贪吃蛇本身的事件监听处理方法KeyPressed方法,而第二只蛇由于方向跟第一只蛇的方向不同所以第二只蛇调用的是KeyPressedDouble方法。并对按键做处理,同时判断游戏是否结束以及是否吃到食物等。当开启上帝模式时候,判断游戏结束的方法将换成如果超出边界则由另外一边重新出现贪吃蛇。当没有开启上帝模式的时候,超出边界则游戏结束,出现游戏结束画面。 正常游戏界面 游戏结束界面双蛇模式加上帝模式界面第三章 贪吃蛇实现3.1贪吃蛇各个方法概述根据程序的结构,将贪吃蛇需要实现的功能细化成为相应的函数。各个类含有的
10、方法如下:3.1.1方法概述类GameJFrame:Public void launchGame() ;/初始化游戏界面Public int getScore();/获得分数Public void setScore(int);/设置分数Public void paint(Graphics);/画出游戏界面方法Public void update(Graphics);/双缓存技术防止画面闪烁内部类PaintThread:Public void run();/线程run方法Public void pause();/线程暂停Public void reStart();/线程重新开始Public st
11、atic void main(String);/main方法内部类KeyMonitor:Public KeyMonitor(GameJFrame);/构造方法Public void keyPressed(KeyEvent);/键盘监听Public void gameOver();/游戏结束类Snake:Public Boolean isGodModen();/判断是否上帝模式Public void setGodModen(Boolean);/设置开启上帝模式Public Snake(GameJFrame);/构造方法Public Snake(GameJFrame,int,int);/第二只蛇的
12、构造方法Public void reAppear(GameJFrame);/重新安排蛇的位置Public void reAppear(GameJFrame,int,int);/重新安排蛇的位置Public void addToHead();/增加蛇的长度到头结点Public void addToTail();/增加蛇的长度到尾巴Public void draw(Graphics);/画出自己Private Rectangle getRect();/返回RectanglePublic void eat(Food);/吃食物Public void keyPressed(KeyEvent);/键盘按
13、键处理方法Public void keyPressedDouble(KeyEvent);/第二只蛇键盘处理方法Public void move();/贪吃蛇移动Private void checkDead();/检查死亡Private void deleteFromTail();/删除尾巴内部类Node:Public Node(int,int,Direction);/点类的构造方法Public void draw(Graphics);/画出点的方法类Food:Public Food(int,int);/食物构造方法,指定位置生成食物Public Food();/食物构造方法,不知道位置Publ
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 贪吃 手机 游戏 设计
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内