当前位置:文档之家› android贪吃蛇毕业设计

android贪吃蛇毕业设计

android贪吃蛇毕业设计
android贪吃蛇毕业设计

本科毕业设计(论文)

题目名称:基于Android贪吃蛇游戏

学院:计算机科学技术

专业年级:计算机科学与技术08(师)级

学生姓名:

班级学号:2班28号

指导教师:

二○一二年六月六日

摘要

本课题是利用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 本项目的开发方法 (9)

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章过程论述 (13)

4.1 程序流程设计 (13)

4.2 概要设计 (14)

4.2.1 模块划分 (14)

4.2.2 游戏主界面模块 (14)

4.2.3 游戏控制模块 (15)

4.3 模块实现原理 (15)

4.3.1 游戏界面模块实现 (15)

4.3.2 游戏控制模块实现 (16)

4.3.3 TileView类的设计 (17)

4.3.4 SnakeView类的设计 (17)

4.4 程序主结构 (17)

4.5 程序类图 (18)

4.6 类的详细设计 (19)

4.6.1 Snake类的详细设计 (19)

4.6.2 TileView类的详细设计 (21)

4.6.3 SnakeView类的详细设计 (22)

第5章系统测试与结果分析 (25)

5.1 软件测试 (25)

5.1.1测试的基本概念 (25)

5.1.2测试的步骤 (25)

5.2系统测试 (26)

5.3测试结论 (27)

结论 (28)

致谢 (29)

参考文献 (30)

附录 (31)

第1章绪论

随着移动通信的发展以及互联网向移动终端的普及,网络和用户对移动终端的要求越来越高,而Symbian,Windows Mobile,PalmOS等手机平台过于封闭,不能很好的满足用户的需求,因此市场迫切需要一个开放性很强的平台。经过多年的发展,第三代数字通信(3G)技术获得了广泛的接受,它为移动终端用户带来了更快的数据传输速率。随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。Google为此于2007年11月推出了一个专为移动设备设计的软件平台——Android。Android是一套真正意义上的开放性的移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用。Android是由Linux+Java构成的开源软件,允许所有厂商和个人在其基础上进行开发。Android平台的开放性等特点既能促进技术(包括平台自身)的创新,又有助于降低开发成本,还可以使运营商能非常方便地制定自己的特色化的产品。因此,它具有很大的市场发展潜力。

1.1 Android简介

1.1.1 Android的来源及发展

本项目在Android平台下,使用java语言、Android开发技术开发一款界面友好,功能齐全的贪食蛇游戏。

贪食蛇是一款老牌的手机游戏,同时也是一款比较需要耐心的游戏,用游戏控制方向键上下左右控制蛇的方向,寻找吃的东西,每吃一口就能得到一定的积分,而且蛇的身子会越吃越长,身子越长玩的难度就越大,不能碰墙,更不能咬自己的尾巴,当蛇头碰到墙或者自己的身体则游戏结束。

Android一词本意是指"机器人",同时也指Google于2007年11月5日推出的开源手机操作系统。Android基于Linux平台,由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。它是由一个由30 多家科技公司和手机公司组成的开放手机联盟共同研发,将大大降低新型手机设备的研发成本,完全整合的全移动功能性产品成为"开放手机联盟"的最终目标。

Android 作为谷歌移动互联网战略的重要组成部分,将进一步推进"随时随地为每个人提供信息"这一企业目标的实现。全球为数众多的移动电话用户从未使用过任何基Android 的电话。谷歌的目标是让移动通讯不依赖于设备,甚至是平台。出于这个目的,Android 将完善,而不是会替代谷歌长期以来推行的移动发展战略:通过与全球各地的手机制造商和移动运营商成为合作伙伴,开发既实用又有吸引力的移动服务,并推广这些产品。

Android平台的研发队伍阵容强大,包括Google、HTC(宏达电)、T-Mobile、高通、摩托罗拉、三星、LG以及中国移动在内的30多家企业都将基于该平台开发手机的新型业务,应用之间的通用性和互联性将在最大程度上得到保持。"开放手机联盟"表示,Android平台可以促使移动设备的创新,让用户体验到最优越的移动服务。同时,开发商也将得到一个新的开放级别,更方便地进行协同合作,从而保障新型移动设备的研发速度。因此Android 是第一个完整、开放、免费的手机平台。

1.1.2 Android系统的特点

Android系统具有如下4个特点。

1.开放性

Google与开放手机联盟合作开发了Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达电和T-Mobile 在内的30多家技术和无线应用的领军企业组成。Google通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。

2. 应用程序无界限

Android 上的应用程序可以通过标准API 访问核心移动设备功能。通过互联网,应用程序可以声明它们的功能可供其他应用程序使用。应用程序是在平等的条件下创建的,所以移动设备上的应用程序可以被替换或扩展,即使是拨号程序或主屏幕这样的核心组件;应用程序可以轻松地嵌入HTML、Javascript 和样式表。应用程序可以通过WebView 显示网络内容。

3. 应用程序可以并行运行

Android 是一种完整的多任务环境,其中应用程序可以并行运行。在后台运行时,应用程序可以生成通知以引起注意。

4. 智能虚拟键盘

虚拟键盘的出现意味着基于Android 1.5的移动设备可以同时支持物理键盘和虚拟键盘。不同的输入方式可满足用户在特定场景的需求。Android虚拟键盘可以在任何的应用中提供,包括Gmail、浏览器、SMS,当然也包括大量的第三方应用。它包括自动校正、推荐、习惯文字的用户词典。你可以通过振动屏幕来进行触觉反馈。不同于竞争对手的手机平台,Android 1.5还支持第三方虚拟键盘应用的安装。

1.2 项目目的与意义

1.2.1 开发目的

自2007年Google发布Android系统1.0之后,各大手机生产厂商纷纷将目光投向了最具发展潜力的Android系统,并陆续推出了各种品牌的搭载Android系统

的智能手机。

时隔四年,Android手机在手机市场中占的市场份额正以非常迅猛的速度上升:2010年市场份额:Symbian 36.6%、Android 25.5%、iPhone 16.7、windows Mobile 2.8%、linux 2.1% 。Nokia的Symbian系统在Android系统的冲击下,正在从手

机市场中的王者慢慢被挤下来。在未来的几年内,Android手机必定会占据手机市

场的主要份额,所以在这种形式下,Android应用的前景也必定是前景一片大好。1.2.2 开发意义

现如今,电子商品的硬件支持越来越高端。人们对手机的功能要求不再仅仅局

限于接电话和打电话了,在这些基本功能的基础上,手机更成了人们日常生活中非

常重要的娱乐和休闲工具。许多时候人们都会处于无聊的状态,比如等车的时候、

坐长途车的时候...这时若有一款有意思的游戏来打发时间是再好不过了。由于Android手机具有多任务功能,可以一边听音乐一边玩游戏,是让人们在等车的时

候玩上一玩消磨时间的好东东。

1.3 国内外现状分析

1.3.1 国内外手机系统现状

目前国外各软硬件厂商已经推出过多款手机操作系统。下面简单介绍一下现主

流手机操作系统。

现阶段使用较广泛大家也相对熟悉的手机操作系统是由诺基亚公司主导推出的Symbian 操作系统。Symbian是为手机而设计的操作系统,它是一个实时性,多任

务的纯32位嵌入式的操作系统,具有低能耗,内存占用较少等特点。现在流行的Symbian系统有以下四个版本,分别为S40、S60(第二版)、S60(第三版)、S60(第

五版)。S60(第五版)为触摸屏手机版本。

IOS是由苹果公司为iPhone开发的操作系统。它主要是给iPhone、iPod touch

以及iPad使用。就像其基于的Mac OS X操作系统一样,它也是以Darwin为基础的。IOS的系统架构分为四个层次:核心操作系统层(the Core OS layer),核心服务

层(the Core Services layer),媒体层(the Media layer),可轻触层(the Cocoa Touch layer)。系统操作占用大概240MB的存储器空间。

Windows Mobile 系列操作系统是从微软计算机的Windows操作系统演化而来的。Windows Mobile系列操作系统功能强大,而且支持该操作系统的智能手机大多

数都采用了英特尔嵌入式处理器,主频比较高,在其它硬件配置(如内存、储存卡容

量等)上也比采用其它操作系统的智能手机要高出许多,因此性能比较强劲,速度比

较快。

PalmOS属于Palm公司开发,是一种32位的嵌入式操作系统,是一套专门为掌

上电脑编写的操作系统,是一种轻量级、比较开放的操作系统,占用的内存非常小。现在多用Paml公司生产的手机上。该系统允许用户在其基础上编写和修改相关软

