贪吃蛇游戏报告毕业设计android

合集下载

Android休闲类游戏贪吃蛇的设计与实现终稿

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贪吃蛇课程设计报告

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贪吃蛇游戏的设计与实现

基于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贪吃蛇课程设计报告41494

Android贪吃蛇课程设计报告41494

XXXX学院计算机科学系《Android程序设计》课程设计报告题目:贪吃蛇专业:计算机科学与技术班级: B11计科班学号: 110807510姓名:凌波微步Q Q :2446872525指导教师:2014年6月目录第一章绪论 (2)1。

1游戏简介 (2)1.2开发目的及意义 (3)1.3开发环境及工具 (3)第二章需求分析 (4)2。

1游戏界面分析 (4)2.2游戏角色分析 (4)2.3游戏控制分析 (4)第三章总体设计 (5)3.1系统功能模块层次图 (5)3.2运行机制 (6)3。

3贪吃蛇功能流程图 (7)第四章详细设计与实现 (9)4。

1 SnakeActivity类 (9)4.2 MyTile类 (10)4.3 NextActivity类 (18)4.4 SysApplication类 (19)4.5界面设计 (20)第五章测试 (24)5。

1功能测试 (24)5.4测试结果 (25)第六章结论 (25)第一章绪论1。

1游戏简介贪吃蛇游戏是一款手机游戏,同时也是一款比较需要耐心的游戏。

贪吃蛇游戏是一条蛇,不停地在手机屏幕上游走,吃在手机屏幕上出现的食物。

当蛇吃掉1个食物后会变长,并且吃完食物时食物会消失,并立即随机生成1个新的食物,只要蛇头碰到屏幕四周或者碰到自己的身子,蛇就立即毙命.1.2开发目的及意义通过本次课程设计,了解android软件的开发过程,熟悉并掌握JA V A语言,程序关键在于表示蛇的图形及蛇的移动。

用一个小矩形块表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用一节表示。

移动时必须从蛇头开始,所以蛇不能向相反的方向移动,如果不按任意键,蛇自行在当前方向上前移,但按下有效方向键后,蛇头朝着该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇的身体随蛇头移动。

意义是方便人们在休闲时通过玩手机游戏获得一点快乐,同时锻炼自己的大脑.1.3开发环境及工具在Window8下进行,采用eclipse开发工具,基于安卓2.2操作系统。

基于Android贪吃蛇游戏_本科毕业设计(论文)

基于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. 学生理解并掌握安卓应用开发的基础知识,包括活动(Activity)、视图(View)和意图(Intent)的使用。

2. 学生掌握贪吃蛇游戏的逻辑和算法,包括蛇的移动、食物的生成和碰撞检测。

3. 学生了解如何在安卓应用中实现用户界面设计,使用布局(Layout)和控件(Control)。

技能目标:1. 学生能够独立创建安卓项目,并设置虚拟设备进行调试。

2. 学生能够编写代码实现贪吃蛇游戏的核心功能,包括蛇的自动移动、方向控制以及食物的随机生成。

3. 学生能够利用安卓开发工具进行问题调试,解决开发过程中遇到的问题。

情感态度价值观目标:1. 培养学生对编程的兴趣,激发探究精神和创新意识。

2. 培养学生团队合作意识,学会在团队中发挥个人优势,共同解决问题。

3. 增强学生面对困难的勇气和毅力,培养良好的编程习惯和解决问题的方法。

分析课程性质、学生特点和教学要求:1. 课程性质:实践性、综合性、创新性。

2. 学生特点:具备一定的计算机操作能力,对编程有一定了解,对游戏开发有浓厚兴趣。

3. 教学要求:注重理论与实践相结合,关注学生个体差异,提供个性化的指导,确保学生能够将所学知识应用于实际项目中。

