智能移动终端应用开发设计报告Android贪吃蛇.doc
手机贪吃蛇游戏的开发

手机贪吃蛇游戏的开发随着手机和智能设备的普及和智能化,手机游戏成为了人们休闲娱乐的主要方式之一。
而贪吃蛇游戏作为最受欢迎的游戏之一,在手机游戏市场占有着不可忽视的地位。
那么,如何开发一款优秀的手机贪吃蛇游戏呢?本文将从游戏规则制定、界面设计、操作体验和游戏定位等方面进行探讨。
一、游戏规则制定贪吃蛇游戏最基本的游戏规则是让玩家控制一只蛇,不断地吃食物,随着食物数量的增加,蛇的身体不断变长,同时要避免碰到墙壁或撞到自己的身体,直到游戏结束。
但仅有这样的规则显然不能吸引人们的注意力,需要通过创新和改良来增加游戏性。
首先,可以增加不同种类的食物,有些食物可增加蛇的生命值,有些食物可加速蛇的移动等等。
其次,可以增加障碍物,增加游戏难度;也可以增加减速、加速、反向等陷阱,使游戏更加有趣。
最后,还可以增加多个游戏模式,玩家可以根据自己的喜好进行选择,如单人模式、多人模式、竞技模式等,从而增加游戏的乐趣和可玩性。
二、界面设计游戏界面的设计对于游戏的成功非常重要。
对于手机贪吃蛇游戏,简洁明了、清晰易懂的界面设计能够给玩家带来更好的游戏体验。
首先,游戏界面需要有明显、醒目的游戏标题和LOGO,让人一眼就能识别出游戏的品牌和主题。
其次,需要有良好的色彩搭配和图形元素,使界面不仅美观、大方,还需要具有很好的可读性和视觉冲击。
最后,游戏界面需要简洁,不要过于繁琐,保证玩家可以轻松地找到自己所需要的功能,不断地提升游戏速度和响应速度,让游戏过程更加顺畅。
三、操作体验本质上,贪吃蛇游戏的操作方法就是控制蛇的移动。
在手机贪吃蛇游戏中,如何提供更好的操作体验至关重要。
为了方便操作,需要对游戏进行响应式设计,即玩家在触碰屏幕时,游戏应该迅速给出反馈,提高游戏的感觉与还原度。
此外,还要考虑到不同尺寸屏幕的设备,支持多种操作模式,如摇杆、虚拟按键等,从而满足不同设备和不同游戏玩家的需求,增强用户体验。
四、游戏定位市面上已有很多类似的贪吃蛇游戏,作为开发者,如果想成功推出一款手机贪吃蛇游戏,需要根据不同的用户群体进行定位。
Android休闲类游戏贪吃蛇的设计与实现终稿