件,使支持的应用程序更加丰富多彩。Palm系统与其他手机系统相比在其它方面也还存在一些不足,如Palm操作系统本身不具有录音、MP3播放功能等,但是可以通过加入第三方软件或硬件设备来实现。

相对国外手机系统百花齐放的局面,国内手机操作系统则处于刚起步的阶段。

目前国内还没有自主研发并商品化的手机操作系统。当然近些年来国内企业和我国政府在这方也投入了大量的人力和物力。同时也取得了一定成果。

在2009年8月,由中国移动所主导开发OPhone平台面世。OPhone平台采用开源的Linux作为系统内核,借鉴并兼容Android平台,集成灵活高效的Java应用框架,充分借鉴当下主流手机操作系统所具有的良好用户体验,提供了一套完整的电话解决方案和各类移动数据业务解决方案。

1.3.2 国内外手机应用现状

随着3G在中国的全面启动,它所带来的巨大机遇和新生力量,大规模的网络建设正不断深入展开。但不可否认的是我国在通信领域中相比许多发达国家仍然存在着不小的差距,就在国人还在为EDGE这种传输速度仅能达到384KB/秒的2.75G 过渡技术而欣喜的时候,国外早已开始试行HSDPA这种3.5G技术,传输速度更可达到惊人的数兆每秒,而基于其上所开发的延伸功能更是数不胜数,所以国内外手机应用也存在的较大的差异。但国内外对手机应用的需求方向是大致相似的,主要集中在信息服务,娱乐,学习这些方面。

目前国内外手机应用服务方向主要有基于地理位置的信息服务(Location Based Service LBS)它是通过电信移动运营商的无线电通讯网络(如GSM网、CDMA网)或外部定位方式(如GPS)获取移动终端用户的位置信息(地理坐标,或大地坐标),在GIS(Geographic Information System,地理信息系统)平台的支持下,为用户提供相应服务的一种增值业务。例如手机定位,导航服务。

近年来十分热门的网络社交服务(Social Networking Services)也已进入到手机客户端领域。例如国内有名的社交网站人人网已经针对Iphone,Android,塞班等手机平台推出了手机客户端。国外最大的社交Fackbook也已经传出正在进行针对手机的产品的研发。Twiter,Myspace等国外知名社交类网站都已经推出手机版。国内淘宝网旗下口碑网在今年也已经推出针对多个手机平台的客户端程序。MSN,QQ等即时通信类的应用也已经在各个主流手机平台推出。

手机办公类软件在手机上也正日趋完善,在手机上编辑查看各类文档已经实现,在Android平台上的QuickOffice就是这样的软件。在Google Market(一个谷歌针对Android系统用户所开发的应用商场)上已经有过万的企业应用办公套件。

手机娱乐游戏类应用,该类应用作为传统类手机应用,在各个平台上发展已近相对完善,手机上对各种流媒体的播放也已完美的支持。各类传统PC游戏厂商进入手机领域。

1.3.3 发展趋势

随着3G应用的不断开发推广,用户会越来越需要更加个性化、优质化的多媒体数据服务,用户希望能够随时、随地无缝利用3G网络进行办公、网上交易、游戏娱乐、欣赏影视节目、收听和下载音乐等。根据观察,在不久的将来,移动手机终端将会在以下若干方面具有新的发展。

首先,提供智能提醒服务,手机能够与用户实现密切配合,并监控用户的个性化设置(保持在本地或者云端),当重要时间点或关键事物需要用户注意时,手机会向用户发出“提醒”服务,服务包括日程提醒、交通状况、最佳行车路线、最佳泊位、优惠活动、实时新闻、体育赛事、天气情况、股市行情、好友活动、亲友生日等。

其次,提供虚拟现实体验,手机可以借助传感器、周边设备了解到您的身边环境,并根据收集到的信息,智能的为您提供有用的信息,如在网络世界养的宠物,可以借助音频设备表达叫声,借助马达和位置传感器等传递其跳、跃等行为信息;也可以在用户购物时,提供相关的同类产品价格参考,提醒用户附近的那个卖场更物美价廉;根据实际场景,为用户及时提供正在操控的产品的使用方法提醒。

接着,发挥物联网的优势,借助无处不在的传感器,可以感知并分享到周围世界的海量信息,这些信息将在“云端”得到整合,帮助用户及时、准确的获得气息信息、交通路况。另外借助物联网,用户间可以方便、快速的分享资源,协助和交互。如进行端到端的多人游戏、照片分享、书籍分享、音乐分享等。

然后,作为经济工具,在交通或者信息不发达的情况下,帮助用户找到最佳的市场,获得有价值的帮助信息,帮助用户从事的经济活动的收益率。

最后,更加智能、安全的设备,随着智能手机的不断普及和更加智能,手机软件的更新、升级将会变得越发简单,并会为用户提供工具或信息,让用户有能力和权力决策那些内容可以浏览、下载或分享。在安全性上也将更加出色,能够十分有效的帮助用户进行获取到的内容的管理,保护用户的个人隐私和基于手机的金融活动如电子钱包、在线支付、在线贸易等。

第2章方案论证

2.1 经济可行性分析

本系统开发经费并不是很多。个人或者团队都可以按相应时间完成基本功能。若在基本功能上进而实现界面的美化,则还需要更好的美术人员协助实现。

投入:除软件开发成本外,需要一台安装Windows操作系统和Android虚拟机的中等以上电脑,一部中等配置的装有Android2.3或以上的Android手机。

2.2 技术可行性分析

2.2.1 Android平台特性

(1)支持组件的重用与替换。意味着我们可以把系统中不喜欢的应用程序换掉,安

装我们自己喜欢的程序。

(2)Dalvik虚拟机专门为移动设备做了优化。将class文件通过DX工具转换成后

缀为.dex的文件来执。Dalvik虚拟机基于寄存器,比java虚拟机快。

(3)内部集成浏览器基于开源的WebKit引擎。

(4)优化的2D和3D图形库。

(5)SQLite数据库,用于结构化的数据存储。

(6)支持各种多媒体格式:MPEG4、H.264、MP3、AAC、AMR、JPG、PNG、GIF。

(7)GSM电话—全球通。

(8)蓝牙、Wifi(无线网络)、EDGE(GSM到3G的过渡)。

(9)照相机、GPS、指南针和加速度计。

(10) 丰富的开发环境包括设备模拟器,调式工具,内存及性能分析表和Eclipse 集成开发环境插件。Google提供了Android开发包SDK,其中包含大量的类库和开发工具。

2.2.2 Android平台架构

如图2-1所示的Android操作系统的体系结构图,我们可以看出Android操作系统结构分为4层,由上到下一次是应用程序、应用程序框架、核心类库和Linux内核。

图2-1 Android操作系统的体系结构图

(1)应用程序。Android连同一个核心应用程序抱一起发布,改应用程序包包括

E-mail客户端。SMS短消息程序、日历、地图、浏览器、联系人管理应用程序等。

(2)开发者完全可以访问核心应用程序所使用的API框架。该应用程序框架用来简

化组件软件的重用,任何一个应用程序度可以发布它的功能并且任何其他应用程序度可以使用其所发布的功能块。应用程序都是由一系列的服务和系统组成包括:一个可扩展的视图(Views)、内容管理器(Content Providers)、资源管理器(Resource Manager)、通知管理器(Notification Manager)、活动类管理器(Activity Manager)。

(3)Android程序库通过Android应用程序框架为开发者提供服务主要核心库包括:

系统C库、媒体库、Suface Manager、LibWebCore、SGL、3D libraries、FreeType、SQLite。

(4)Android运行库包括一个核心库,提供java编程语言核心库的大多数功能。

(5)Linux内核。Android的核心系统服务依赖于Linux2.6内核,如安全性、内存管

理、进程管理、网络协议、和驱动模型。

2.2.3 Android应用程序组件

如前所述,Android运行在Linux 内核上。Android应用程序是用Java 编程语言编写的,它们在一个虚拟机(VM)中运行。需要注意的是,这个VM并非您想象中的JVM,而是Dalvik Virtual Machine,这是一种开源技术。每个Android应用程序都在Dalvik VM 的一个实例中运行,这个实例驻留在一个由Linux内核管理的

进程中,如下图2-2所示。

Linux Kernel

Linux process

Daivik Virtual Machine

Android application

图2-2 Dalvik VM

Android 应用程序由一个或多个组件组成。

1. 活动(Activity)

