智能移动终端应用开发设计报告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. 培养了团队合作和沟通能力。
贪吃蛇软件实践报告(2篇)

第1篇一、项目背景随着计算机技术的发展和普及,编程教育越来越受到重视。
为了提高学生的编程能力和逻辑思维,许多高校和培训机构都开设了编程实践课程。
贪吃蛇游戏作为经典的编程学习项目,因其简单易懂、趣味性强而广受欢迎。
本报告旨在记录一次基于Python语言的贪吃蛇游戏软件实践过程,分析项目实现中的关键技术,并总结实践经验。
二、项目目标1. 掌握Python编程基础,熟悉Python图形界面库Tkinter的使用。
2. 理解贪吃蛇游戏的基本原理,包括游戏逻辑、数据结构、事件处理等。
3. 培养编程实践能力,提高问题解决能力。
4. 实现一个功能完善、界面友好的贪吃蛇游戏软件。
三、项目实施1. 需求分析贪吃蛇游戏的核心功能包括:- 游戏界面:显示蛇的移动轨迹、食物、分数等信息。
- 蛇的移动:通过键盘或鼠标控制蛇的上下左右移动。
- 食物生成:在游戏区域内随机生成食物。
- 分数统计:记录玩家得分,并在游戏结束后显示最高分。
- 游戏结束:当蛇碰到墙壁或自身时,游戏结束。
2. 技术选型- 编程语言:Python- 图形界面库:Tkinter- 数据结构:列表(用于存储蛇的身体节点)3. 项目实现(1)初始化游戏界面使用Tkinter库创建游戏窗口,设置窗口大小和标题。
在窗口内创建一个画布(Canvas),用于绘制蛇、食物和分数等信息。
```pythonimport tkinter as tk创建游戏窗口root = ()root.title("贪吃蛇游戏")canvas = tk.Canvas(root, width=400, height=400)canvas.pack()```(2)绘制蛇和食物定义蛇和食物的形状、颜色等属性,使用画布的create_rectangle()方法绘制。
```pythondef draw_snake(snake):for x, y in snake:canvas.create_rectangle(x, y, x+10, y+10, fill="green")def draw_food(food):canvas.create_oval(food[0], food[1], food[2], food[3], fill="red")```(3)控制蛇的移动使用键盘事件绑定函数bind(),监听键盘按键事件,根据按键方向更新蛇的移动方向。
Android贪吃蛇课程设计分析报告

姓名指导教师2015年12月20日湖南工程学院课程设计任务书课程名称计算机系统综合实训任务完成日期2016年1月11日任务书一、实训的内容1.贪吃蛇游戏开发(1)设计内容:在手机屏幕上设计一个贪吃蛇游戏,屏幕四周被绿色苹果包围,中间有贪吃蛇和随机产生的苹果,贪吃蛇的头是黄色的,身子是红色的。
玩家按上、下、左、右键盘控制贪吃蛇在屏幕上向上、注意,不能改变为当前方向的相反方向,例如当前方向是向下时,按向上的方向键是无效的。
(2) 设计要求:按任务书的设计要求进行撰写。
其中游戏核心数据结构设计要求为:主要是界面控制信息和逻辑控制信息, 界面控制信息主要包含两个部分:贪吃蛇的位置信息,存储贪吃蛇的具体位置,另外一个就是闪烁的食物的位置。
而逻辑控制信息主要包含三个部分:贪吃蛇的移动方向、闪烁控制以及程序暂停控制。
碰撞和处理,包括贪吃蛇和食物的碰撞和处理,贪吃蛇和四周的碰撞和处理,贪吃蛇的头和身的碰撞和处理,二、综合实训时间安排具体时间及要求安排如下:5、总结;6、附件(所有程序的源代码,要求对程序写出必要的注释)。
正文总字数要求在5000字以上(不含程序原代码)附:课程实训报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。
正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。
目录一、课程实训目的及要求 01.1、课程实训目的 01.2、课程实训要求 0二、设计思路 (1)2.1、需求分析 (1) (1) (1)一、课程实训目的及要求1.1、课程实训目的计算机系统综合实训能培养学生独立进行资料收集,综合运用所学的多门课程知识,培养分析问题和解决问题能力。
验证和巩固充实所学理论知识,加深对相关内容的理解,能运用所学知识为社会服务,在实训中学习和锻炼,增长才干。
本次实训采用项目制,要求学生进一步理解和掌握软件工程的方法和技术,培养操作界面应该人性化设计,提示玩家按什么按键开始游戏,开始游戏之后,在游戏界面中,以坐标的形式对整体界面进行划分,将界面划分为网格,还应设计蛇的样式,食物的样式和墙的样式,在蛇吃到食物后的样式,还有游戏结束时的界面显示,游戏结束后,要显示所得的分数。
程序设计实训报告 贪吃蛇游戏