○A基础理论●B应用研究○C调查报告○D其他本科生毕业论文(设计)Android休闲类游戏贪食蛇的设计与实现二级学院:信息科学与技术学院专业:计算机科学与技术年级:xxxx级学号:xxxxxxxxxx作者姓名:xxx指导教师:高xx完成日期:20xx年5月20日Android休闲类游戏贪食蛇的设计与实现专业名称:计算机科学与技术作者姓名:xxx指导教师:高xx论文答辩小组组长:杨x成员:高xx张x论文成绩:xx目录第一章绪论 (2)1.1 课题研究背景 (2)1.1.1 手机游戏的发展 (2)1.1.2 Android手机游戏平台 (2)1.2 国内研究状况 (3)第二章 Android 相关技术介绍 (3)2.1 Android 操作系统简介 (3)2.2 系统架构 (4)2.3 Android手机平台的优势 (5)2.4 Android开发环境搭建 (6)2.4.1 Win7系统Android开发平台的搭建过程 (6)第三章游戏设计思想及相关技术 (8)3.1 可行性分析 (8)3.1.1 社会可行性 (8)3.1.2 技术可行性 (8)3.1.3 经济可行性 (8)3.2 游戏策划 (8)3.2.1 游戏定位 (8)3.2.2 游戏背景 (8)3.2.3 设计游戏内容 (9)3.2.4 游戏设计效果图 (10)3.2 游戏框架 (13)3.2.1 游戏的总体框架 (13)3.2.2 游戏总体类图 (13)3.2.3 程序运行步骤 (14)第四章游戏各模块设计与实现 (15)4.1 游戏流程图 (15)4.1游戏常量设计 (15)4.2界面设计 (17)4.2.1游戏主页(MainActivitys) (17)4.2.2 设置页面(SettingActivitys) (20)4.2.3 游戏页面(StarGameActivitys) (29)4.2.3主游戏画面实现(GameSurfaceView) (32)4.2.4食物随机出现 (32)4.2.5控制事件触发 (32)4.2.6得分设置 (35)4.2.7音乐设置 (35)4.2.8小蛇运动和吃食物的碰撞 (37)第五章游戏测试与运行 (40)5.1 游戏测试计划 (40)5.2 游戏测试 (40)5.2.1 游戏运行结果 (41)第六章结论 (45)参考文献 (46)致谢Android休闲类游戏贪吃蛇的设计与实现作者:赵雪韵指导老师:高国宏(湛江师范学院信息学院,湛江 524048)摘要:随着Android系统的谷歌手机产品逐渐占据市场,大多数买智能手机的原因,我想并不是因为android手机用起来非常方便,而因为Android手机上的游戏能消耗时间。
Android贪吃蛇课程设计报告

XXXX学院计算机科学系《Android程序设计》课程设计报告题目:贪吃蛇专业:计算机科学与技术!班级: B11计科班学号: 0姓名:凌波微步Q Q :25指导教师:,2014年6月,目录第一章绪论 (2)游戏简介 (2)开发目的及意义 (3)开发环境及工具 (3)第二章需求分析 (4)游戏界面分析 (4)游戏角色分析 (4)—游戏控制分析 (4)第三章总体设计 (5)系统功能模块层次图 (5)运行机制 (6)贪吃蛇功能流程图 (7)第四章详细设计与实现 (9)SnakeActivity类 (9)MyTile类 (10):NextActivity类 (18)SysApplication类 (19)界面设计 (20)第五章测试 (26)功能测试 (26)测试结果 (27)第六章结论 (27)第一章绪论@游戏简介贪吃蛇游戏是一款手机游戏,同时也是一款比较需要耐心的游戏。
贪吃蛇游戏是一条蛇,不停地在手机屏幕上游走,吃在手机屏幕上出现的食物。
当蛇吃掉1个食物后会变长,并且吃完食物时食物会消失,并立即随机生成1个新的食物,只要蛇头碰到屏幕四周或者碰到自己的身子,蛇就立即毙命。
开发目的及意义通过本次课程设计,了解android软件的开发过程,熟悉并掌握JAVA语言,程序关键在于表示蛇的图形及蛇的移动。
用一个小矩形块表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用一节表示。
移动时必须从蛇头开始,所以蛇不能向相反的方向移动,如果不按任意键,蛇自行在当前方向上前移,但按下有效方向键后,蛇头朝着该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇的身体随蛇头移动。
意义是方便人们在休闲时通过玩手机游戏获得一点快乐,同时锻炼自己的大脑。
开发环境及工具在Window8下进行,采用eclipse开发工具,基于安卓操作系统。
环境搭建:1. JDK安装[2. Eclipse安装3. Android SDK安装4. ADT安装创建AVD-第二章需求分析游戏界面分析操作界面应该人性化设计,提示玩家按什么按键开始游戏,开始游戏之后,在游戏界面中,以坐标的形式对整体界面进行划分,将界面划分为网格,还应设计蛇的样式,食物的样式和墙的样式,在蛇吃到食物后的样式,还有游戏结束时的界面显示,游戏结束后,要显示所得的分数。
基于Android贪吃蛇游戏的设计与实现

Science &Technology Vision科技视界0引言Android 是Google 开发的基于Linux 平台的开源手机操作系统,它包括操作系统、用户界面和应用程序。
手机游戏作为Android 系统平台的一个重要组成部分,正在被越来越多的人所重视。
贪吃蛇游戏由传统街机游戏Blockade 的基础上发展而来,能增强人的反应能力,是一款适用于各个年龄阶段的娱乐性的游戏。
本文基于Android 开发环境,采用Java 语言编程,设计了一个android 的手机应用软件贪吃蛇游戏。
1Android 开发环境Android 开发环境搭建包括JDK、Eclipse、Android SDK、ADT 的安装以及AVD 的创建,步骤如下:(1)JDK 安装,安装完成之后,可以在检查JDK 是否安装成功。
(2)Eclipse 安装。
(3)Android SDK 安装,检查SDK 是否安装成功。
(4)ADT 安装。
(5)创建AVD,为使Android 应用程序可以在模拟器上运行,必须创建AVD,创建AVD 完毕后,检查测试环境是否搭建成功。
2贪吃蛇游戏总体设计2.1功能需求贪吃蛇是一款经典的手机游戏,一条蛇在封闭围墙里,通过按键盘上下左右四个键控制蛇向上下左右四个方向移动,如果蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记1分;若吃到奖励苹果,加两分;若吃到毒苹果,则减3分。
在游戏过程中,如果长按住方向键不放,则蛇的移动速度加快,松开方向键,恢复原速。
如果蛇在移动中撞到墙或障碍物或者蛇头撞倒自己身体,则游戏结束!2.2游戏处理流程游戏运行流程图如下(图1):图1贪吃蛇游戏流程图2.3模块设计本系统主要完成以下几方面的功能:游戏控制功能———包括游戏的开始、暂停、退出界面布局,其他辅助功能(如游戏积分,游戏过关等)。
游戏总设计模块划分为游戏主界面模块、游戏控制模块和游戏菜单模块。
1)游戏主界面模块游戏主界面模块主要包括:游戏界面的边界,即游戏中的墙;游戏中蛇的构成,以及苹果的构成;游戏中障碍物的构成;游戏中分数显示以及关卡显示。
贪吃蛇游戏程序设计实验报告