具有可视UI 的应用程序是用活动实现的。当用户从主屏幕或应用程序启动器选择一个应用程序时,就会开始一个动作。

2. 服务(Service)

服务应该用于任何需要持续较长时间的应用程序,例如网络监视器或更新检查应用程序。

3. 内容提供程序(Content Provider)

可以将内容提供程序看作数据库服务器。内容提供程序的任务是管理对持久数据的访问,例如SQLite数据库。如果应用程序非常简单,那么可能不需要创建内容提供程序。如果要构建一个较大的应用程序,或者构建需要为多个活动或应用程序提供数据的应用程序,那么可以使用内容提供程序实现数据访问。

4.广播接收器(Broadcast Receiver)

Android 应用程序可用于处理一个数据元素,或者对一个事件(例如接收文本消息)做出响应。

5. 视图(View)

View是Android中图形用户界面的基类,提供了可视化界面展示。Android的图形界面分为三层:底层是Activity;Activity上面是Window; Window上面是Views。View又可以分为View和ViewGroup。View是基本控件,ViewGroup是布局控件。

6. 信使(Intent)

Intent是不同组件之间相互导航的纽带,封装了不同组件导航查找的条件。

Android应用程序是连同一个AndroidManifest.xml文件一起部署到设备的。AndroidManifest.xml包含必要的配置信息,以便将它适当地安装到设备。它包括必需的类名和应用程序能够处理的事件类型,以及运行应用程序所需的许可。例如,如果应用程序需要访问网络—例如为了下载一个文件—那么manifest文件中必须显式地列出该许可。很多应用程序可能启用了这个特定的许可。这种声明式安全性有助于减少恶意应用程序损害设备的可能性。

2.3 本项目的开发方法

经过深入分析,本项目使用面向对象方式开发是比较好的开发方式。面向对象的软件技术以对象(Object)为核心,用这种技术开发出的软件系统由对象组成。对象是对现实世界实体的正确抽象,它是由描述内部状态表示静态属性的数据,以及可以对这些数据施加的操作(表示对象的动态行为),封装在一起所构成的统一体。对象之间通过传递消息互相联系,以模拟现实世界中不同事物彼此之间的联系。

面向对象的设计方法与传统的面向过程的方法有本质不同,这种方法的基本原理是,使用现实世界的概念抽象地思考问题从而自然地解决问题。它强调模拟现实世界中的概念而不强调算法,它鼓励开发者在软件开发的绝大部分过程中都用应用领域的概念去思考。在面向对象的设计方法中,计算机的观点是不重要的,现实世界的模型才是最重要的。面向对象的软件开发过程从始至终都围绕着建立问题领域的对象模型来进行:对问题领域进行自然的分解,确定需要使用的对象和类,建立适当的类等级,在对象之间传递消息实现必要的联系,从而按照人们习惯的思维方式建立起问题领域的模型,模拟客观世界。

传统的软件开发过程可以用“瀑布”模型来描述,这种方法强调自顶向下按部就班地完成软件开发工作。事实上,人们认识客观世界解决现实问题的过程,是一个渐进的过程,人的认识需要在继承以前的有关知识的基础上,经过多次反复才能逐步深化。在人的认识深化过程中,既包括了从一般到特殊的演绎思维过程,也包括了从特殊到一般的归纳思维过程。人在认识和解决复杂问题时使用的最强有力的思维工具是抽象,也就是在处理复杂对象时,为了达到某个分析目的集中研究对象的与此目的有关的实质,忽略该对象的那些与此目的无关的部分。

面向对象方法学的出发点和基本原则,就是分析、设计和实现一个软件系统的方法和过程.尽可能接近人们认识世界解决问题的方法和过程,也就是使描述问题的问题空间和描述解法的解空间在结构上尽可能一致。也可以说,面向对象方法学的基本原则,是按照人们习惯的思维方式建立问题域的模型,开发出尽可能直观、自然地表现求解方法的软件系统。面向对象的软件系统中广泛使用的对象,是对客观世界中实体的抽象,对象实际上是抽象数据类型的实例,提供了理想的数据抽象机制,同时又具有良好的过程抽象机制(通过发消息使用公有成员函数)。对象类是对一组相似对象的抽象,类等级中上层的类是对下层类的抽象。因此,面向对象的环境提供了强有力的抽象机制,便于人在利用计算机软件系统解决复杂问题时使用习惯的抽象思维工具。此外,面向对象方法学中普遍进行的对象分类过程,支持从特殊到一般的归纳思维过程;面向对象方法学中通过建立类等级而获得的继承特性,支持从一般到特殊的演绎思维过程。

面向对象的软件技术为开发者提供了随着对某个应用系统的认识逐步深入和具体化的过程,而逐步设计和实现该系统的可能性,因为可以先设计出由抽象类构成的系统框架,随着认识深入和具体化再逐步派生出更具体的派生类。这样的开发过程符合人们认识客观世界解决复杂问题时逐步深化的渐进过程。

2.4 开发工具及环境简介

2.4.1 开发工具Eclipse简介

Eclipse是一个开放源代码的、与NetBeans、Sun ONE Studio和Borland Jbuilder类似的一种基于Java的整合型可扩展开发平台,也是目前最著名的开源项目之一,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。其未来的目标不仅仅是成为专门开发Java程序的IDE 环境,根据Eclipse的体系结构,通过开发插件,它能扩展到任何语言的开发,甚至能成为图片绘制的工具。

目前,Eclipse已经开始提供C语言开发的功能插件。更难能可贵的是,Eclipse是一个开放源代码的项目,任何人都可以下载Eclipse的源代码,并且在此基础上开发自己的功能插件。也就是说未来只要有人需要,就会有建立在 Eclipse 之上COBOL,Perl,Python等语言的开发插件出现。同时可以通过开发新的插件扩展现有插件的功能,可以无限扩展,而且有着统一的外观,操作和系统资源管理,这也正是Eclipse的潜力所在。

Eclipse的主要组成。

Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse 工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成—— Eclipse Platform、JDT、CDT和PDE.JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。

Eclipse SDK(软件开发者包)是Eclipse Platform、JDT和PDE所生产的组件合并,它们可以一次下载。这些部分在一起提供了一个具有丰富特性的开发环境,允许开发者有效地建造可以无缝集成到Eclipse Platform中的工具。Eclipse SDK 由Eclipse项目生产的工具和来自其它开放源代码的第三方软件组合而成。Eclipse 项目生产的软件以 CPL发布,第三方组件有各自自身的许可协议。

2.4.2 开发环境简介

本项目在windowsXP操作系统上进行开发,Google为开发者提供了SDK(Software Development Kit)。Android SDK的下载地址为https://www.doczj.com/doc/c28867007.html,/index.html。因为本项目的开发工具是Eclipse,所以还需要安装ADT(Android Development Tools)插件。具体安装步骤就不在本文中介绍了。

第3章需求分析

需求分析工作是软件生存周期中重要的一步,也是起决定性的一步。通过它可以全面了解整个系统的功能和性能方面的要求,为软件设计打下坚实的基础。该部分的目标主要有:获得目标系统的物理模型,了解目标系统是如何运行的;抽象出目标系统的逻辑模型,对物理模型进行筛选,得到与软件系统有关的部分;建立目标系统的逻辑模型,得出数据流图和数据字典;补充目标系统的逻辑模型,对目标系统的用户界面,至今尚未考虑的细节进行说明。

本系统主要是完成贪吃蛇游戏的基本操作。用户可以自己练习和娱乐。本系统需要满足以下几点要求。

(1) 利用方向键来改变蛇的运行方向。

(2) 空格键暂停或继续游戏,并在随机的地方产生食物。

(3) 吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常运行。

3.1 系统开发目标

采用基于Android的程序设计技术,以及用Eclipse开发Android程序的相关技术开发出具有良好用户界面,操作简单易学,游戏功能齐全且有益于智力开发的贪吃蛇游戏。

3.2 系统需求分析

3.2.1 业务需求分析

虽然现在市面上存在着各种各样的游戏版本,可是贪吃蛇其市场还是相当大的.因为它的特殊在于它能吸引人更深入,爱不释手.随着游戏速度不断加快,其刺激性也更强.可以说该游戏的优势在于它的简单易行,不论是手机,还是小游戏机,都能很快顺利的运行.对于在外忙碌的人,不可能花费大量时间在娱乐上,大型游戏是行不通的,这样的小游戏刚好迎合了他们的需求。