课程设计报告学院、系:专业:学生姓名:学号:设计题目:贪吃蛇游戏起迄日期:指导教师:发任务书日期: 2012年6月10日附录:系统源代码#define N 200#include "graphics.h" #include "stdio.h"#include "stdlib.h" #include "dos.h"#define LEFT 0x4b00 #define RIGHT 0x4d00 #define DOWN 0x5000 #define UP 0x4800#define Esc 0x011bint i,key,cor,lev;int score = 0;int gamespeed;struct Food{int x, y;int yes;}food;struct Snake{int x[N], y[N];int node, direction, life; }snake;void Init();void Close();void DrawK();void GameOver();void GamePlay();void PrScore();void SelectLevel();void SelectColor();void main(){SelectLevel();SelectColor();Init();DrawK();GamePlay();Close();}void SelectLevel(){for(i=0;i<10;i++)printf(" ");for(i=0;i<50;i++)printf("*");printf("\n");for(i=0;i<10;i++)printf(" ");printf("*");for(i=0;i<48;i++)printf(" ");printf("*");printf("\n");for(i=0;i<10;i++)printf(" ");printf("*");printf(" Please select the level! *\n"); for(i=0;i<10;i++)printf(" ");printf("*");printf(" 1:Easy 2:Normal 3:Hard *\n"); for(i=0;i<10;i++)printf(" ");printf("*");for(i=0;i<48;i++)printf(" ");printf("*");printf("\n");printf(" ");for(i=0;i<50;i++)printf("*");printf("\n");printf("Please selcet:");scanf("%d",&lev);switch(lev){case 1: gamespeed=50000;break; case 2: gamespeed=100000;break; case 3: gamespeed=150000;break; default: break;}}void SelectColor(){for(i=0;i<10;i++)printf(" ");for(i=0;i<50;i++)printf("*");printf("\n");for(i=0;i<10;i++)printf(" ");printf("*");for(i=0;i<48;i++)printf(" ");printf("*");printf("\n");printf(" ");printf("*");printf(" Please select the color! *\n"); for(i=0;i<10;i++)printf(" ");printf("*");printf(" 1:Black 2:Green 3:Gray *\n"); for(i=0;i<10;i++)printf(" ");printf("*");for(i=0;i<48;i++)printf(" ");printf("*");printf("\n");for(i=0;i<10;i++)printf(" ");for(i=0;i<50;i++)printf("*");printf("\n");printf("Please selcet:");scanf("%d",&cor);switch(cor){case 1: cor=0;break;case 2: cor=10;break;case 3: cor=8;break;default: break;}}void Init(){int gd = DETECT, gm;initgraph(&gd, &gm, "c\\tc");cleardevice();}void DrawK(){setbkcolor(cor);setcolor(11);setlinestyle(SOLID_LINE, 0, THICK_WIDTH); for( i=50; i<=600; i+=10){rectangle(i, 40, i+10, 49);rectangle(i, 451, i+10, 460);}for( i=40; i<=450; i+=10){rectangle(50, i, 59, i+10);rectangle(601, i, 610, i+10);}}void GamePlay(){randomize();food.yes = 1;snake.life = 0;snake.direction = 1;snake.x[0] = 100; snake.y[0] = 100;snake.x[1] = 110; snake.y[1] = 100;snake.node = 2;PrScore();while(1){while(!kbhit()){if(food.yes==1){food.x = rand()%400+60;food.y = rand()%350+60;while(food.x%10!=0){food.x++;}while(food.y%10!=0){food.y++;}food.yes = 0;}if(food.yes==0){setcolor(GREEN);rectangle(food.x, food.y, food.x+10, food.y-10); }for( i=snake.node-1; i>0; i--){snake.x[i] = snake.x[i-1];snake.y[i] = snake.y[i-1];}switch(snake.direction){case 1: snake.x[0] += 10; break;case 2: snake.x[0] -= 10; break;case 3: snake.y[0] -= 10; break;case 4: snake.y[0] += 10; break;}for( i=3; i<snake.node; i++){if(snake.x[i] == snake.x[0] && snake.y[i] == snake.y[0]){GameOver();snake.life = 1;break;}}if(snake.x[0]<55 || snake.x[0]>595 || snake.y[0]<55 || snake.y[0]>455){GameOver();snake.life = 1;}if(snake.life == 1) break;if(snake.x[0] == food.x && snake.y[0] == food.y){setcolor(0);rectangle(food.x, food.y, food.x+10, food.y-10);snake.x[snake.node] = -20;snake.y[snake.node] = -20;snake.node ++;food.yes = 1;score += 10;PrScore();}setcolor(4);for( i=0; i<snake.node; i++){rectangle(snake.x[i], snake.y[i], snake.x[i]+10, snake.y[i]-10);}delay(gamespeed);setcolor(0);rectangle(snake.x[snake.node-1], snake.y[snake.node-1],snake.x[snake.node-1]+10, snake.y[snake.node-1]-10);}if(snake.life==1) break;key = bioskey(0);if(key==Esc) break;else if(key==UP && snake.direction!=4)snake.direction = 3;else if(key==RIGHT && snake.direction!=2)snake.direction = 1;else if(key==LEFT && snake.direction!=1)snake.direction = 2;else if(key==DOWN && snake.direction!=3)snake.direction = 4;}}void GameOver(){cleardevice();PrScore();setcolor(RED);settextstyle(0, 0, 4);outtextxy(200, 200, "GAME OVER" ); getch();}void PrScore(){char str[10];setfillstyle(SOLID_FILL, YELLOW); bar(50, 15, 220, 35);setcolor(6);settextstyle(0, 0, 2);sprintf(str, "score:%d", score); outtextxy(55, 20, str);}void Close(){getch();closegraph();}。
基于android手机贪吃蛇游戏设计

