基于qt的贪吃蛇游戏设计与实现与实现学士学位论文.docx
- 文档编号:564830
- 上传时间:2022-10-11
- 格式:DOCX
- 页数:58
- 大小:4.16MB
基于qt的贪吃蛇游戏设计与实现与实现学士学位论文.docx
《基于qt的贪吃蛇游戏设计与实现与实现学士学位论文.docx》由会员分享,可在线阅读,更多相关《基于qt的贪吃蛇游戏设计与实现与实现学士学位论文.docx(58页珍藏版)》请在冰豆网上搜索。
基于qt的贪吃蛇游戏设计与实现与实现学士学位论文
基于Qt的贪吃蛇游戏设计与实现
摘要
随着社会的发展,人们生活的步调日益加快,越来越多的人加入了全球化的世界。
人们不再拘泥于一小块天地,加班、出差成为现代人不可避免的公务。
而此时一款可以随时随地娱乐的游戏成了必需品。
贪吃蛇简单易行、操作方便、娱乐性极强,很好地满足了玩家的需求。
本系统开发平台为Windows7,应用基于Qt跨平台的图形用户界面应用程序框架,程序设计语言采用C++。
在系统设计过程中,使用了面向对象的分析、设计方法。
完全采用软件工程的方法进行需求分析、总体设计、总体实现和测试。
在程序设计中,探讨了用图形框架的方法解决问题,对设计其他图形用户界面具有重要的实际意义。
本设计实现了一个简单的贪吃蛇小游戏,该游戏不仅实现了简单的游戏操作功能,还实现了灵活的运作功能,而且具有简洁大方的图文外观。
此系统具有良好的界面和必要的交互信息,使操作人员能快捷简单的进行操作,给玩家一个有趣的游戏。
关键词Qt;程序设计语言C++;贪吃蛇
SnakegamedesignandimplementationbasedonQt
Abstract
Withthedevelopmentofthesociety,thequickeningpaceoflife,peoplemoreandmorepeoplejoinedtheglobalizationoftheworld.Peoplearenolongerlimitedtoasmallpieceofheavenandearth,overtime,travelinevitablyamodernbusiness.Atatimewhenaanywhereentertainmentgamebecameanecessity.Snakeissimple,easytooperate,entertainmentisextremelystrong,wellmeettherequirementsoftheplayer.
ApplicationdevelopmentplatformforWindows7,thissystemisbasedonQtcross-platformGUIapplicationframework,usingc++programminglanguage.Intheprocessofsystemdesign,usingtheobject-orientedanalysisanddesignmethod.Completelyusingthemethodofsoftwareengineeringneedsanalysis,overalldesign,implementationandtestingasawhole.Inprogramming,discussesthemethodofusinggraphicalframeworktosolvetheproblem,thedesignofothergraphicaluserinterface(GUI)hasimportantpracticalsignificance.
Thisdesignimplementsasimplesnakegame,thegameisnotonlyrealizethefunctionofsimpleoperation,andrealizethefunctionofflexibleoperation,andhasaconciseandeasybyappearance.Thissystemhasagoodinterfaceandtheinteractionofthenecessaryinformation,allowtheoperatortoquickandeasytooperate,togivetheplayersafungame.
KeywordsQt;C++programminglanguage;snake
绪论
贪吃蛇是世界知名的益智类小游戏,选择这个题目一方面的原因是为了将我们的所学知识加以运用;另一方面,虽然很小就接触这个游戏,但是它的制作方法对我们而言还是很神秘的。
我们希望通过自己的所学知识把它剖析开来,通过自己的动手实践,真正的了解它的本质和精髓。
希望通过这次实践,我们能从中提高自己的编程能力,并从中学会从零开始分析设计程序。
本游戏的开发是基于Qt跨平台的图形用户界面应用程序框架,用的是C++开发语言。
C++语言简洁灵活,运算符的数据结构丰富、具有结构化控制语句、程序执行效率高,而且同时具有高级语言与汇编语言的优点,与其它语言相比,C语言具有可以直接访问物理地址的优点,与汇编语言相比又具有良好的可读性的可移植性。
总得来说,C++语言的主要特点表现在两个方面,一是尽量兼容C,二是支持面向对象的方法。
它操持了C的简洁、高效的接近汇编语言等特点,对C的类型系统进行了改革的扩充,因此C++比C更安全,C++的编译系统能检查出更多的类型错误。
另外,由于C语言的广泛使用,因而极大的促进了C++的普及和推广。
C++语言最有意义的方面是支持面向对象的特征。
虽然与C的兼容使得C++具有双重特点,但他在概念上完全与C不同,更具面向对象的特征。
数据结构是计算机存储、组织数据的方式。
数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。
通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。
数据结构往往同高效的检索算法和索引技术有关。
1嵌入式系统
1.1嵌入式系统
嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。
嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。
事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是由单个程序实现整个控制逻辑。
从应用对象上加以定义,嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。
国内普遍认同的嵌入式系统定义为:
以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。
1.2组成
一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成,
嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成。
执行装置也称为被控对象,它可以接受嵌入式计算机系统发出的控制命令,执行所规定的操作或任务。
执行装置可以很简单,如手机上的一个微小型的电机,当手机处于震动接收状态时打开;也可以很复杂,如SONY智能机器狗,上面集成了多个微小型控制电机和多种传感器,从而可以执行各种复杂的动作和感受各种状态信息。
1.2.1硬件层
硬件层中包含嵌入式微处理器、存储器(SDRAM、ROM、Flash等)、通用设备接口和I/O接口(A/D、D/A、I/O等)。
在一片嵌入式处理器基础上添加电源电路、时钟电路和存储器电路,就构成了一个嵌入式核心控制模块。
其中操作系统和应用程序都可以固化在ROM中。
1.嵌入式微处理器
嵌入式系统硬件层的核心是嵌入式微处理器,嵌入式微处理器与通用CPU最大的不同在于嵌入式微处理器大多工作在为特定用户群所专用设计的系统中,它将通用CPU许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统在设计时趋于小型化,同时还具有很高的效率和可靠性。
2.存储器
嵌入式系统需要存储器来存放和执行代码。
嵌入式系统的存储器包含Cache、主存和辅助存储器。
(1)Cache
Cache是一种容量小、速度快的存储器阵列它位于主存和嵌入式微处理器内核之间,存放的是最近一段时间微处理器使用最多的程序代码和数据。
Cache的主要目标就是:
减小存储器(如主存和辅助存储器)给微处理器内核造成的存储器访问瓶颈,使处理速度更快,实时性更强。
(2)主存
主存是嵌入式微处理器能直接访问的寄存器,用来存放系统和用户的程序及数据。
(3)辅助存储器
辅助存储器用来存放大数据量的程序代码或信息,它的容量大、但读取速度与主存相比就慢的很多,用来长期保存用户的信息。
3.通用设备接口和I/O接口
嵌入式系统和外界交互需要一定形式的通用设备接口,如A/D、D/A、I/O等,外设通过和片外其他设备的或传感器的连接来实现微处理器的输入/输出功能。
每个外设通常都只有单一的功能,它可以在芯片外也可以内置芯片中。
外设的种类很多,可从一个简单的串行通信设备到非常复杂的802.11无线设备。
目前嵌入式系统中常用的通用设备接口有A/D(模/数转换接口)、D/A(数/模转换接口),I/O接口有RS-232接口(串行通信接口)、Ethernet(以太网接口)、USB(通用串行总线接口)、音频接口、VGA视频输出接口、I2C(现场总线)、SPI(串行外围设备接口)和IrDA(红外线接口)等。
1.2.2中间层
硬件层与软件层之间为中间层,也称为硬件抽象层(HardwareAbstractLayer,HAL)或板级支持包(BoardSupportPackage,BSP),它将系统上层软件与底层硬件分离开来,使系统的底层驱动程序与硬件无关,上层软件开发人员无需关心底层硬件的具体情况,根据BSP层提供的接口即可进行开发。
该层一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置功能。
BSP具有以下两个特点。
硬件相关性:
因为嵌入式实时系统的硬件环境具有应用相关性,而作为上层软件与硬件平台之间的接口,BSP需要为操作系统提供操作和控制具体硬件的方法。
操作系统相关性:
不同的操作系统具有各自的软件层次结构,因此,不同的操作系统具有特定的硬件接口形式。
实际上,BSP是一个介于操作系统和底层硬件之间的软件层次,包括了系统中大部分与硬件联系紧密的软件模块。
设计一个完整的BSP需要完成两部分工作:
嵌入式系统的硬件初始化以及BSP功能,设计硬件相关的设备驱动。
1.3特点
1.3.1可裁剪性
支持开放性和可伸缩性的体系结构。
1.3.2强实时性
EOS实时性一般较强,可用于各种设备控制中。
1.3.3统一的接口
提供设备统一的驱动接口。
1.3.4方便
操作方便、简单、提供友好的图形GUI和图形界面,追求易学易用。
提供强大的网络功能,支持TCP/IP协议及其他协议,提供TCP/UDP/IP/PPP协议支持及统一的MAC访问层接口,为各种移动计算设备预留接口。
1.3.5强稳定性,弱交互性
嵌入式系统一旦开始运行就不需要用户过多的干预、这就要负责系统管理的EOS具有较强的稳定性。
嵌入式操作系统的用户接口一般不提供操作命令,它通过系统的调用命令向用户程序提供服务。
1.3.6固化代码
在嵌入式系统中,嵌入式操作系统和应用软件被固化在嵌入式系统计算机的ROM中。
1.3.7适应性
更好的硬件适应性,也就是良好的移植性。
2开发环境及关键技术
2.1Qt
Qt是诺基亚开发的一个跨平台的C++图形用户界面应用程序框架。
它既可以开发GUI程式,也可用于开发非GUI程式,比如控制台工具和服务器。
它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。
Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程。
它具有:
(1)优良的跨平台特性
(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 qt 贪吃 游戏 设计 实现 学士学位 论文