贪吃蛇游戏程序设计实验报告贪吃蛇游戏程序设计实验报告1、引言1.1 文档目的1.2 背景介绍1.3 项目概述2、需求分析2.1 用户需求2.2 功能需求2.3 非功能需求3、总体设计3.1 系统结构3.2 使用的开发工具和技术3.3 程序流程图3.4 数据结构设计4、模块设计4.1 游戏界面模块设计4.2 蛇的移动模块设计4.3 食物模块设计4.4 游戏结束判定模块设计5、开发过程5.1 编码规范5.2 界面设计与实现5.3 功能模块实现5.4 联合测试与整合调试6、测试结果与分析6.1 单元测试6.2 集成测试6.3 性能测试6.4 用户验收测试7、部署与运维7.1 系统环境要求7.2 安装步骤7.3 运行与维护8、问题与解决方案8.1 开发中的问题8.2 解决方案9、结论9.1 实验总结9.2 实现目标9.3 后续改进方向附件:- 源代码文件- 参考文献法律名词及注释:- 版权:保护原创作品的独有权利,防止他人未经授权使用、复制或传播。
- 许可证:授权他人在特定条件下使用受版权保护的作品。
- 商标:用于标识特定产品或服务来源的标识,可以是文字、图形、颜色或声音。
- 专利:通过创造一种新的发明而获得的对该发明的独有权利,防止他人在未获许可的情况下制造、使用或销售该发明。
- 使用条款:规定使用软件、服务或作品的条件和限制。
- 免责声明:声明作者或提供者对使用软件、服务或作品时可能产生的损害不承担责任。
全文结束 \。
基于Android贪吃蛇游戏_本科毕业设计(论文)