5日 推 出的开源手机操作系统 。A n d r o i d 基于 L i n u x平台 ,由操作系统、 中间件 、用户界 面和应用软件组成 ,号称是首个为移动终端打造的真正 开放和完整的移动软件 。它是由一个 由 3 O多家科技公司和手机公司组 成的开放手机联盟共 同研发 , 将大大降低新型手机设备 的研发成本 , 完 全整合 的全移动功能性产品成为” 开放手机联盟” 的最终 目 标。a n d r o i d系
统有四大杼 I 生:
1 . 应 用 的 开 放 性
者食物节点. C e l l 包含 Y 屙 陛表示在舞台上的坐标位置. 并且提供构造器 方便创建初始化实例, 提供屙 眭 访 问方法, 和便于调试的 t o S t r i n g 方法. 其次 :我们应该定意一个 C e l l 类 ,这样作 的目的为生成对用的 C e l l
类 。用一个表格去生成多个表格 ,慢慢形成贪吃蛇的整体 ,通过让小 的
G o o g l e 与开放手机联盟合作开发了 A n d r o i d , 这个联盟 由包括 中国移 动、 摩托罗拉 、高通 、宏达电和 T - M o b i l e在内的 3 O 多家技术和无线应
格子逐渐的拼接慢慢的形成贪吃蛇 , 从而实现贪吃蛇初步的形成。
点。
后 台运行时 , 应用程序可以生成通知以引起注意。
4 . 智能虚 拟键盘
( 2 ) 在 Wo m 类中添加 c r r e e p 0 方法 ,封装爬行算法 ,实现贪吃虫的
爬行动作。
虚拟键盘 的出现意味着基于 A n d o r i d 1 . 5 的移动设备可以同时支持物 理键 盘和虚拟键 盘。不 同的输入方式可满足用户在特定场景 的需求 。 A n d r o i d 虚拟键盘可以在任何的应用 中提供 , 包括 G m a i l 、浏览器、S M S ,
【免费下载】安卓贪吃蛇游戏设计