手机贪吃蛇游戏基于JA V A平台编写,采用Android技术开发的一款手机游戏。手机游戏程序是一项精度要求很高的程序系统,因为其代码利用率很高。一个实时运行的最终作品,每秒都会运行成千上万行程序,绘图事件、键盘事件都会以极高的频率在后台等待响应,若有丝毫的差别都将很容易导致程序在运行不久后可能出现严重错误,甚至死循环。因此,其逻辑设计应当相当严谨,需将所有可能发生的事件及意外情况考虑在设计中。JA V A是基于虚拟机的半解释型编译系统,其执行效率较C++等完全编译后的程序会低很多,程序如果不进行精简和优化,将可能导致运行的不流畅。

3.2.2 用户需求分析

本项目中用户的需求如下图3-1。

图3-1用户需求 游戏开发成功后,最终用户为各个年龄段的人群,用户范围相当广泛。但是用户对软件产品也有一定的要求。

1. 简单易学

时间不管对于谁来说都是宝贵的,用户不会愿意花大量时间去学习使用一款软件。一款软件如果操作界面不友好,让用户难以上手使用,那就说明这款软件开发得不够成功,从而失去大量的用户。所以本项目必须拥有良好的交互界面,让用户安装之后就能进行游戏。

2. 运行稳定

一款软件设计得不够好,那么就有可能在运行的时候出现一些不可预料的错误从而造成软件崩溃。如果用户正在游戏突然软件崩溃了,无疑会让用户感到非常不舒服,有可能就把软件给卸载了,这样也会失去很多用户。

3. 操作简便

用户不是程序员,他们不知道程序的内部逻辑。所以程序员必须提供给用户便捷的操作接口来供用户操作,灵活便捷的操作性直接影响了一款软件的好坏。

3.2.3 功能需求分析

本项目是一个运行在Android 手机上的游戏,所以在应该实现以下功能。

1. 响应键盘事件

玩家可以从手机键盘或者触屏开始游戏,操控游戏,暂停游戏,结束游戏。

2. 绘制游戏图形界面

玩家开始游戏后,在手机屏幕上绘制出一条初始由7个节点组成小蛇。蛇能够在屏幕上移动,屏幕上随机位置出现食物,当蛇吃到食物后蛇的身体会增长一截同时移动速度也会响应加快。蛇不能向相反方向移动,例如蛇头朝南时则不能向北移动。当蛇头碰到墙壁或者碰到自己的身体时游戏结束。

3. 记录玩家分数

当游戏结束后,显示玩家在游戏中所获得的分数。

开始游戏 操作游戏 退出游戏

player

第4章 过程论述

4.1 程序流程设计

本游戏的流程如下图4-1所示。

触摸屏幕游戏开始,蛇开始移动

键盘操作:

向上

左移 右移 向下

没有吃到食物

且蛇碰到边界

游戏结束 游戏中途欲中断,稍后继续游

戏 触摸屏幕暂停游戏

游戏暂停

进入游戏画面

再次触摸屏幕游戏

恢复

图4-1 游戏处理流程图

4.2 概要设计

4.2.1 模块划分

从面向对象程序设计的角度,本项目总体可以分为游戏界面模块、数据存储模块和控制模块。

如下图4-2所示。

4.2.2 游戏主界面模块

游戏界面主框架主要包括游戏图形区域界面、游戏的开始按钮、暂停按钮、游戏的退出按钮。

游戏界面主框架的主要结构图如图4-3所示。

贪吃蛇游戏

游戏控制模块

图4-2 游戏总设计模块 游戏的主界面架

游戏图

形区域

界面 游戏控

图4-3 游戏主界面

游戏数据存储

模块

4.2.3 游戏控制模块

游戏控制模块主要通过手机键盘上的按钮来控制游戏的开始、游戏的退出这两个功能以及控制游戏分数变化。在这个模块中,需要给各个按钮添加响应事件代码,来对上述的功能加以进一步的实现。游戏控制模块的主要框架如图4-4所示。

4.3 模块实现原理

4.3.1 游戏界面模块实现

1. 实现游戏背景

本游戏采用Activity 作为游戏背景的载体,在Android 中一个Activity 就相当于windows 中的一个窗口,Activity 上可以放置许多类型的控件。一个activity 主要有三个状态。

当在屏幕前台时(位于当前任务堆栈的顶部),它是活跃或运行的状态。它就是相应用户操作的activity 。

当它失去焦点但仍然对用户可见时,它处于暂停状态。即是:在它之上有另外一个activity 。这个activity 也许是透明的,或者未能完全遮蔽全屏,所以被暂停的activity 仍对用户可见。暂停的activity 仍然是存活状态(它保留着所有的状态和成员信息并连接至窗口管理器),但当系统处于极低内存的情况下,仍然可以杀死这个activity 。 游戏控制模块

度游戏的暂停功能

游戏的重新开始

图4-4 游戏控制模块框架

贪吃蛇游戏课程设计实验报告全解

辽宁科技大学课程设计说明书 设计题目:基于C#的贪吃蛇游戏 学院、系:装备制造学院 专业班级:计算机科学与技术 学生姓名:叶佳佳 指导教师:丁宁 成绩: 2015年12月12日

目录 一、概述 (1) 1、用C#实现该设计的方法 (1) 2、贪吃蛇游戏说明 (1) 二、实验目的及设计要求 (1) 1、实验目的 (1) 2、实验要求 (2) 三、课程设计具体实现 (2) 1、概要设计 (2) 1.1、设计思想 (2) 1.2、主模块实现 (2) 1.3、主函数流程图 (4) 2、详细设计 (5) 2.1、设计思想 (5) 2.2、具体模块实现: (5) 四、调试过程及运行结果 (10) 1、调试过程 (10) 2、实验结果 (11) 五、实验心得 (12) 六、参考资料 (13) 七、附录:源代码 (13)

一、概述 1、用C#实现该设计的方法 首先应该了解设计要求,然后按照功能设计出实际模块,每个模块都要完成特定的功能,要实现模块间的高内聚,低耦合。设计模块是一个相当重要的环节,模块的数量不宜太多,也不宜太少,要是每个模块都能比较简单的转换成流程图。模块设计完成后,就该给每个模块绘制流程图。流程图要尽可能的简单且容易理解,多使用中文,补一些过长的代码,增加理解难度。此外,流程图应容易转换成代码。 根据流程图编写好代码后在WindowsXP操作系统,https://www.doczj.com/doc/c28867007.html,2008开发环境下进行运行测试,检查错误,最终设计出可行的程序。 2、贪吃蛇游戏说明 游戏操作要尽可能的简单,界面要尽可能的美观。 编写程序实现贪吃蛇游戏,贪吃蛇游戏是一个深受人们喜欢的游戏:一条蛇在密闭的围墙内,在围墙内随机出现一个食物,通过键盘上的四个光标键控制蛇向上下左右四个方向移动,蛇头撞到食物,则表示食物被吃掉,这时蛇的身体长一节,同时计10分;接着又出现食物,等待被蛇吃掉,如果蛇在移动过程中,撞到墙壁、障碍物或身体交叉(蛇头撞到自己的身体),则游戏结束。游戏结束时输出相应得分。 具体要求有以下几点: (1)对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理; (2)系统设计要实用,采用模块化程序设计方法,编程简练、可用,功能全面; (3)说明书、流程图要清楚; 二、实验目的及设计要求 1、实验目的 .NET课程设计是教学实践环节中一项重要内容,进行此课程设计旨在掌握基础知识的基础上,进一步加深对VC#.NET技术的理解和掌握; 提高和加强学生的计算机应用及软件开发能力,使学生具备初级程序员的基本素质; 培养学生独立分析问题、解决问题、查阅资料以及自学能力,以适应信息管理行业日新 1

c语言课程设计贪吃蛇设计

. 《C语言程序设计》课程设计 题目:贪吃蛇游戏设计 学院:信息学院 专业:网络工程 姓名:李益双 学号:1101010121 班级:信息A1111班 指导教师:罗成 职称:讲师 完成日期:2012年6月

目录 1、前言 (3) 2、摘要 (4) 3、项目背景 (5) 4、需求分析 (6) 5、概要设计 (7) 6、详细设计与测试 (8) 601 定义蛇身的数据结构 (8) 602算法设计与程序流程图 (8) 602.1贪吃蛇算法设计 (8) 602.2程序流程图 (9) 603光标移动的设计与实现 (10) 603.1显示水平围墙的实现 (10) 603.2显示分数的实现 (11) 603.3接受玩家按键信息的实现 (11) 603.4游戏结束时显示信息的实现 (11) 604 贪吃蛇游戏主干的设计 (12) 604.1游戏的初始化与加载的实现 (12) 604.2食物随机产生的实现 (13) 604.3蛇身的增长设计 (14) 604.4蛇身的显示与移动的设计实现 (15)