本科毕业设计(论文)题目名称:基于Android贪吃蛇游戏学院:计算机科学技术专业年级:计算机科学与技术08(师)级摘要本课题是利用java语言在Android平台上进行手机游戏的开发,由于本人知识的有限,以及客观条件的限制,本人打算开发一个单机版的游戏。
本人在手机上玩过贪吃蛇的游戏,曾经为了和别人比赛,苦苦的玩了好多次,追求高分!后来得知这个小小的游戏是nokia当年很成功的一款手机游戏,许多人都玩过,也很喜欢。
现在这款游戏的版本已经发展到第三版了,手机生产厂商继续开发这个游戏,看来这个游戏还是有很大的市场的。
Google公司2007年11月5日发布的开源的Android 平台——一款包括操作系统(基于Linux内核)、中间件和关键应用的手机平台,并组建了开放手机联盟(Open Handset Alliance),包括Google、中国移动、T-Mobile、宏达电、高通、摩托罗拉等领军企业。
于是,我决定利用自己大学所学的知识,自己在指导老师的帮助下,独立开发这个小游戏。
本文首先详细介绍了java的一些基本的知识点,在此基础上引出了Android,介绍了Android的基础以及其特点,然后介绍了一下Android将来的一些前景和发展。
重点说明了这个贪吃蛇程序所用到的一些类和控件,包括Drawable,Canvas, Thread,等等。
介绍了这些类的一般的使用方法,以及本程序是如何使用这些类来进行游戏的开发的。
本程序将老少皆宜的经典作品移植到手机上来,为更流行的硬件平台提供应用软件。
这些都将能很好的满足未来人们对手机游戏的需求。
吞吃蛇游戏基于Android平台编写,满足一般手机用户的娱乐需求。
关键词:Android系统; 贪食蛇游戏; 手机游戏Abstract.This topic is using java language on the Android platform mobile phone game development, I limited knowledge, and objective constraints, I intend to develop a stand-alone game. I played the game of Snake, on the phone once in order to match with others, struggling to play many times, the pursuit of high scores! Later learned that this little game nokia was very successful mobile phone games, many people have played, and also enjoyed. Version of the game has been developed to the third edition, mobile phone manufacturers continue to develop this game, it seems that this game is a great market. Open-source Android platform, Google's released on November 5, 2007 - an operating system (Linux kernel), middleware and key applications-based mobile phone platform, and the formation of the Open Handset Alliance (Open Handset Alliance), includingGoogle, China Mobile, T-Mobile, HTC, Qualcomm, Motorola and other leading enterprisesSo, I decided to use the knowledge learned in his college, in the instructor's help, the independent development of this game.This article first details some of the basic java knowledge, on this basis leads to Android, the basis of the Android and its characteristics, and then introduces the Android future prospects and development. Highlights this Snake procedures used and controls, including the Drawable Canvas, Thread, and so on. Describes the general use, as well as the program is how to use these classes to the development of the game. The ages of the classic works transplantation in this program to the phone up, to provide application software for the more popular hardware platforms. These will be well positioned to meet future demand for mobile games. Devour the snake game based on the Android platform, prepared to meet the entertainment needs of the general mobile phone users.Key words: Android system; Gluttony snake game; Mobile game目录摘要 (I)Abstract (II)第1章绪论 (1)1.1 Android简介 (1)1.1.1 Android的来源及发展 (1)1.1.2 Android系统的特点 (2)1.2 项目目的与意义 (2)1.2.1 开发目的 (2)1.2.2 开发意义 (3)1.3 国内外现状分析 (3)1.3.1 国内外手机系统现状 (3)1.3.2 国内外手机应用现状 (4)1.3.3 发展趋势 (5)第2章方案论证 (6)2.1 经济可行性分析 (6)2.2 技术可行性分析 (6)2.2.1 Android平台特性 (6)2.2.2 Android平台架构 (6)2.2.3 Android应用程序组件 (7)2.3 本项目的开发方法 (8)2.4 开发工具及环境简介 (10)2.4.1 开发工具Eclipse简介 (10)2.4.2 开发环境简介 (10)第3章需求分析 (11)3.1 系统开发目标 (11)3.2 系统需求分析 (11)3.2.1 业务需求分析 (11)3.2.2 用户需求分析 (12)3.2.3 功能需求分析 (12)第4章过程论述............................................................................. 错误!未定义书签。
安卓贪吃蛇课程设计报告材料