具体实现过程分为以下 3 步:项目框架、游戏类图设计、界面设计。 ○1 项目框架 新建一个 Eclipse 工程并命名为 Snake,工程如下图所示:
图 1.1 Snake 工程
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力根通保据过护生管高产线中工敷资艺设料高技试中术卷资,配料不置试仅技卷可术要以是求解指,决机对吊组电顶在气层进设配行备置继进不电行规保空范护载高与中带资负料荷试下卷高问总中题体资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况中卷下,安与要全过加,度强并工看且作护尽下关可都于能可管地以路缩正高小常中故工资障作料高;试中对卷资于连料继接试电管卷保口破护处坏进理范行高围整中,核资或对料者定试对值卷某,弯些审扁异核度常与固高校定中对盒资图位料纸置试,.卷保编工护写况层复进防杂行腐设自跨备动接与处地装理线置,弯高尤曲中其半资要径料避标试免高卷错等调误,试高要方中求案资技,料术编试交写5、卷底重电保。要气护管设设装线备备置敷4高、调动设中电试作技资气高,术料课中并3中试、件资且包卷管中料拒含试路调试绝线验敷试卷动槽方设技作、案技术,管以术来架及避等系免多统不项启必方动要式方高,案中为;资解对料决整试高套卷中启突语动然文过停电程机气中。课高因件中此中资,管料电壁试力薄卷高、电中接气资口设料不备试严进卷等行保问调护题试装,工置合作调理并试利且技用进术管行,线过要敷关求设运电技行力术高保。中护线资装缆料置敷试做设卷到原技准则术确:指灵在导活分。。线对对盒于于处调差,试动当过保不程护同中装电高置压中高回资中路料资交试料叉卷试时技卷,术调应问试采题技用,术金作是属为指隔调发板试电进人机行员一隔,变开需压处要器理在组;事在同前发一掌生线握内槽图部内 纸故,资障强料时电、,回设需路备要须制进同造行时厂外切家部断出电习具源题高高电中中源资资,料料线试试缆卷卷敷试切设验除完报从毕告而,与采要相用进关高行技中检术资查资料和料试检,卷测并主处且要理了保。解护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
(完整word版)贪吃蛇实验报告.docx

(完整word版)贪吃蛇实验报告.docx《计算机程序设计》课程设计报告课题名称贪吃蛇游戏班级学号姓名指导教师设计时间至设计地点常熟理工学院计算机科学与工程学院常熟理工学院计算机科学与工程学院目录1需求分析 (1)2系统分析和设计 (1)2.1数据结构的设计和选择的理由 (1)2.2系统模块划分和模块结构 (2)2.3流程图 (2)2.4数据类型、全局变量和函数说明 (3)3程序测试和运行结果 (4)4课程报告小结 (5)4.1分数重叠显示 (5)4.2速度太快 (5)4.3食物可能出现在蛇身上 (5)附录 A :程序源代码 (6)《 C 程序设计》课程设计1 需求分析【阐述课程设计应该完成的功能】使用键盘的上下左右,来控制蛇的运动方向,ESC 键退出,并显示得分。
2系统分析和设计2.1 数据结构的设计和选择的理由本游戏中涉及的主要数据结构是如何表示运动的蛇、食物状态等问题。
2.1.1 从游戏参考画面中我们可以看到,贪吃蛇的身体是一节节的,由一个个大小相同的方块组成,那么我们可以用一个 (x,y) 坐标为左上角的、固定宽度的正方形来表示一节蛇身。
为表示连续的多节身体,那么我们可以采用数组(或链表,或线性表)等数据结构来表示。
下面以数组方式为例:struct Point {int x, y;}struct Point nodes[MAX_LENGTH];// 蛇身数组,MAX_LENGTH为最大蛇长贪吃蛇是在不断的运动的,我们研究蛇的运动可以发现这样的特点:1. 蛇头由键盘控制,键盘不操作时,保持原有方向运动;(用int direction; 表示 )2.运动时,蛇身后面一节移动到前面一节的位置。
当我们用nodes[0]表示蛇头的时候, nodes[1] 运动到 nodes[0]处; nodes[2] 运动到 nodes[1]处 ...。
3. 吃到一个食物以后,蛇身会增加一节。
即该数组中的有效数据个数加一。
贪吃蛇实验报告