604.5蛇的头部与物体碰撞的而设计实现 (16) 7、编码 (17) 8、结论 (18) 9、参考文献 (19) 10、致谢 (19) 前言 C语言,是一种通用的、过程式的编程语言,广泛用于系统与应用软件的开发。具有高效、灵活、功能丰富、表达力强和较高的移植性等特点,在程序员中备受青睐。 C语言是由UNIX的研制者丹尼斯·里奇(Dennis Ritchie)于1970年由肯·汤普逊(Ken Thompson)所研制出的B语言的基础上发展和完善起来的。目前,C语言编译器普遍存在于各种不同的操作系统中,例如UNIX、MS-DOS、Micro soft Windows及Linux等。C语言的设计影响了许多后来的编程语言,例如C+ +、Objective-C、Java、C#等。 1980年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局(American National Standard Institution)为C语言订定了一套完整的国际标准语法,称为ANSI C,作为C语言的标准。1980年代至今的有关程式开发工具,一般都支持符合ANSI C的语法。

html5课程论文-基于html5的贪吃蛇游戏_本科论文

HTML5课程设计 题目:基于html5的贪吃蛇游戏 学院:__商学院___________专业:__ 信息管理与信息系统 姓名:韩斌 指导教师:田更 2015年6月10日

摘要 随着互联网技术的不断发展和计算机性能的不断提升,用户享受互联网的方式也开始不断的变化,越来越多的应用可以直接以浏览器打开的方式使用,数据则是存储在云端,更加的安全可靠,方便用户共享数据。在各种应用不断的趋于更加网络话的同时,一种新的技术标准也随之产生,那就是HTML5(HTML是一种标记语言也是一种标准,互联网开发居于此)。HTML5是近十年来Web(互联网)标准最巨大的飞跃,和以前的版本不同,HTML5并非仅仅用来表示Web内容,它的使命是将Web带入一个成熟的应用平台,在这个平台上,视频、音频、图象和动画,以及同电脑的交互都被标准化。也就是说HTML5是通过开放的技术和标准来实现一个无插件模式的富客户端,这个客户端可以在移动终端、PC(个人计算机)或者其他可以有网络的地方轻松的运行。所以此时研究HTML5,并且大胆的实践有着重要的意义。课题内容是使用HTML5技术基于Web的环境来制作一个网络版的“坦克大战”游戏应用,该游戏使用了HTML5中的Canvas(画布)、WebSocket(HTML5中最新使用的一种网络连接协议,用于实时通讯)、Audio(HTML5中控制声音的技术)等最新的技术。目前HTML5标准尚未成熟,很多地方仍在变动,API(应用程序接口)仍不是很稳定,所以还无法真正的完全商用或者全部普及开,但这并不会影响我们来研究它。服务器端采用的Nodejs(一种Javascript程序语言框架,可以在服务器端运行Javascript语言)这种新型的框架来开发,Nodejs使用Javascript语言来开发,使整个应用从客户端到服务器端编程都是使用Javascript,大大的

C语言课程设计报告——贪吃蛇源程序

C 语言课程设计(小游戏贪吃蛇的程序设计报告) 设计人: 班级: 201 年月号

目录一:概述 1:研究背景及意义 2:设计的任务与需要知识点3:具体完成设计内容 二:需求分析 1:功能需求 2:操作方法 三:总体设计 1:模块划分 2:数据结构设计 四:详细设计 1:主空摸块设计 2:绘制游戏界面 3:游戏的具体过程 4:游戏的结束处理 5:显示排行榜信息模块 五:程序的调试与测试1:动画与音乐同步 2:蛇的运行 3:终止程序 六:结论 七::结束语 八:程序清单 九:参考文献

一. 概述 本课程设计以软件工程方法为指导,采用了结构化,模块化的程序设计方法,以C语言技术为基础,使用Turbo C++3、0为主要开发工具,对贪吃蛇游戏进行了需求分析,总体设计,详细设计,最终完成系统的实现与测试。 1、1 研究的背景及意义 随着社会的发展,人们生活的节奏日益加快,越来越多的人加入了全球化的世界。人们不再拘泥与一小块天地,加班,出差成了现代人不可避免的公务。而此时一款可以随时随地娱乐的游戏成为了人们的需要。此次课程设计完成的贪吃蛇小游戏,正就是为了满足上述需求而设计出来的。贪吃蛇游戏虽小,却设计诸多的知识点。通过开发贪吃蛇游戏系统,可使读者初步了解使用软件工程的与那个发,技术与工具开发软件的过程,进一步掌握结构化,模块化的程序设计方法与步骤,进一步掌握总体数据结构设计,模块划分方法,掌握局部变量,全局变量,结构体,共用体,数组,指针,文件等数据结构的使用方法,掌握图形,声音,随机数等多种库函数的使用方法,学习动画,音乐,窗口,菜单,键盘等多项编程技术,进一步学会软件调试,测试,组装等软件测试方法,为后续课程的学习与将来实际软件开发打下坚实的基础。 1、2 设计的任务与需要的知识点 1、2、1 课程设计主要完成的任务 1)、通过编写“贪吃蛇游戏”程序,掌握结构化,模块块化程序设计的思想,培养解决实际问题的能力。 2) 有同步播放动画,声音效果。 3) 设计好数组元素与蛇,食物的对应关系。 4) 随机产生食物。 5) 有分数统计,排行榜,分数存储等功能。 通过此次课程设计,希望使读者能更深入的理解与掌握课程教学中的基本概念,培养读者应用基本技术解决实际问题的能力,从而进一步提高分析问题与解决问题的能力。 1、2、2需要掌握与运用的知识点 1、2、3本次课程设计需要掌握与运用如下的知识点: 1) 数组的应用。 2) 全局变量的使用。 3) 按键处理。 4)结构体的应用。 5)图形,音乐与动画的有关知识。 6)随即函数的使用。 7)文件的基本出操作。 8) 结构化,模块化的设计方法。

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

贪吃蛇游戏程序设计 一、课程设计任务 贪吃蛇小游戏程序设计 二、设计要求 通过游戏程序设计,提高编程兴趣与编程思路,巩固C语言中所学的知识,合理的运用资料,实现理论与实际相结合。 (1).收集资料,分析课题,分解问题,形成总体设计思路; (2).对于设计中用到的关键函数,要学会通过查资料,弄懂其用法,要联系问题进行具体介绍; (3).上机调试,查错,逐步分析不能正常运行的原因,确保所设计的程序正确,并且能正常运行; (4).完成课程设计报告,并进行答辩 三、需求分析 3.1、程序功能 贪吃蛇游戏是一个经典小游戏,一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记10分,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体交叉蛇头撞倒自己身体游戏结束。 3.2、设计思想 程序关键在于表示蛇的图形及蛇的移动。用一个小矩形快表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用俩节表示。移动时必须从蛇头开始,所以蛇不能向相反的方向移动,如果不按任意键,蛇自行在当前方向上前移,但按下有效方向键后,蛇头朝着该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇

的身体随蛇头移动,图形的实现是从蛇头新位置开始画出蛇,这时,由于未清屏的原因,原来的蛇的位置和新蛇的位置差一个单位,所以看起来蛇多一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现与消失也是画矩形块和覆盖矩形块。为了便于理解,定义两个结构体:食物与蛇。 3.3、流程图

四、设计的具体实现 (1)函数定义 函数定义是对各个基础函数的定义,并且设置需要运用的信息,便于调用 #define N 200 #define M 200 #include"graphics.h" #include #include #include #include #include #include #include #define LEFT 97//A #define RIGHT 100//D #define DOWN 115//S #define UP 119//W #define Esc 0x011b int 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();//开始画面

C语言课程设计报告——贪吃蛇源程序之欧阳家百创编

欧阳家百创编 C 语言课程设计 欧阳家百(2021.03.07) (小游戏贪吃蛇的程序设计报告) 设计人: 班级: 201年月号

欧阳家百创编目录 一:概述 1:研究背景及意义 2:设计的任务与需要知识点 3:具体完成设计内容 二:需求分析 1:功能需求 2:操作方法 三:总体设计 1:模块划分 2:数据结构设计 四:详细设计 1:主空摸块设计 2:绘制游戏界面 3:游戏的具体过程 4:游戏的结束处理 5:显示排行榜信息模块 五:程序的调试与测试 1:动画与音乐同步 2:蛇的运行 3:终止程序 六:结论 七::结束语 八:程序清单 九:参考文献