滨江学院智能手机程序设计题目安卓智能手机贪吃蛇游戏设计院系滨江学院计算机系专业信息工程学生周盈伟学号指导教师高超二0 一四年六月一日目录第一章绪论 (3)1.1开发背景 (3)1.1.1安卓系统简介 (3)1.1.2游戏简介 (3)1.2开发目的及意义 (4)1.3开发环境及工具 (4)第二章需求分析 (5)2.1游戏界面分析 (5)2.2游戏角色分析 (5)2.3游戏控制分析 (5)2.4 可行性分析 (6)第三章总体设计 (7)3.1系统功能模块层次图 (7)3.2运行机制 (8)3.3贪吃蛇功能流程图 (10)第四章详细设计与实现 (12)4.1 TiltView类 (12)4.2 SnakeView类 (14)4.3 界面设计 (16)第五章测试 (20)5.1游戏功能测试 (20)5.2游戏控制测试 (20)5.3游戏界面测试 (20)5.4测试结果 (20)第六章结论 (21)第一章绪论1.1开发背景1.1.1安卓系统简介安卓系统作为新兴的手机操作系统,在问世不久,变风靡全球,占领手机操作系统里很大的市场份额,与苹果,诺基亚三分天下,Android是基于Linux开放性核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。
早期由原名为"Android"的公司开发,谷歌在2005年收购"Android.Inc"后,继续对Android系统开发运营,它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分。
底层Linux核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以Java编写。
1.1.2游戏简介1976年,Gremlin平台推出了一款经典街机游戏Blockade。
游戏中,两名玩家分别控制一个角色在屏幕上移动,所经之处砌起围栏。
角色只能向左、右方向90度转弯,游戏目标保证让对方先撞上屏幕或围栏。
贪吃蛇实习报告范文