二、教学内容1. 安卓应用开发基础:- 活动的生命周期及状态管理- 视图和布局的使用,包括线性布局、相对布局等- 控件的使用,如按钮(Button)、文本框(TextView)等- 意图(Intent)的使用及数据传递2. 贪吃蛇游戏逻辑与算法:- 蛇的移动逻辑及方向控制- 食物的随机生成及碰撞检测- 游戏分数记录及结束条件3. 安卓界面设计与实现:- 游戏界面的布局设计- 蛇和食物的控件定制- 用户交互界面的实现,如按钮控制蛇的方向4. 教学大纲与进度安排:- 第一周:安卓应用开发基础学习,了解活动、视图、控件和意图的使用- 第二周:学习贪吃蛇游戏逻辑,编写移动算法和方向控制- 第三周:实现食物的生成和碰撞检测,设计游戏界面- 第四周:整合游戏功能,进行调试与优化教材章节关联:- 《Android基础教程》第3章:Android应用界面设计- 《Android基础教程》第4章:Android组件和事件处理- 《Android游戏开发实战》第2章:游戏开发基础及游戏循环- 《Android游戏开发实战》第5章:游戏界面绘制与用户交互教学内容确保科学性和系统性,结合教学大纲和教材章节,使学生能够逐步掌握安卓贪吃蛇游戏的开发技能。

贪吃蛇软件实践报告(2篇)