一.概述 本课程设计以软件工程方法为指导,采用了结构化,模块化的程序设计方法,以C语言技术为基础,使用Turbo C++3.0为主要开发工具,对贪吃蛇游戏进行了需求分析,总体设计,详细设计,最终完成系统的实现与测试。 1.1 研究的背景及意义 随着社会的发展,人们生活的节奏日益加快,越来越多的人加入了全球化的世界。人们不再拘泥与一小块天地,加班,出差成了现代人不可避免的公务。而此时一款可以随时随地娱乐的游戏成为了人们的需要。此次课程设计完成的贪吃蛇小游戏,正是为了满足上述需求而设计出来的。贪吃蛇游戏虽小,却设计诸多的知识点。通过开发贪吃蛇游戏系统,可使读者初步了解使用软件工程的和那个发,技术和工具开发软件的过程,进一步掌握结构化,模块化的程序设计方法和步骤,进一步掌握总体数据结构设计,模块划分方法,掌握局部变量,全局变量,结构体,共用体,数组,指针,文件等数据结构的使用方法,掌握图形,声音,随机数等多种库函数的使用方法,学习动画,音乐,窗口,菜单,键盘等多项编程技术,进一步学会软件调试,测试,组装等软件测试方法,为后续课程的学习和将来实际软件开发打下坚实的基础。 1.2 设计的任务和需要的知识点 1.2.1 课程设计主要完成的任务 1). 通过编写“贪吃蛇游戏”程序,掌握结构化,模块块化程序设计的思想,培养解决实际问题的能力。 2) 有同步播放动画,声音效果。 3) 设计好数组元素与蛇,食物的对应关系。 4) 随机产生食物。 5) 有分数统计,排行榜,分数存储等功能。 通过此次课程设计,希望使读者能更深入的理解和掌握课程教学中的基本概念,培养读者应用基本技术解决实际问题的能力,从而进一步提高分析问题和解决问题的能力。 1.2.2需要掌握和运用的知识点 1.2.3本次课程设计需要掌握和运用如下的知识点: 1) 数组的应用。 2) 全局变量的使用。 3) 按键处理。 4)结构体的应用。 5)图形,音乐和动画的有关知识。 6)随即函数的使用。 7)文件的基本出操作。 8) 结构化,模块化的设计方法。 1.3具体完成的设计内容 在本次课程设计中需要完成的任务有:包含命令,全局变量的定义和宏定义,函数声明等(50行),主控模块(MAIN函数,14行),动画,音乐播放模块(DRAWSNOW函数,33行),画出游戏开始界面模块,具体游戏过程模块,游戏结束处理模块。开发中工作量约为215行源代码。 二 .需求分析 贪吃蛇游戏是个简单的小游戏,能让游戏者的身心得到娱乐,从而能够更好地投入到学习或工作当中。虽然现在市面上出来这各种各样的游戏版本,可是贪吃蛇这类的小游戏其市场还是相当大的,因为它玩法简单易行,不论是手机,还是小游戏机,都能很顺利的运行。对于在外忙碌的人,不可能花费大量时间在娱乐上,大型游戏是行不通的,这样的小游

贪吃蛇游戏的设计与实现毕业论文

毕业论文 论文题目贪吃蛇游戏的设计与实现院(系)名称计算机与信息工程学院专业名称计算机应用技术 班级 学生姓名 学号 指导教师姓名

目录 内容摘要: (1) 关键词: (1) Abstract: (1) Key words: (1) 1.游戏设计背景 (1) 1.1游戏设计原理 (1) 1.2游戏设计的运行环境 (1) 2.游戏设计相关知识介绍 (3) 2.1 Flash理论基础知识要点 (3) 2.2面向对象编程 (4) 2.3游戏制作中常用函数的属性与方法 (4) 3. 制作贪吃蛇游戏的整体规划 (7) 3.1贪吃蛇游戏的大致结构图 (7) 3.2游戏设计整体构思 (8) 3.3透视游戏设计的核心重点算法 (8) 3.4游戏设计核心重点函数控制 (8) 4. 游戏详细设计与核心技术 (8) 4.1游戏的详细设计 (8) 4.2游戏的核心技术 (10) 5.贪吃蛇游戏设计总结 (14) 参考文献 (15) 致谢 (16)

内容摘要:贪吃蛇游戏,因为制作简单,逻辑性较强,通常是学做游戏的必练的项目。贪食蛇游戏是目前各种流行手机中附带的一款休闲小游戏。 Flash是Macromedia公司发布的制作高压缩性网络内容的专业标准动画软件。随便打开一个网页,都能发现Flash动画的身影Flash动画作品已经充斥整个网络。毫无疑问Flash 已经是制作网络动画的霸主。透过现象看本质:游戏的制作与Flash的基础原理密不可分,同时也与制作者的良好修养密不可分,进而提高本身综合素质的的整体提高! 关键词:原理运行环境理论基础详细设计核心技术 Abstract:Snake game, because the production of simple logic is strong, often the game will learn to practice projects. Snake mobile game is all included with a popular casual games. Macromedia Flash is the production company released the contents of high-compression network of professional standards for animation software. Casually open a web page, Flash animation can be found in the figures of Flash animation has flooded the entire network. There is no doubt that Flash is already the dominant animation production network. Look beyond the surface: the game's basic principles of production and Flash are inseparable, but also with the producers of good training are inseparable, and thus improve their overall quality of the overall improvement! Key words:Principle operating environment Theoretical basis Detailed design Core Technology

C语言贪吃蛇

------------ 大学 C语言程序设计课程设计(论文)题目:贪吃蛇 院(系): 专业班级: 学号: 学生姓名: 指导教师: 教师职称: 起止时间:

课程设计(报告)任务及评语 院(系):教研室: 学号学生姓名专业班级 程序设计 (报告) 题目 贪吃蛇 程序设计(报告)任务 程序设计的任务与要求: (1)掌握C语言编程的基础知识。 (2)较熟练地编写C语言应用程序。 (3)了解C语言的常用标准函数、编程技巧、异常处理。 (5)联系已学过的内容,巩固所学的理论,增强独立工作能力。 (6)通过设计主要使学生有一个独立编写程序的过程,对理论学习及动手能力都有一个很大的提高。 (7)通过本次设计,进一步培养学生热爱专业的思想,同时对本专业综合素质的提高起一个积极的推动作用。 课程设计过程中,要严格遵守实践环节的时间安排,听从指导教师的指导。正确地完成上述内容,记录实习日记,规范完整地撰写出课程设计报告。 指 导 教 师 评 语 及 成 绩 成绩:指导教师签字: 2011年 1 月 4 日

目录 第1章 C语言课程设计的实训目的与要求 (1) 1.1 C语言课程设计目的 (1) 1.2 C语言课程设计的实验环境 (1) 1.3 C语言课程设计的预备知识 (1) 1.4 C语言课程设计要求 (1) 第2章 C语言课程设计内容 (2) 2.1程序功能介绍 (2) 2.2程序整体设计说明 (2) 2.2.1设计思路 (2) 2.2.2数据结构设计及用法说明 (3) 2.2.4各模块的功能及程序说明 (7) 2.2.5程序结果 (8) 2.3程序源代码及注释 (10) 第3章 C语言课程设计总结 (17) 参考资料.. (20)

java课程设计贪吃蛇

JAVA设计贪吃蛇游戏 1.课程设计目的 《JA V A程序设计》是计算机相关专业的必修专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。本课程的程序设计专题实际是计算机相关专业学生学习完《JAVA程序设计》课程后,进行的一次全面的综合训练,JA V A程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。 2.设计方案论证 2.1设计思路 贪吃蛇游戏设计与实现,主要分为以下二个模块:游戏主界面模块和游戏控制模块。在此只实现游戏的游戏主界面模块、游戏控制模块。并且只是实现移动速度、暂停、重新开始等功能。 游戏主界面模块: 游戏的主界面是进入游戏后,能够给玩家第一感官的部分,主要包括游戏图形区域界面、游戏的速度选择更新界面、新生方块的预览、游戏速度控制按钮、暂停游戏按钮、重新开始游戏按钮以及游戏排行榜按钮。从很大程度上决定了玩家对游戏的兴趣问题,因此,游戏的主界面应该力求美观,爽心悦目。 游戏控制模块: 这个模块是游戏的中心环节,主要完成控制游戏的速度、暂停、重新开始等功能。为了能够给玩家一个很好的游戏环境,这部分应该做到易懂、易操作。 本设计所开发的是基于Java的一个贪吃蛇游戏软件,主要实现游戏的速度控制、游戏的暂停、游戏的退出等功能,分为: 游戏主界面模块、游戏控制模块以二个模块。 性能: 本软件在设计方面本着方便、实用及娱乐性高的宗旨,在对界面进行设计的过程中,始终坚持清晰明了,在性能方面能够实现效率高,不易出错等优点。