一、实习背景随着计算机技术的不断发展,编程技能已经成为现代社会人才必备的能力之一。
为了提高自己的编程能力,我在某科技公司进行了为期一个月的贪吃蛇游戏开发实习。
通过这次实习,我对贪吃蛇游戏有了更深入的了解,并掌握了相关编程技能。
二、实习目的1. 学习和掌握贪吃蛇游戏的基本原理和开发流程;2. 提高自己的编程能力,特别是C语言编程能力;3. 熟悉游戏开发工具和开发环境;4. 培养团队合作和沟通能力。
三、实习内容1. 游戏设计在实习过程中,我首先对贪吃蛇游戏进行了详细的设计。
游戏分为以下几部分:(1)游戏界面:包括标题界面、游戏界面、游戏结束界面等;(2)游戏规则:蛇在游戏区域内吃食物,蛇身会逐渐变长,蛇头撞到墙壁或自身则游戏结束;(3)游戏控制:通过键盘上的四个方向键控制蛇的移动方向;(4)游戏得分:蛇每吃一个食物,得分增加10分;(5)游戏难度:随着游戏进行,食物出现速度逐渐加快。
2. 程序开发在游戏设计完成后,我开始进行程序开发。
主要使用了C语言进行编程,以下是程序的主要模块:(1)初始化游戏环境:设置游戏窗口、绘制游戏界面等;(2)生成食物:在游戏区域内随机生成食物,确保食物不与蛇身重叠;(3)蛇的移动:根据用户输入的方向键,控制蛇的移动方向;(4)检测碰撞:检测蛇头是否撞到墙壁或自身,如果碰撞则游戏结束;(5)更新分数:根据蛇吃食物的次数,更新游戏分数;(6)游戏结束:当蛇头撞到墙壁或自身时,显示游戏结束界面。
3. 调试与优化在程序开发过程中,我遇到了一些问题,如蛇的移动速度不均匀、食物生成位置不合理等。
针对这些问题,我进行了以下优化:(1)调整蛇的移动速度,使其更加均匀;(2)优化食物生成算法,确保食物生成位置合理;(3)调整游戏界面,使界面更加美观。
四、实习成果通过一个月的实习,我成功完成了贪吃蛇游戏开发,并取得以下成果:1. 掌握了贪吃蛇游戏的基本原理和开发流程;2. 提高了C语言编程能力,特别是结构体、函数、数组等知识的应用;3. 熟悉了游戏开发工具和开发环境;4. 培养了团队合作和沟通能力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
智能移动终端应用开发设计报告Android贪吃蛇XX学院智能移动终端应用开发设计报告(20XX/20XX学年第XX学期)题目基于Android系统的贪吃蛇游戏专业小组成员设计成绩年月日摘要Android是基于Linux开放性内核的操作系统,是Google 公司在2007年11月5日公布的手机操作系统。
早期由原名为“Android“的公司开发,谷歌在2005年收购“Android.Inc“后,继续对Android系统开发运营,它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分。
底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以Java编写。
1 项目背景说明针对当今游戏开发的流行趋势,手机游戏的设计已成为主流,随着计算机技术及硬件技术的不断发展,用户的需求量也越来越多,并且用户追求的效果也越来越好,在此形势下好的设计方法尤为重要,基于android 系统的手机游戏设计方法简单且效率较高。
贪吃蛇游戏也是很多人热衷的游戏,用户不仅要求其界面设计精美,更希望操作简单,程序执行速度快。
Android支持使用Java作为编程语言来开发应用程序,而Android的Java开发方面从接口到功能,都有层出不穷的变化。
考虑到Java虚拟机的效率和资源占用,谷歌重新设计了Android的Java,以便能提高效率和减少资源占用,因而与J2ME等不同。
操作系统与应用程序的沟通桥梁,应用分为两层函数层(Library)和虚拟机(Virtual Machine)。
Android的中间层多以Java 实现,并且采用特殊的Dalvik 虚拟机(Dalvik Virtual Machine)。
Dalvik虚拟机是一种“暂存器型态”(Register Based)的Java虚拟机,变量皆存放于暂存器中,虚拟机的指令相对减少。
贪吃蛇游戏是一款老牌的手机游戏,同时也是一款比较需要耐心地游戏。
贪吃蛇游戏就是一条小蛇,不停地在屏幕上游走,吃各个方向出现的食物,越吃越长。
只要蛇头碰到屏幕四周,或者碰到自己的身子,小蛇就立即毙命。
“贪吃蛇”游戏是一个经典的游戏,它因操作简单、娱乐性强而广受欢迎。
本文基于Java技术和android开发环境,开发了一个操作简单、界面美观、功能较齐全的“贪吃蛇”游戏。
整个游戏程序分为三个功能模块,五个类模块,实现了游戏的开始、暂停、结束。
通过本游戏的开发,达到学习android平台操作技术和熟悉软件开发流程的目的。
2 项目概述2.1 设计的目的与意义贪吃蛇游戏是一款非常经典的手机游戏,贪吃蛇游戏的设计比较复杂,它涉及面广、牵涉方面多,如果不好好考虑和设计,将难以成功开发出这个游戏。
在这个游戏的设计中,牵涉到图形界面的显示与更新、数据的收集与更新,并且在这个游戏的开发中,还要应用类的继承机制以及一些设计模式。
因此,在设计开发过程中,需要处理好各个类之间间的逻辑依赖关系和数据通信关系。
正是因为如此,本次设计的目的在于学习Java程序设计基本技术,学习用android开发Java程序的相关技术,熟悉游戏“贪吃蛇”的需求,熟悉项目开发的完整过程。
学会怎样进行一个项目的需求分析、概要设计、详细设计等软件开发过程,熟练地掌握Java程序设计的基本技术和方法,熟练地掌握android环境的使用方法,培养初步的项目分析能力和程序设计能力。
2.2 设计的主要内容贪吃蛇游戏设计与实现,主要分为以下三个模块游戏主界面模块、游戏控制模块和游戏菜单模块。
在此只实现游戏的游戏主界面模块、游戏控制模块和游戏菜单模块,并且只是实现开始、暂停、退出等最基本简单的功能。
本次设计要达到的目标分别从以下模块进行阐述(1)游戏菜单模块这个模块主要是为进入游戏做准备,是进入游戏的第一步,提供“开始游戏”“游戏帮助”“退出游戏”等按钮,通过帮助按钮简单介绍游戏规则。
(2)游戏主界面模块游戏的主界面是进入游戏后,能够给玩家第一感官的部分,主要包括游戏图形区域界面、游戏分数以及关卡的显示更新界面、提示退出游戏的快捷方式,游戏开始按钮、暂停游戏按钮以及退出游戏按钮。
从很大程度上决定了玩家对游戏的兴趣问题,因此,游戏的主界面应该力求美观,爽心悦目。
(3)游戏控制模块这个模块是游戏的中心环节,主要完成控制游戏的开始、暂停、退出,移动,加速等功能。
为了能够给玩家一个很好的游戏环境,这部分应该做到易懂、易操作。
2.3 设计实现的主要功能本软件在设计方面本着方便、实用及娱乐性高的宗旨,在对界面进行设计的过程中,始终坚持清晰明了,在性能方面能够实现效率高,不易出错等优点。
(1)游戏主界面模块主要包括游戏图形区域界面、游戏开始按钮、暂停游戏按钮、关闭按钮。
游戏的主界面应该力求美观,爽心悦目。
(2)游戏控制模块主要完成控制游戏的开始、暂停、退出等功能,这部分应该做到易懂、易操作而且准确率高,不易出错。
(3)游戏菜单模块是进入游戏主界面的第一步,提供“游戏帮助”等功能。
这部分使贪吃蛇游戏软件更加完善。
3 游戏需求分析3.1需求分析3.1.1 用户的特点游戏开发成功后,最终用户为各个年龄段的人群,用户范围相当广泛。
本游戏友好的用户界面,简单易学的按钮操作以及简单通俗的游戏规则,使广大的用户不需要专门进行培训,就可以立即学会如何使用。
3.1.2 功能需求贪吃蛇是一款经典的手机游戏,一条蛇在封闭围墙里,通过按键盘上下左右四个键控制蛇向上下左右四个方向移动,如果蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记1分;若吃到奖励苹果,加两分;若吃到毒苹果,则减3分。
在游戏过程中,如果长按住方向键不放,则蛇的移动速度加快,松开方向键,恢复原速。
如果蛇在移动中撞到墙或障碍物或者蛇头撞倒自己身体,则游戏结束(1)游戏主界面模块需求游戏界面主框架主要包括游戏图形区域界面、游戏开始按钮、游戏暂停按钮、关闭按钮。
(2)游戏图形区域界面的需求游戏画布区主要应该包括游戏画布中贪吃蛇随机出现的位置,贪吃蛇重新出现的位置,事物随机出现的位置。
(3)游戏菜单模块的需求游戏菜单模块主要是为进入游戏主界面做准备,提供“游戏帮助”介绍游戏规则。
同时提供进入游戏和退出游戏等功能。
3.1.3 属性需求在可使用性方面,要求各个功能实现简单,操作方便,系统处理正确;整个系统恢复性能好,连接速度快,以确保系统可使用性好。
另外,还要求系统的可扩展性、可维护性、可移植性良好。
3.2 功能模块分析软件开发过程中的功能模块设计,主要解决实现该游戏需求的程序模块设计问题。
包括如何把该游戏划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及模块结构的设计等。
3.2.1 游戏功能本系统主要完成以下几方面的功能游戏控制功能包括游戏的开始、暂停、退出。
界面布局其他辅助功能(如游戏帮助,游戏积分,游戏过关等) 3.2.2 总设计模块的划分游戏总设计模块划分为游戏主要界面模块、游戏控制模块和游戏菜单模块。
3.2.3 游戏主界面模块游戏主界面模块主要是指游戏的框图,其包括一下内容1、游戏界面的边界,即游戏中的墙;2、游戏中蛇的构成,以及苹果的构成;3、游戏中障碍物的构成;4、游戏中分数显示以及关卡显示。
3.2.4 游戏控制模块(1)游戏开始控制我们的程序是使用上键开始游戏,启动游戏后会有一个初始菜单界面,我们点击“开始游戏”,弹出一句话“请按上键开始游戏”。
游戏开始后蛇向下移动,然后由控制上下左右键来控制蛇的移动。
在程序中我们重新建了一个activity来控制游戏的开始,使游戏的开始界面更美观。
(2)游戏暂停控制我们是使用center键来控制游戏的暂停的,这是一项人性化的设计,当玩家在游戏过程中突遇紧急情况时可以按center键暂停游戏,等玩家空闲后按center 键可以继续游戏。
(3)游戏退出控制在游戏的退出上我们的程序使用了多种方式来应对不同的情况,当玩家正在游戏中时,如想退出可以按“1”键,程序会自动跳转到初始菜单界面,在初始菜单界面点击“退出游戏”即可退出游戏。
如果玩家在游戏中由于碰到墙或者咬到自己或者碰到障碍物而导致游戏结束的,游戏或自动弹出一个界面,里面有提示是继续游戏还是退出游戏,当点击“取消”时,游戏就会自动跳转到初始菜单,再点击“退出游戏”即可。
4 设计与实现具体实现过程分为以下3步项目框架、游戏类图设计、界面设计。
1 项目框架新建一个Eclipse工程并命名为Snake,工程如下图所示图1 Snake工程工程中包括4个Activity,分别为Snake(主界面)、Game(游戏界面)、Help(游戏说明界面)、AuthorView(作者信息界面),通过不同Activity之间的转换实现不同界面之间的切换。
游戏主界面如下图所示图2 游戏主界面(2)游戏类图设计Game(Activity)继承了SnakeView类,SnakeView类继承了TileView类。
TileView类继承了View。
TiltView的基类是View,包含了贪吃蛇游戏画面的各个设定参数,主要负责绘制游戏画面。
TileView类定义如下public class TileView extends View { private static final String tag “yao“; protected static int mTileSize 20;//方格的边长protected static int mXTileCount;//X轴上方格的个数protected static int mYTileCount;//Y轴上方格的个数private static int mXOffset;//绘图时X轴上的起始坐标private static int mYOffset;//绘图时Y轴上的起始坐标private Bitmap[]mTileArray;//位图数组private int[][] mTileGrid;//映射整个游戏画面的数组private final Paint mPaint new Paint;//画笔public TileViewContext context, AttributeSet attrs { superco ntext, attrs; Log.itag, “TileView Constructor“; Log.itag, “mTileSize“ mTileSize; } //重置位图数组的长度public void resetTilesint tilecount { mTileArray new Bitmap[tilecount]; } Override //适应各种分辨率的屏幕,当改变屏幕大小尺寸时,同时修改tile的相关计数指标protected void onSizeChangedint w, int h, int oldw, int oldh { Log.itag, “onSizeChanged,“ “w“ w “ h“ h “ oldw“ oldw “ oldh“ oldh; mXTileCount int Math.floorw / mTileSize; mYTileCount int Math.floorh / mTileSize; Log.itag, “mXTileCount“ mXTileCount; Log.itag, “mYTileCount“ mYTileC ount; mXOffset w - mTileSize * mXTileCount / 2; mYOffset h - mTileSize * mYTileCount / 2; Log.itag, “mXOffset“ mXOffset; Log.itag, “mYOffset“ mYOffset; mTileGrid new int[mXTileCount][mYTileCount]; clearTiles; } //这里做了一个Drawable 到bitmap 的转换public void loadTileint key, Drawable tile { Bitmap bitmap Bitmap.createBitmapmTileSize, mTileSize, Bitmap.Config.ARGB_8888; Canvas canvas newCanvasbitmap; tile.setBounds0, 0, mTileSize, mTileSize; tile.drawcanvas; mTileArray[key] bitmap; } //清空图形显示public void clearTiles { Log.itag, “TileView.clearTiles“; for int x 0; x 0 { bmp mTileArray[mTileGrid[x][y]]; left x * mTileSize mXOffset; top y * mTileSize mYOffset; canvas.drawBitmapbmp, left, top, mPaint; } } } } } SnakeView 类定义了游戏运行时的画面改变及蛇体和果子的更新方法。