贪吃蛇软件实践报告(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(),监听键盘按键事件,根据按键方向更新蛇的移动方向。

贪吃蛇安卓课程设计

贪吃蛇安卓课程设计

贪吃蛇安卓课程设计一、课程目标知识目标:1. 学生能理解贪吃蛇游戏的原理和基本规则。

2. 学生能掌握安卓开发环境的基本操作和界面设计。

3. 学生能了解和运用Java编程语言实现贪吃蛇游戏的功能。

技能目标:1. 学生能运用安卓开发工具,独立设计和开发一款简易的贪吃蛇游戏。

2. 学生能通过调试和优化,提高贪吃蛇游戏的性能和用户体验。

3. 学生能运用所学的编程知识,解决开发过程中遇到的问题。

情感态度价值观目标:1. 培养学生对编程的兴趣,激发他们的创新精神和探究欲望。

2. 培养学生的团队协作能力,学会在项目中分工合作、共同解决问题。

3. 培养学生面对挑战时的积极态度,提高他们克服困难的信心和决心。

本课程针对初中年级学生,结合他们好奇心强、动手能力强、善于合作等特点,设计具有挑战性和趣味性的贪吃蛇游戏开发课程。

课程旨在让学生在掌握编程知识的同时,提高实践能力和创新能力,培养他们良好的团队合作精神。

通过本课程的学习,学生能够将所学的编程知识运用到实际项目中,从而提升他们的综合素质。

二、教学内容1. 安卓开发环境搭建:介绍Android Studio的安装与配置,熟悉开发工具的使用。

- 章节关联:课本第二章《Android开发环境搭建》2. 简单的界面设计:学习并应用XML布局文件,设计贪吃蛇游戏的界面。

- 章节关联:课本第三章《Android界面设计基础》3. Java编程基础:回顾和巩固Java基本语法,为游戏编程打下基础。

- 章节关联:课本第四章《Java编程基础》4. 贪吃蛇游戏逻辑实现:学习游戏循环、碰撞检测、分数统计等核心功能。

- 章节关联:课本第五章《Android事件处理》与第六章《Android动画与游戏开发》5. 游戏调试与优化:介绍日志输出、性能分析及优化方法,提高游戏体验。

- 章节关联:课本第七章《Android性能优化》6. 项目实践:分组进行项目实践,将所学知识综合运用到贪吃蛇游戏的开发中。

Android贪吃蛇课程设计分析报告

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、课程实训目的计算机系统综合实训能培养学生独立进行资料收集,综合运用所学的多门课程知识,培养分析问题和解决问题能力。

验证和巩固充实所学理论知识,加深对相关内容的理解,能运用所学知识为社会服务,在实训中学习和锻炼,增长才干。

本次实训采用项目制,要求学生进一步理解和掌握软件工程的方法和技术,培养操作界面应该人性化设计,提示玩家按什么按键开始游戏,开始游戏之后,在游戏界面中,以坐标的形式对整体界面进行划分,将界面划分为网格,还应设计蛇的样式,食物的样式和墙的样式,在蛇吃到食物后的样式,还有游戏结束时的界面显示,游戏结束后,要显示所得的分数。

基于android手机贪吃蛇游戏设计

基于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 ,

基于android的贪吃蛇游戏设计与开发

基于android的贪吃蛇游戏设计与开发

基于a n d r o i d的贪吃蛇游戏设计与开发LG GROUP system office room 【LGA16H-LGYY-LGUA8Q8-LGA162】课程实训报告课程名称计算机系统综合实训课题名称基于Android的贪吃蛇游戏开发专业计算机科学与技术班级学号姓名指导教师2013年 12 月 4 日湖南工程学院课程实训任务书课程名称计算机系统综合实训课题基于Android的贪吃蛇游戏开发专业班级学生姓名学号指导老师审批任务书下达日期 2013 年 12 月 4 日任务完成日期 2013 年 12 月 20日目录1、程序构思....................................................2、程序设计....................................................游戏功能..................................................总设计模块的划分..........................................游戏主界面模块............................................游戏控制模块..............................................类模块设计.................................................3、程序实现....................................................、游戏界面的实现..........................................、游戏整个框架的构建......................................、实现键盘响应事件.........................................、刷新.....................................................、实现页面的切换...........................................、加载游戏................................................、游戏背景界面的改进.......................................、添加音效.................................................、游戏本身的完善...........................................3、类模块具体设计 ...................................................................................................................................................................4. 程序结果 ...................................................5. 总结与展望 .................................................6. 附录........................................................1、程序构思贪吃蛇游戏是一款非常经典的手机游戏,贪吃蛇游戏的设计比较复杂,它涉及面广、牵涉方面多,如果不好好考虑和设计,将难以成功开发出这个游戏。

贪吃蛇毕业论文设计

贪吃蛇毕业论文设计

贪吃蛇毕业论文设计贪吃蛇是一款经典的游戏,它的游戏规则简单但又富有挑战性,深受广大玩家的喜爱。

本篇论文设计将对贪吃蛇游戏进行功能扩展和设计优化,以提升游戏体验和娱乐性。

一、引言贪吃蛇游戏是一种基于回合制的益智游戏,玩家操纵一条蛇在一个有限的区域内移动,吃到食物会使蛇的长度增加,同时蛇的移动速度也会加快。

蛇的任务是尽可能多地吃食物而不碰到边界或自己的身体。

二、设计目标1. 提供更多的关卡和难度选择,以满足不同玩家的需求。

2. 添加道具和技能系统,增加游戏的多样性和策略性。

3. 优化游戏界面和操作方式,提升游戏的可玩性和视觉效果。

三、设计方案1. 关卡和难度选择在原有的游戏基础上,添加多个关卡和难度选择,使玩家在游戏过程中能够有更多的挑战和变化。

不同的关卡可以设置不同的地图和食物分布,不同的难度可以调整蛇的移动速度和敌人的数量。

玩家可以根据自己的实力和喜好进行选择,以获得更好的游戏体验。

2. 道具和技能系统引入道具系统可以增加游戏的多样性和策略性。

例如,玩家可以获得加速道具来提高蛇的移动速度,或者获得炸弹道具来摧毁敌人。

技能系统可以让玩家使用特殊技能来应对各种危机,例如蛇身变短、穿越墙壁等。

道具和技能的获取可以通过吃特定的食物或者完成特定的任务来获得,增加游戏的乐趣和挑战。

3. 游戏界面和操作方式的优化优化游戏界面和操作方式可以提升游戏的可玩性和视觉效果。

可以通过改变游戏背景、增加动画效果等来提升游戏的视觉效果。

同时,可以改进玩家操纵蛇的方式,例如可以添加触摸屏的支持,让玩家通过触摸屏来控制蛇的移动方向,提高游戏的灵活性和操作性。

四、实施计划1. 调研和分析现有的贪吃蛇游戏,总结其特点和不足之处。

2. 基于调研结果和设计目标,进行游戏功能扩展和设计优化的方案设计。

3. 开发和测试游戏的新增功能和优化方案。

4. 对游戏进行用户测试和反馈收集,根据用户意见进行修改和优化。

5. 最终完成贪吃蛇毕业论文设计,并撰写论文。

安卓毕设开题报告

安卓毕设开题报告

安卓毕设开题报告安卓毕设开题报告安卓是目前最热门的手机操作系统之一,关于它的专业也是热门的行业。

安卓毕业设计开题报告篇一毕业设计(论文)开题报告题目名称:基于Android贪吃蛇游戏学院:计算机科学技术专业年级:计算机科学与技术(师)08级学生姓名:班级学号:指导老师:二○一一年十二月十八日北华大学计算机科学技术学院本科生毕业设计开题报告安卓毕业设计开题报告篇二论文题目:基于Android平台的学生教务信息系统设计与实现学院:基于Android平台的学生教务信息管理系统一、课题的研究目的和意义学生教务系统是一个学校学生管理中不可缺少的一部分,对于学校的管理者以及学生本身来说都至关重要。

互联网的普及和网上教务系统的更趋向于成熟化,系统应该为学生用户提供更加方便的查询手段与信息管理方式。

而计算机的不可移动性及系统本身繁琐的登陆认证、查询操作使系统使用带来不方便。

开发一款基于智能手机平台、功能简单、可随时利用无线网络进行在线选课、成绩查询、了解校园资讯的软件,为学生提供方便、可移动、准确的服务在安卓手机的逐渐普及下,越来越多的学生接触并使用安卓系统的移动终端,例如,成为学生生活中的重要工具。

在校园内,学校校园网站为学生提供学生课程表、学生选课、学生成绩等信息管理,为学生的校园生活提供直接信息,随着移动互联网络的发展,学生大都采用手机进行随时随地上网,登陆校园网来了解自己的校园信息,但是智能手机无论从执行效率、内存大小、屏幕大小以及操作方式都与计算机有很大差别,如果单纯用智能手机里浏览器通过网址连接校园网站获取信息,如同计算机里显示样式一样,就会给智能手机带来一定的负担。

因此为了使学生更好的利用手机方便学习与校园生活,开发基于Android平台的`智能移动终端应用软件,依托移动互联网络和校园网站,让学生可以随时随地了解校园生活和学业信息,极大地方便学生。

2.国内外发展状况Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。

《贪吃蛇游戏课程设计》报告

《贪吃蛇游戏课程设计》报告

贪吃蛇游戏程序设计一、课程设计任务贪吃蛇小游戏程序设计二、设计要求通过游戏程序设计,提高编程兴趣与编程思路,巩固C语言中所学的知识,合理的运用资料,实现理论与实际相结合。

(1).收集资料,分析课题,分解问题,形成总体设计思路;(2).对于设计中用到的关键函数,要学会通过查资料,弄懂其用法,要联系问题进行具体介绍;(3).上机调试,查错,逐步分析不能正常运行的原因,确保所设计的程序正确,并且能正常运行;(4).完成课程设计报告,并进行答辩三、需求分析3.1、程序功能贪吃蛇游戏是一个经典小游戏,一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记10分,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体交叉蛇头撞倒自己身体游戏结束。

3.2、设计思想程序关键在于表示蛇的图形及蛇的移动。

用一个小矩形快表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用俩节表示。

移动时必须从蛇头开始,所以蛇不能向相反的方向移动,如果不按任意键,蛇自行在当前方向上前移,但按下有效方向键后,蛇头朝着该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇的身体随蛇头移动,图形的实现是从蛇头新位置开始画出蛇,这时,由于未清屏的原因,原来的蛇的位置和新蛇的位置差一个单位,所以看起来蛇多一节身体,所以将蛇的最后一节用背景色覆盖。

食物的出现与消失也是画矩形块和覆盖矩形块。

为了便于理解,定义两个结构体:食物与蛇。

3.3、流程图四、设计的具体实现(1)函数定义函数定义是对各个基础函数的定义,并且设置需要运用的信息,便于调用#define N 200#define M 200#include"graphics.h"#include<stdlib.h>#include<stdio.h>#include<string.h>#include<iostream.h>#include<dos.h>#include<conio.h>#include <windows.h>#define LEFT 97//A#define RIGHT 100//D#define DOWN 115//S#define UP 119//W#define Esc 0x011bint i,key;int score=0;int gamespeed=250;//游戏速度可根据实际情况自行调整struct Food {int x;//食物的横坐标int y;//食物的纵坐标int yes;//判断是否要出现食物的变量}food;//食物的结构体struct Snake{int x[M];int y[M];int node;//蛇的节数int direction;//蛇的移动方向int life;//蛇的生命,0表示活着,1表示死亡}snake;void Init();//图形驱动void Close();//图形结束void DrawK();//开始画面void GamePlay();//玩游戏的具体过程void GameOver();//游戏结束void PrScore();//输出成绩(2)主函数main( )主函数是程序的主流程,首先定义使用到的常数、全局变量及函数原型说明,然后初始化图形系统,调用函数DrawK()画出开始画面,调用函数GamePlay(),即玩游戏的具体过程,游戏结束后调用Close()关闭图形系统,结束程序void main()//主函数{Init();//图形驱动DrawK();//开始画面GamePlay();//玩游戏的具体过程Close();//图形结束}void Init()//图形驱动{int gd=DETECT,gm;initgraph(&gd,&gm," ");/*此处为turboc的路径,读者可以根据自己的电脑而改*/ cleardevice();}(3)画界面函数DrawK( )主界面是一个封闭的围墙,用两个循环语句分别在水平和垂直方向输出连续的宽度和高度均的矩形方块,表示围墙,为了醒目,设置为白色。

贪食蛇游戏实习报告

贪食蛇游戏实习报告

贪吃蛇游戏开发一、需求分析1、该贪吃蛇设计主要具有吃食、暂停、开始以及重新开始游戏。

2、主要目标:本游戏实现贪吃蛇在制定空间去吃随机出现的方块。

游戏可以暂停,如不满意这一次游戏的成果还能重新开始游戏。

二、项目设计1、流程设计程序流程图2、游戏具体设计:(1) 蛇移动的实现蛇的移动方向主要受头结点控制,所以每次画蛇时只要把前一结点的值赋给后一节点即可。

当蛇头的移动方向向右时,y 值不变x 的值不断增加。

当蛇头的移动方向向左时,y 值不变x 的值不断减少。

当蛇头的移动方向向下时,y 值增加x 的值不变。

当蛇头的移动方向向上时,y 值减小x 的值不变。

(2) 蛇死亡的判断当蛇头的值与蛇身或与墙的值相等时,蛇即算死亡.(3)蛇到达边框时从另一端出现和传送的实现当蛇头的x 或y 值达到边框的最大或最小位置时相应的给x 或y 赋以边框的最小或最大值以实现当蛇到达边框时能从另一端出来,同理当蛇头的x,y 值等于传送点位置的值时将蛇头x,y 的值赋以被传送到位置的值,这样将实现蛇的传送功能。

三、项目实现①蛇身颜色、最大长度及速度int speed;//设置蛇的速度int maxLen;//设置蛇的最大长度②随机生成食物产生随机种子:qsrand(QTime().currentTime().msec());定义食物的坐标、形状及颜色:int mx = (qrand()%(w/20))*20;int my = (qrand()%(h/20))*20;food = new QLabel(this);food->move(mx,my);food->resize(20,20);//食物大小food->setAutoFillBackground(true);//设置食物自动填充背景颜色food->setFrameShape(QFrame::Box);//设置形状food->setFrameShadow(QFrame::Sunken);food->setPalette(QPalette(QColor(qrand()%255,qrand()%110,qrand()%255)));//改变调色板的颜色return food;③方向控制及按键事件处理方向控制:switch(d){case d_up:nheady-=speed;break;case d_down:nheady+=speed;break;case d_left:nheadx-=speed;break;case d_right:nheadx+=speed;break;}按键事件处理:void snake::keyPressEvent(QKeyEvent *f){if(f->key()==Qt::Key_Up){d=d_up;}else if(f->key()==Qt::Key_Down){d=d_down;}else if(f->key()==Qt::Key_Left){d=d_left;}else if(f->key()==Qt::Key_Right){d=d_right;}}④食物的显示与蛇吃食物食物显示:data.push_back(getFood());//将吃到的食物添加在蛇身之后timer = new QTimer();//初始化时钟timer->setInterval(400);//设置时钟周期timer->start();connect(timer,SIGNAL(timeout()),this,SLOT(move()));//传递信号food = getFood();food->show();蛇吃食物:if((nheadx==foodx)&&(nheady==foody)){data.push_back(food);food = getFood();food->show();}游戏截图1游戏截图2游戏截图3游戏截图4⑤游戏结束条件if(data.size()>=10){QMessageBox msg(this);msg.setText("game over!");msg.setStandardButtons(QMessageBox::Yes|QMessageBox::No);msg.show();if(msg.exec()==QMessageBox::Yes){this->close();}}四、总结经过10天的培训,让我进一步熟悉了Linux系统下命令的使用、文件的编写与调试,更熟悉了以前所学的C++语言,让我对我所学习的计算机更加了解喜欢,也更加希望自己能学好计算机方面的设计,去设计更多有意思的游戏。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

武汉理工大学华夏学院课程设计课程名称面向对象课程设计题目贪吃蛇游戏专业软件技术班级软件2082班学号10225508318姓名王亭成绩指导教师2010 年11月29日至2010年12月6日课程设计任务书设计题目:贪吃蛇游戏设计目的本课程的设计的目的是通过实践使同学们经历面向对象全过程和受到一次综合训练,以便能较全面地理解、掌握和综合运用所学的知识。

结合具体的开发案例,理解并初步掌握系统分析、系统设计、系统实施的主要环节和步骤以及软件文档的制作能力。

设计任务(在规定的时间内完成下列任务)1、系统功能的基本要求移动:按下键盘上的A、D、S、W,分别使得方块向左移、右移、下移、上移,吃掉食物时,食物消失,蛇身自动增长,然后在随机产生食物,并判断食物产生的位置,以及游戏结束情况;2、保存信息:当玩家想保存游戏信息时,直接点击保存操作,并且可以查看到保存的信息。

时间安排消化资料、系统调查 1天系统分析、总体设计,实施计划、撰写报告3天演示、验收1天具体要求1、明确课程设计的目的和重要性,认真领会课程设计的题目,读懂课程设计指导书的要求,学会设计的基本方法与步骤,学会如何运用前修知识与收集、归纳相关资料解决具体问题的方法。

严格要求自己,要独立思考,按时、独立完成课程设计任务。

2、设计报告:要求层次清楚、整洁规范、不得相互抄袭,凡正文内容有整段完全相同者一律以抄袭论处。

设计报告正文字数不少于0.2万字(不包括附录)指导教师签名:2010年6月28日教研室主任(或责任教师)签名:2010年6月28日一、游戏功能1.蛇头能够按照指定的方向进行移动,蛇身则是根据蛇头的移动方向进行移动;2.蛇头吃掉食物后以后,食物消失并且蛇的身体要增长;3.食物消失后能够重新产生新的食物,并且产生的新食物不能出现在蛇头和蛇身上;4.蛇不能超出游戏的面板并且蛇头不能够撞到蛇身,否则游戏结束。

5.蛇头每吃掉一个食物游戏分数就会增长十分,游戏分数达到一定的等级后就会增加游戏的等级,并且还要能够记载游戏的时间;6.进入游戏时能够选择游戏的难易程度;7.结束游戏时能够保存游戏的相关信息,并且还能够查看游戏的排行榜。

二、使用的相关知识winForm的编程、xml文件的数据存取操作、使用LINQ操作xml文件、面向对象的设计(MVC的模式)三、整体思路1.创建蛇头(Snakehead)、食物(Snakefood)、蛇身(Snakeblock)三个实体类1.1 蛇头类中需要实现蛇头的初始化,蛇头的移动;1.2 蛇身类中需要实现蛇身的移动和蛇身的增长;1.3 食物类中需要实现食物能够被吃掉和食物的产生,并且在产生食物时要判断食物是否在蛇头和蛇身上,若在蛇头或蛇身上则重新产生食物。

2.创建一个控制类(Game)来实现对游戏的控制2.1 能够将蛇头、蛇身、食物初始化到游戏面板中去;2.2 能够判断蛇头超出面板或撞到蛇身时结束游戏;2.3 能够对游戏的分数和等级的记载;2.4 能够控制整个游戏的运行规则;2.5 能够控制蛇头的运动方向。

3. 创建一个保存数据的SavaData类3.1 能够保存游戏的记录;3.2 能够查询所有的游戏记录;4.创建一个窗体(Form1)来显示游戏,一个窗体(Form2)来输入玩家姓名,一个窗体(showData)来显示游戏的记录。

四、具体实现步骤1.创建一个资源类(Global),这个类能够提供蛇头的大小、蛇头的方向、游戏面板的大小。

具体代码:class Global{//蛇头的宽度public static int Snake_Width =20;//蛇头的长度public static int Snake_Height =20;//蛇头的方向public static Dircte Snake_Dir = Dircte.Right;//窗体的宽度public static int Game_Width =400;//窗体的高度public static int Game_Height =500;}2. 创建一个蛇头类(Snakehead),在构造方法中来接收显示蛇头的面板和位置两个参数;有一个变量oldPoint来保存蛇头移动前的位置,有一个init()方法来初始化蛇头,一个move()方法来进行蛇头的移动。

具体代码:class Snakehead{Panel panel;Button head;Point location;Point oldPoint;public Snakehead(Panel panel,Point location){this.panel= panel;this.location= location;oldPoint =new Point();init();}public Button Head{get {return head;}}public Point OldPoint{set { oldPoint = value;}get {return oldPoint;}}//初始化蛇头private void init(){head =new Button();head.Width= Global.Snake_Width;head.Height= Global.Snake_Height; head.Location= location;head.BackColor= Color.Blue;head.Visible=true;panel.Controls.Add(head);}//蛇头的移动public void move(){oldPoint.X= head.Left;oldPoint.Y= head.Top;switch(Global.Snake_Dir){case Dircte.Up:{head.Top-= head.Height;break;}case Dircte.Down:{head.Top+= head.Height;break;}case Dircte.Left:{head.Left-= head.Width;break;}case Dircte.Right:{head.Left+= head.Width;break;}}}}3.创建一个蛇身类(Snakeblock),在构造方法中接受显示蛇身的面板;一个newPoint变量用来存放每节蛇身移动前的位置,一个blocks 集合变量用来存放每一节蛇身;一个addSnake(Point oldPoint)方法来增长蛇身,其中接受一个点坐标来显示增长的蛇身的位置;一个move(Point oldPoint)方法来移动蛇身,其中接收一个点坐标来表示蛇身的第一个节点移动的坐标。

具体代码:class Snakeblock{Panel panel;List<Button> blocks =new List<Button>();Point newPoint =new Point();public Snakeblock(Panel panel){this.panel= panel;}public List<Button> Blocks{get {return blocks;}}//增长蛇身public void addSnake(Point oldPoint){Button block =new Button();block.Width= Global.Snake_Width;block.Height= Global.Snake_Height;block.Location= oldPoint;block.BackColor= Color.Blue;block.Enabled=false;block.Visible=true;this.panel.Controls.Add(block);blocks.Add(block);}//蛇身的移动public void move(Point oldPoint){foreach(Button btn in blocks){newPoint = btn.Location;btn.Left= oldPoint.X;btn.Top= oldPoint.Y;oldPoint = newPoint;}}}4.创建一个食物类(Snakefood),在构造方法中来接收显示食物的面板和位置两个参数;一个初始化蛇头的方法init()将食物显示到游戏面板上;一个食物被蛇头吃掉的方法eat(Snakehead head),其中接收的参数是吃掉食物的蛇头;一个判断食物是否在蛇头上的方法isHead(Snakehead head, Point temp),该方法接收一个蛇头和即将创建的食物坐标来判断两点是否在同一位置;一个判断食物是否在蛇身上的方法isBlock(Snakeblock block, Point temp),该方法接收一个蛇身和即将创建的食物坐标,通过遍历存储蛇身的集合来判断这个点是否在蛇身上。

具体代码:class Snakefood{Panel panel;Button food;Point location;Random random =new Random();Point temp =new Point();public Snakefood(Panel panel, Point location){this.panel= panel;this.location= location;init();}//初始化食物private void init(){food =new Button();food.Width= Global.Snake_Width;food.Height= Global.Snake_Height;food.Location= location;food.BackColor= Color.Red;food.Enabled=false;food.Visible=true;this.panel.Controls.Add(food);}public Button Food{get {return food;}}//食物被吃掉public void eat(Snakehead head){if(food.Location== head.Head.Location)food.Visible=false;}//产生食物public void creatFood(Snakehead head,Snakeblock block){int left;int top;do{left = random.Next(Global.Game_Width-food.Width);top = random.Next(Global.Game_Height-food.Height);left -= left % Global.Snake_Width;top -= top % Global.Snake_Height;temp.X= left;temp.Y= top;}while(isHead(head, temp)|| isBlock(block, temp));food.Location= temp;food.Visible=true;}//判断食物是否在蛇头上private Boolean isHead(Snakehead head, Point temp){if(head.Head.Location== temp)return true;return false;}//判断食物是否在蛇身上private Boolean isBlock(Snakeblock block, Point temp){Boolean flag =false;foreach(Button btn in block.Blocks){if(btn.Location== temp){flag =true;break;}}return flag;}}5.创建控制类(Game),在该构造方法中接收显示游戏的窗体和游戏的速度,并建立两个时钟一个用来控制游戏,一个用来给游戏记时;一个init()的方法来初始化整个游戏;一个run()方法来控制游戏的开始;一个puase()方法来暂停游戏;一个stop()方法来停止游戏;一个save()方法来保存游戏的记录;一个show()来查看整个游戏的记录;在timer_Tick(object sender, EventArgs e)方法中来控制蛇头的移动、食物的消失与产生、蛇身的移动;在timer2_Tick(object sender, EventArgs e)方法中给游戏记时并显示时间;isOver()方法判断游戏是否结束,一种情况是超出边界,一种情况是蛇头撞到蛇身;addLevel()方法是根据游戏的分数来划分游戏等级和游戏的速度;Form_KeyDownForm_KeyDown(object sender, KeyEventArgs e)方法是接收玩家的按键来判断游戏的方向。

相关文档
最新文档