单片机贪吃蛇课程设计报告

电气与信息工程学院 单片机课程设计报告 一、设计任务及要求 基本功能: 制作一个8*8点阵的贪吃蛇游戏,系统以单片机的C语言的软件设计,系统通过LED点阵屏为载体显示数据,并用五个输入端表示五个控制键(上下左右及加速)。系统硬件部分由STC89C52RC单片机,8*8点阵屏,5个按键,软件部分在keil环境下用C51语言编写,包括游戏初始化蛇的节数,以及障碍墙壁,游戏结束时自动复位。 具体要求: 1、用四个按钮控制贪吃蛇的行径,一个按钮控制贪吃蛇的加速,蛇的初始长度为2点,设置墙壁。 2、蛇吃到长度为1点的食物时,自身长度增加1点。 2、速度按钮带有一次加速,按两下速度按钮蛇的行进速度回到初始值。 3、当蛇碰到墙壁或自己的身体时游戏结束。 4、用proteus设计,仿真基于STC89C52RC单片机的8x8点阵贪吃蛇的硬件电

路。 5、游戏结束,系统自动复位。 二、硬件电路设计 本系统以STC89C52RC为核心,设置12MHz的晶振,使得单片机有合理的运行速度。LED点阵屏通过LED(发光二极管)组成,以灯珠亮灭来显示程序的运行情况,是模块化的显示组件,本设计采用8*8共阳红色点阵显示屏,用来显示贪吃蛇的游戏画面。五个独立按键控制蛇的游走方向(上下左右)和加速减速的功能。贪吃蛇是一款经典的小游戏,玩家通过按键操控贪吃蛇不断地吃食物,蛇身逐渐伸长,当蛇碰到蛇身和墙壁时游戏结束。 需要注意的是实际元件中,点阵的封装不尽相同,因此需要测试出每个引脚的功能,以便正确连线。注意,每个像素点的额定电压在3v左右,电压过大将会彻底损坏。 三、系统软件设计 软件方面采用了C51编写代码,代码编写模块如下图: 核心代码主要为游戏处理、信息处理和按键处理。编写游戏的功能代码,先定义游戏的数据结构和常量。其中食物的数据结构采用结构体定义,两个unsigned char变量分别定义为食物的横纵坐标;蛇的身体定义为长度最大值为20的数组,游戏中贪吃蛇长度达到39,游戏通关结束。 游戏处理模块为贪吃蛇在游玩过程中遇到的需要被处理的情况,主要实现的功能包括以下四个方面,即移动、食物、死亡和加速。 1、移动

c语言程序贪吃蛇课程设计报告范文

高级语言程序设计 课程设计报告 Experiment Designing reporter 课程名称:高级语言程序设计 英文名称 : C Program Experiment Designing 专业:自动化 111 学号: XXX 姓名: XXX 指导教师: XXX 日期: 2012 年 6月 17日至 2011 年6 月 20 日 山东工商学院信电学院

山东工商学院信电学院自动111班第一组“贪吃蛇课程设计报告“一:课程设计内容 程序功能介绍 贪吃蛇游戏是一个经典小游戏,深受众多玩家喜爱,其规则是:一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记10分,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体交叉蛇头撞倒自己身体游戏结束。此游戏不仅能锻炼人的思维敏捷性,而且还可以提高玩家的逻辑判断能力。 设计思路 我们小组称设计本次课题——贪吃蛇的思路为“贪快速上手贪吃蛇三步曲”: 第一步: 寻找到一个真正可以运行的已用C编好的贪吃蛇。 因为我们毕竟从未看到过用C编游戏的程序,让我们两手一抹黑的开始编写是有一定的困难的,如果我们自己找一个已经设计好的程序,以此为跳板实现我们想要达到的效果,那么肯定是高效的。所以我们组统一决定,去寻找一个可以运行的C编译的贪吃蛇。 第二步: 运行游戏并了解游戏程序。 我们认为,只有你运行并了解一个游戏,才能知道游戏里需要什么样的改进和创新,如果你自己本身就没玩过这个游戏,那么你就是再有技术,你也永远改进和改编不了一个游戏,因为你根本不知道你在干什么。 同样重要的是了解游戏程序。因为只有看懂了程序,才能实现对他的改编,才能游刃有余。 第三步: 寻找模块并分类,而后进行改编。 寻找到你想要改变的游戏内容的控制模块,比如,我想要增加一堵墙,那 第一页共十六页 自动化 111

java课程设计贪吃蛇游戏设计

前言 Java最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景。于是改造了Oak,以“Java”的名称正式发布。 Java 编程语言的风格十分接近C、C++语言。Java是一个纯的面向对象的程序设计语言,它继承了 C++ 语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java SE 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。但在J2SE 1.4.2 发布后,Java 的执行速度有了大幅提升。 与传统程序不同,Sun 公司在推出 Java 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java 软件必须相互兼容。“Java 语言靠群体的力量而非公司的力量”是 Sun 公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。 Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。

C语言课程设计报告——贪吃蛇源程序

C 语言课程设计 (小游戏贪吃蛇的程序设计报告)

设计人: 班级: 201 年月号

目录一:概述 1:研究背景及意义 2:设计的任务与需要知识点 3:具体完成设计内容 二:需求分析 1:功能需求 2:操作方法 三:总体设计 1:模块划分 2:数据结构设计 四:详细设计 1:主空摸块设计 2:绘制游戏界面 3:游戏的具体过程 4:游戏的结束处理 5:显示排行榜信息模块 五:程序的调试与测试 1:动画与音乐同步 2:蛇的运行 3:终止程序 六:结论 七::结束语 八:程序清单 九:参考文献

一.概述 本课程设计以软件工程方法为指导,采用了结构化,模块化的程序设计方法,以C 语言技术为基础,使用Turbo C++3.0为主要开发工具,对贪吃蛇游戏进行了需求分析,总体设计,详细设计,最终完成系统的实现与测试。 1.1 研究的背景及意义 随着社会的发展,人们生活的节奏日益加快,越来越多的人加入了全球化的世界。人们不再拘泥与一小块天地,加班,出差成了现代人不可避免的公务。而此时一款可以随时随地娱乐的游戏成为了人们的需要。此次课程设计完成的贪吃蛇小游戏,正是为了满足上述需求而设计出来的。贪吃蛇游戏虽小,却设计诸多的知识点。通过开发贪吃蛇游戏系统,可使读者初步了解使用软件工程的和那个发,技术和工具开发软件的过程,进一步掌握结构化,模块化的程序设计方法和步骤,进一步掌握总体数据结构设计,模块划分方法,掌握局部变量,全局变量,结构体,共用体,数组,指针,文件等数据结构的使用方法,掌握图形,声音,随机数等多种库函数的使用方法,学习动画,音乐,窗口,菜单,键盘等多项编程技术,进一步学会软件调试,测试,组装等软件测试方法,为后续课程的学习和将来实际软件开发打下坚实的基础。 1.2 设计的任务和需要的知识点 1.2.1 课程设计主要完成的任务 1). 通过编写“贪吃蛇游戏”程序,掌握结构化,模块块化程序设计的思想,培养解决实际问题的能力。 2) 有同步播放动画,声音效果。 3) 设计好数组元素与蛇,食物的对应关系。 4) 随机产生食物。 5) 有分数统计,排行榜,分数存储等功能。 通过此次课程设计,希望使读者能更深入的理解和掌握课程教学中的基本概念,培养读者应用基本技术解决实际问题的能力,从而进一步提高分析问题和解决问题的能力。 1.2.2需要掌握和运用的知识点 1.2.3本次课程设计需要掌握和运用如下的知识点: 1) 数组的应用。 2) 全局变量的使用。 3) 按键处理。 4)结构体的应用。 5)图形,音乐和动画的有关知识。 6)随即函数的使用。 7)文件的基本出操作。

C语言贪吃蛇实验报告

C语言程序设计报告 题目:贪吃蛇游戏的程序设计 院系:西语学院英语教育6班 : 学号:

1.1题目: 设计贪吃蛇小游戏 1.2题目的要求: 玩家通过键盘控制蛇在地图上寻找食物,蛇吃下食物,可以加分,碰到四壁游戏结束。 1.3设计的步骤: ●分析设计题目的要求,即需求分析。 ●总体设计,确定所需模块及模块间调用关系,定义系统中使用的数据类型。 ●详细设计,确定每个模块的功能,绘制主要函数的流程图。 ●编写程序代码,调试程序使其能正确运行。要求书写规范,注意采用缩进格式。函数 名、变量名要见文晓意,注释要简而不失、详而不缀。设计完成的软件要便于操作和使用。 ●程序测试,发现程序中存在的错误并改正。 ●完成报告。 2详细设计说明 2.1课程设计的要求: 通过游戏程序设计,提高编程兴趣与编程思路,巩固C语言中所学的知识,合理的运用资料,实现理论与实际相结合。 ●收集资料,分析课题,分解问题,形成总体设计思路;

●对于设计中用到的关键函数,要学会通过查资料,弄懂其用法,要联系问题进行具 体介绍; ●上机调试,查错,逐步分析不能正常运行的原因,确保所设计的程序正确,并且能 正常运行; ●完成课程设计报告。 2.2程序的功能: 贪吃蛇游戏是一个经典小游戏,一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记10分,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体交叉蛇头撞倒自己身体游戏结束。 2.3课程设计的思想: 程序关键在于表示蛇的图形及蛇的移动。用一个小圆点来表示蛇的一节身体,身体每长一节,增加一个圆点,蛇头用四节来表示。移动时必须从蛇头开始,所以蛇不能向相反的方向移动,如果不按任意键,蛇自行在当前方向上前移,如果按与蛇运动方向相反的方向键,此游戏就会暂停,再按想前的方向键才能继续游戏,但按下有效方向键后,蛇头朝着该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇的身体随蛇头移动,图形的实现是从蛇头新位置开始画出蛇,这时,由于未清屏的原因,原来的蛇的位置和新蛇的位置差一个单位,所以看起来蛇多一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现与消失也是画一个圆点和覆盖原来的圆点。为了便于理解,定义两个结构体:食物与蛇。

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

武汉理工大学华夏学院课程设计 课程名称面向对象课程设计 题目贪吃蛇游戏 专业软件技术 班级软件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的模式) 三、整体思路

贪吃蛇C语言课程设计报告

贪吃蛇游戏设计 姓名:张力 学号: 10020323完成日期:月日

一、设计目的 贪吃蛇游戏程序功能的实现主要是建立在二维数组和图形界面的应用上,通过编写游戏程序能够熟悉掌握相关数组和图形函数的运用,提高编程水平,增加编程的兴趣 二、总体设计 主函数 ↓ 图形驱动I n i t画界面D r a w K游戏具体过程G a m e P l a y 图形结束C l o s e ↓ 游戏结束G a m e O v e r输出成绩P r S c o r e 三、详细设计(项目成员及分工、模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等) ①主函数m a i n(): 定义使用的常数,全局变量及函数原型说明,并调用I n i t()函数初始化图形系统;然后调用D r a w K()函数画界面,调用G a m e P l a y()函数实现游戏的具体过程,游戏结束后调用C l o s e()函数关闭图形系统结束程序。 ②画界面函数D r a w K(): 主界面是一个密封的围墙,用两个循环语句分别在水平方向和垂直方向输出连续的宽度和高度均为10个单位的矩形小方块,设置成淡青色,背景颜色为黑色。 ③游戏具体过程函数G a m e P l a y(): 算法过程: a.设置初始值。为防止食物出现在一个位置上,要设置随机数发生器,真正产生随机数。初始时,蛇只有蛇头,设定一个开始方向; b.循环执行,直到按E s c键退出; c.没有按键的情况下,循环执行。 如果没有食物,随机出现食物;食物的随机出现要确保它的位置在10的倍数位置上,因为蛇的坐标都是以10为模的;如果有食物,则显示食物,蛇

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

本科毕业设计(论文) 题目名称:基于Android贪吃蛇游戏 学院:计算机科学技术 专业年级:计算机科学与技术08(师)级 学生姓名: 班级学号:2班28号 指导教师:

摘要 本课题是利用java语言在Android平台上进行手机游戏的开发,由于本人知识的有限,以及客观条件的限制,本人打算开发一个单机版的游戏。本人在手机上玩过贪吃蛇的游戏,曾经为了和别人比赛,苦苦的玩了好多次,追求高分!后来得知这个小小的游戏是nokia当年很成功的一款手机游戏,许多人都玩过,也很喜欢。现在这款游戏的版本已经发展到第三版了,手机生产厂商继续开发这个游戏,看来这个游戏还是有很大的市场的。Google公司2007年11月5日发布的开源的Android 平台——一款包括操作系统(基于Linux内核)、中间件和关键应用的手机平台,并组建了开放手机联盟(Open Handset Alliance),包括Google、中国移动、T-Mobile、宏达电、高通、摩托罗拉等领军企业。于是,我决定利用自己大学所学的知识,自己在指导老师的帮助下,独立开发这个小游戏。本文首先详细介绍了java的一些基本的知识点,在此基础上引出了Android,介绍了Android的基础以及其特点,然后介绍了一下Android将来的一些前景和发展。重点说明了这个贪吃蛇程序所用到的一些类和控件,包括Drawable,Canvas, Thread,等等。介绍了这些类的一般的使用方法,以及本程序是如何使用这些类来进行游戏的开发的。本程序将老少皆宜的经典作品移植到手机上来,为更流行的硬件平台提供应用软件。这些都将能很好的满足未来人们对手机游戏的需求。吞吃蛇游戏基于Android平台编写,满足一般手机用户的娱乐需求。 关键词:Android系统; 贪食蛇游戏; 手机游戏

C语言课程设计报告——贪吃蛇源程序

课程设计(小游戏贪吃蛇的程序设计报告) 设计人:刘兵飞 班级:计11-1 学号:21号 2011年12月28号

目录一:概述 1:研究背景及意义 2:设计的任务与需要知识点3:具体完成设计内容 二:需求分析 1:功能需求 2:操作方法 三:总体设计 1:模块划分 2:数据结构设计 四:详细设计 1:主空摸块设计 2:绘制游戏界面 3:游戏的具体过程 4:游戏的结束处理 5:显示排行榜信息模块 五:程序的调试与测试1:动画与音乐同步 2:蛇的运行 3:终止程序 六:结论 七::结束语 八:程序清单 九:参考文献

一.概述 本课程设计以软件工程方法为指导,采用了结构化,模块化的程序设计方法,以C语言技术为基础,使用Turbo C++3.0为主要开发工具,对贪吃蛇游戏进行了需求分析,总体设计,详细设计,最终完成系统的实现与测试。 1.1 研究的背景及意义 随着社会的发展,人们生活的节奏日益加快,越来越多的人加入了全球化的世界。人们不再拘泥与一小块天地,加班,出差成了现代人不可避免的公务。而此时一款可以随时随地娱乐的游戏成为了人们的需要。此次课程设计完成的贪吃蛇小游戏,正是为了满足上述需求而设计出来的。贪吃蛇游戏虽小,却设计诸多的知识点。通过开发贪吃蛇游戏系统,可使读者初步了解使用软件工程的和那个发,技术和工具开发软件的过程,进一步掌握结构化,模块化的程序设计方法和步骤,进一步掌握总体数据结构设计,模块划分方法,掌握局部变量,全局变量,结构体,共用体,数组,指针,文件等数据结构的使用方法,掌握图形,声音,随机数等多种库函数的使用方法,学习动画,音乐,窗口,菜单,键盘等多项编程技术,进一步学会软件调试,测试,组装等软件测试方法,为后续课程的学习和将来实际软件开发打下坚实的基础。 1.2 设计的任务和需要的知识点 1.2.1 课程设计主要完成的任务 1). 通过编写“贪吃蛇游戏”程序,掌握结构化,模块块化程序设计的思想,培养解决实际问题的能力。 2) 有同步播放动画,声音效果。 3) 设计好数组元素与蛇,食物的对应关系。 4) 随机产生食物。 5) 有分数统计,排行榜,分数存储等功能。 通过此次课程设计,希望使读者能更深入的理解和掌握课程教学中的基本概念,培养读者应用基本技术解决实际问题的能力,从而进一步提高分析问题和解决问题的能力。 1.2.2需要掌握和运用的知识点 1.2.3本次课程设计需要掌握和运用如下的知识点: 1) 数组的应用。 2) 全局变量的使用。 3) 按键处理。 4)结构体的应用。 5)图形,音乐和动画的有关知识。 6)随即函数的使用。 7)文件的基本出操作。

相关主题
文本预览
相关文档 最新文档