黄淮学院嵌入式系统课程设计报告学院:信息工程学院班级:计科1301B学号:1334110124姓名:张硕时间:12.28.2015目录1 项目概述 (1)1.1 引言 (1)1.1.1开发背景 (1)1.1.2开发目的及意义 (1)1.1.3 开发平台的搭建 (1)1.2 功能简述 (1)1.3 进度安排 (3)1.4 风险预估 (3)2 系统分析与设计 (4)3 系统实现 (6)4 总结与展望 (10)5 参考文献 (10)1 项目概述1.1 引言1.1.1开发背景Android 一词的本义指“机器人”,同时Android 也是Google 于2007年11月5日宣布的基于linux 平台开源手机操作系统名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。
2008年9月22日,美国运营商T-Mobile USA 在纽约正式发布第一款基于Android 的手机——T-Mobile G1。
该款手机为宏达电制造,是世界上第一部使用Android 操作系统的手机,支持WCDMA/HSPA 网络,理论下载速率7.2Mbps ,并支持 Wi-Fi 。
在随后的几个月越来越多的厂商也开始宣布将提供Android 手机。
1.1.2开发目的及意义本课程的课程设计实际是重在提升学生对程序的理解力和游戏界面的设计能力,进行的一次全面的综合训练,其目的在于加深动手能力以及对游戏设计思想的理解,掌握运用Java 开发应用程序的基本方法及基本技巧。
1.1.3 Android 开发平台的搭建(一)1、下载并安装JDK 组件,注意分辨所要安装的计算机操作位数。
本次使用的是Windows7 64位操作系统,下载地址:/technetwork/java/javase/downloads/index.html般是指在操作系统中用来指定操作系统运行环境的一些参数,比如临时文件夹位置和系统文件夹位置等。
软件工程毕业设计_基于android的贪吃蛇小游戏

河北农业大学本科毕业论文题目:贪吃蛇小游戏1.导论 (1)1.1 Android简介 (1)1.1.1 Android的发展 (1)1.1.2 Android系统的特点 (2)1.1.3 Android的系统架构 (2)1.2 项目简介 (3)1.3 项目背景与意义 (3)1.3.1 开发背景 (3)1.3.2 开发意义 (3)1.4 国内外现状分析 (4)1.4.1 国内外手机系统现状 (4)1.4.2 国内外手机应用现状 (5)1.4.3 发展趋势 (5)2. 系统的开发方法及相关技术 (7)2.1 软件工程的定义 (7)2.2 软件工程的模型 (7)2.3 本项目的研究方法 (7)2.3.1 本项目采用的开发模型 (8)2.3.2 本项目的开发方法 (8)2.4 开发工具及环境简介 (9)2.4.1 开发工具eclipse简介 (9)2.4.2 开发环境简介 (10)3. 需求分析 (11)3.1系统开发目标 (11)3.2 系统需求分析 (11)3.2.1 业务需求分析 (11)3.2.2 用户需求分析 (11)3.2.3 功能需求分析 (12)4 概要设计 (13)4.1 程序流程设计 (13)4.2模块设计 (13)4.2.1 模块划分 (13)4.2.2 游戏主界面模块 (14)4.2.3 游戏控制模块 (14)4.2.4 游戏数据模块 (15)4.3 模块实现原理 (15)4.3.1游戏界面模块实现 (15)4.3.2 游戏控制模块实现 (16)4.3.3 数据存储模块实现 (17)5.详细设计 (18)5.1 游戏类图 (18)5.2 游戏界面具体实现 (18)5.2.1 蛇身、食物和墙的实现 (18)5.2.2 处理键盘事件 (19)5.2.3 TileView类的设计 (19)5.2.4 SnakeView类的设计 (19)5.2.5 Snake类的详细设计 (19)5.2.6 程序主结构 (20)5.3 游戏运行界面截图 (20)结论 (22)参考文献 (23)致谢 (24)1.导论随着移动通信的发展以及互联网向移动终端的普及,网络和用户对移动终端的要求越来越高,而Symbian,Windows Mobile,PalmOS等手机平台过于封闭,不能很好的满足用户的需求,因此市场迫切需要一个开放性很强的平台。
移动设备平台开发app-课程设计-贪吃蛇

移动设备平台开发
App开发详解
项目名称:贪吃蛇
院系:计算机学院
专业班级:XXXX
学号:XXXXXXX
学生姓名:XXX
APP文档说明
一、需求分析说明
这是一个手机小游戏,在日常休闲娱乐的时候可以用来放松身心,在手机上安装后也非常方便实用,随点随玩。
二、开发技术参数
硬件:微型计算机
软件:Eclipse、JDK、SDK、ADT
三、界面及功能介绍
1.用户登录界面
描述:
点击屏幕上的句子“点击这里开始哦”就可以开始游戏了,相当于登录界面,特别方便,也不需要输入密码和用户名,就直接进入游
戏正式界面。
2.用户界面
描述:
点击进入之后,出现一条“小蛇”,同时屏幕上会出现上下左右四个方向键,用来控制“小蛇”方向。
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 类定义了游戏运行时的画面改变及蛇体和果子的更新方法。