ImageVerifierCode 换一换
格式:DOCX , 页数:48 ,大小:1.31MB ,
资源ID:6034973      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6034973.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(嵌入式拼图游戏的设计与实现学位论文.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

嵌入式拼图游戏的设计与实现学位论文.docx

1、嵌入式拼图游戏的设计与实现学位论文嵌入式拼图游戏摘要拼图游戏是一种可变性很高且耐玩的游戏,在平时空闲的时候可以自己制定图片然后享受智力拼图,空闲之余不妨放松一下。拼图是一种大人与小孩都能玩的游戏,它可以开发智力且帮助大家提高动脑解决问题的能力。玩拼图还有助于手眼协调,玩家能训练和了解“部分”与“全部”的关系,可以知道许多的“部分”能拼凑出一个“全部”,以及一个“全部”是由许多“部分”所组成的。本课题主要是在Linux环境下用嵌入式C语言及QT对一小型游戏进行开发。选择一个游戏的拼图图片,单击方框可使图片移动,从而能够拼出一幅完整的图片,这类游戏主要考察玩家的反应能力,在游戏之余提高观察和应变能

2、力。本游戏中通过分析C游戏的开发流程,对功能进行设计。该游戏主要实现了开始游戏,更改图片,游戏难度选择(9宫初级,16宫中级和25宫高级),战况成绩统计,成绩排名,背景音乐等功能。游戏界面美观,操作简单,功能齐全,是广大游戏爱好者都喜欢的一款游戏,具有一定的复杂性和可玩性。关键词:拼图游戏;嵌入式;Linux;QTEmbedded puzzle gameAbstractPuzzle game is a kind of high variability and playable game, in the usual idle time can develop their own pictures

3、 and enjoy intellectual puzzles, more than the idle wish to relax. Jigsaw is an adults and children can play the game, it can develop intelligence and ability to help people improve their brains to solve problems. Puzzles also help hand-eye coordination, players can train and learn some relationship

4、 with the All, you can know that many parts can piece together an All, as well as an All is composed of many partial composed. The main subject is embedded in the Linux environment using C language and QT for a small game development. Select a picture puzzle game, click the box to make the picture m

5、ove, which can spell a complete picture, mainly on the type of game the players ability to respond to observe and improve the resilience of the remaining games.By analyzing this game C game development process, functional design. The main achievement of the game to start the game, change the image,

6、select game difficulty (9 Palace beginner, 16 intermediate and 25 Palace Palace senior), fighting performance statistics, standings, background music and other functions. Game beautiful interface, easy operation, complete functions, is the majority of gamers like a game, with a certain complexity an

7、d playability.Key words: puzzle game;Embedded ; Linux;QT目录1 前言1.1项目的目的与意义 现代科学技术的发展,改变了人类的生活,作为新世纪的大学生,应该站在时代发展的前沿,掌握最先进的现代科学技术知识,以适应社会的发展,应能够独立地完成各种应要面临的任务,成为一名有创新意识的新型人才。 目前,很多技术领域依旧都涉及到了C语言。C语言是面向过程编程,并涉及到网络、多线程等重要的基础知识。该课题的主要目的是使C游戏开发者深入理解所学的C语言,并实践于该游戏设计中,深刻体会以前所学的有关C程序设计方面的语言基础、事件处理、应用程序以及图形用户

8、界面设计等方面的知识,加深对结构化设计思想的理解,能对系统功能进行分析,并设计合理的结构等。学会使用C系统,其中包括对程序的调试、运行、保存等知识的运用,还包括提高程序开发功能,能运用合理的方法简化C程序的操作,开发过程中应培养分析问题、解决问题的能力。 基于QT组件技术的拼图游戏软件是一款具有娱乐性、益智性、便捷性的游戏软件。此软件可以使用户放松心情,享受于拼图游戏的乐趣之中。该游戏软件可以让用户选择适合自己的主题与难度,根据用户的不同水平,锻炼其图片记忆能力以及拼凑还原能力。游戏结束后亦可让用户清晰了解到自己的游戏状态水平,便于调整自己对这款游戏的新的难度要求。另外要求软件设计精致,画面亲

9、和,人机交互高效快捷,能够给用户带来人性化的服务。软件面向的主流群体集中在儿童,但也适宜青年人或者老人使用,提供了适宜各类用户群体的图片风格与难度设置。不论是旨在轻松娱乐,还是益智教育的目的,该软件都是一款家庭生活中以及学习生活的必备软件。 设计并实现基于QT组件技术的拼图游戏软件作为自己的毕业课题设计是对学校基础课程、专业课程以及实践课程的一次综合性考查,旨在通过此次实践环节的训练,使我们能够更加全面地掌握 游戏设计的整体策划以及系统地掌握游戏设计的体系结构。通过 对我们所做游戏进行的类型确定、前期分析、整体策划以及设计 制作过程中所涉及的相关技术的学习和掌握,提高了我们的实践能力,为我们在

10、计算机技术的应用上拓宽了道 路,对进入游戏设计这一领域的深入研究做了准备。此外,QT组件在界面开发上的应用一直处于热门,这次的系统全面的实践可以说是一次很好的锻炼,会对以后工作生活带来积极的影响。1.2系统开发方法介绍目前比较成熟的系统开发方法有:生命周期法、原型法、面向对象法等。生命周期法:把一个信息系统从其提出、分析、设计和使用,直到停止使用的整个生存期视为一个生命周期。整个生命周期划分为五个主要工作阶段:可行性分析阶段、系统分析阶段、系统设计阶段、系统实施阶段和系统运行、维护与评价阶段。通常采用结构化系统分析和系统设计方法,自上而下分析、设计,强调开发过程的整体性和全局性;开发过程在时间

11、上基本按阶段进行,任务明确;结合用户需求进行开发;开发周期长,维护不方便。适用于开发需求较明确固定的信息系统。“结构化分析方法(Structured Method,结构化方法)是面向过程的程序设计的方法,是强调开发方法的结构合理性以及所开发软件的结构合理性的软件开发方法。结构是指系统内各个组成要素之间的相互联系、相互作用的框架。结构化开发方法提出了一组提高软件结构合理性的准则,如分解与抽象、模块独立性、信息隐蔽等。针对软件生存周期各个不同的阶段,它有结构化分析(SA)、结构化设计(SD)和结构化程序设计(SP)等方法。结构化分析方法给出一组帮助系统分析人员产生功能规约的原理与技术。它一般利用图

12、形表达用户需求,使用的手段主要有数据流图、数据字典、结构化语言、判定表以及判定树等。原型法:是系统开发者在初步了解用户需求的基础上,开发出能实现系统最基本功能的一个原型,再根据用户对原型使用与评价的意见,提出修改方案,修改完善原型,如此反复多次,直到得到用户满意的最终系统为止。开发过程以用户为中心,开发周期短。适用于开发需求不够明确或不断变化的软件。 面向对象方法(Object-Oriented Method)是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO (Object-Oriented)方法,是建立在“对象”概念基础上的方法学。对象是由数据和容许的操作组成的封

13、装体,与客观实体有直接对应关系,一个对象类定义了具有相似性质的一组对象。而每继承性是对具有层次关系的类的属性和操作进行共享的一种方式。所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。面向过程方法的开发过程:分析当前的情况,做出反映当前物理模型的DFD; 推导出等价的逻辑模型的DFD; 设计新的逻辑系统,生成数据字典和基元描述; 建立人机接口,提出可供选择的目标系统物理模型的DFD; 确定各种方案的成本和风险等级,据此对各种方案进行分析; 选择一种方案; 建立完整的需求规约。面向对象方法的开发过程:分析确定在问题空间和解空间

14、出现的全部对象及其属性;确定应施加于每个对象的操作,即对象固有的处理能力;分析对象间的联系,确定对象彼此间传递的消息; 设计对象的消息模式,消息模式和处理能力共同构成对象的外部特性;分析各个对象的外部特性,将具有相同外部特性的对象归为一类,从而确定所需要的类;确定类间的继承关系,将各对象的公共性质放在较上层的类中描述,通过继承来共享对公共性质的描述;设计每个类关于对象外部特性的描述;设计每个类的内部实现(数据结构和方法);创建所需的对象(类的实例),实现对象间应有的联系(发消息)。1.3本文结构 本文第一部分主要以前言为主,说明了文章的研究背景、主要工作,概要说明了所做的工作。第二部分主要是C

15、语言以及相应开发工具的相关知识介绍,介绍了C语言,开发环境,QT Creator。第三部分叙述了设计可行性。第四部分为总体设计,包括了功能需求,总体设计方案,系统流程设计,功能模块的设计。第五部分为详细设计,包括设计当中涉及到的相关算法,模块命名,系统快照。第六部分为测试部分,包括了所涉及的测试用例,测试方法。2 项目开发语言及开发环境2.1 C语言C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔实验室的Dennis M. Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程

16、序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件、三维、二维图形和动画,具体应用例如单片机以及嵌入式系统开发。2.1.1设计特性C是一种融合了控制特性的现代语言,而在计算机科学的理论与实践中,控制特性是很重要的。其设计使得用户可以自然地采用自顶而下的规划、结构化的编程,以及模块化的设计。这种做法使得编写出的程序更可靠、更易懂。C语言是种通用的、面向过程的程序语言。它具有高效、灵活、功能丰富、表达力强和较高的移植性等特点,在程序员中备受青睐。下面只介绍了c语言最容易理解的

17、一般特点,由于C语言的这些优点,使c语言应用面很广。2.1.2高效性C是一种高效的语言。在设计上它充分利用了当前计算机在能力上的优点。C程序往往很紧凑且运行速度快。事实上,C可以表现出通常只有汇编语言才具有的精细的控制能力。如果愿意,可以细调程序以获得最大的速度或最大的内存使用率。C语言的数据类型有整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。这些数据类型能用来实现各种复杂的数据结构(如链表、树、栈等)的运算,尤其是指针类型数据,使用起来比趴sc从更为灵活、多样;c语言的运算符包含的范围很广,共有34种运算符。c把括号、赋值、强制类型转换等都作为运算符处理,从而使c的运算类

18、型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其他高级语言中难以实现的运算。C语言的一个语句可完成多项操作,一个表达式也可以完成多项操作。书写简练,源程序短,因而输入程序工作量小。2.1.3可移植性C是一种可移植语言。这意味着,在一个系统上编写的C程序经过很少改动或不经修改就可以在其他系统上运行。如果修改是必须的,则通常只须改变伴随主程序的一个头文件中的几项内容即可。C在可移植性方面处于领先地位。C编译器在大约40中系统上可用,包括从使用8位微处理器的计算机到Cary超级计算机。不过,程序中为访问特定硬件设备或操作系统的特殊功能而专门编写的部分,通常是不能移植的。由于C与UNIX的

19、紧密联系,UNIX系统通常都带有一个C编译器作为程序包的一部分。Linxu中同样也包括一个C编译器。个人计算机,包括运行不同版本的Windows和Macintosh的PC,可使用若干种C编译器。所以不论使用的是家用计算机、专业工作站还是大型机,都很容易得到对您的特定系统的C编译器。2.1.4强大的功能和灵活性C强大而又灵活。例如强大而灵活的UNIX操作系统的大部分便是C编写的。其他语言(如FORTANT、Perl、Python、Pascal、LISP、Logo和BASIC)的许多编译器和解释器也都是C编写的。C程序一般只比汇编程序生成的目标代码的执行效率低10一20却比其他高级语言的执行效率高

20、。c语言的移植性好。主要表现在只要对这种语言稍加修改,使可以适应个向型号的机器或各类操作系统。2.1.5面向编程人员C面向编程人员的需要。它允许您访问硬件,并可以操纵内存中的特定位。它具有丰富的运算符供选择,能够简洁地表达自己的意图。在限制所能做的事情方面,C不如Pascal这样的语言严格。这种灵活性是优点,同时也是一种危险。优点在于:许多任务在C中都简单的多。危险在于:使用C时,可能会犯在使用其他语言时不会犯的错误。C给予更多的自由,但同时也会承担更大的风险。另外,多数C实现都有一个大型的库,其中包含有用的C函数。这些函数能够处理编程人员通常面对的许多需求。2.1.6缺点C也有一些缺点,如C

21、在表达自由方便的自由会增加风险。尤其是C对指针的使用,意味着可能会犯难以追踪的编程错误。C的简洁性与丰富的运算符相结合,使其可能会编写出极难理解的代码。2.2开发环境操作系统:Ubuntu 12.0.1处理器:Pentium(R) Dual-Core CPU E6300 2.8GHz 2.8GH安装内存(RAM): 2.00GB编译器:minGW移植到windows下的gcc编译器调试器:minGW移植到windows下的gdb调试器Make:minGW中的mingw32-makeQt C+ GUI2.3 QT CreatorQt Creator是跨平台的 Qt IDE, Qt Creator

22、 是 Qt 被 Nokia 收购后推出的一款新的轻量级集成开发环境(IDE)。此 IDE 能够跨平台运行,支持的系统包括 Linux(32 位及 64 位)、Mac OS X 以及 Windows。根据官方描述,Qt Creator 的设计目标是使开发人员能够利用 Qt 这个应用程序框架更加快速及轻易的完成开发任务。Qt Creator 包括项目生成向导、高级的 C+ 代码编辑器、浏览文件及类的工具、集成了 Qt Designer、Qt Assistant、Qt Linguist、图形化的 GDB 调试前端,集成 qmake 构建工具等。QtCreator 主要是为了帮助新 Qt 用户更快速入

23、门并运行项目,还可提高有经验的 Qt 开发人员的工作效率。语法标识和代码完成功能输入时进行静态代码检验以及提示样式上下文相关的帮助代码折叠括号匹配和括号选择模式高级编辑功能。集成了领先的版本控制软件,包括 Git、Perforce 和 Subversion开放式文件,无须知晓确切的名称或位置搜索类和文件跨不同位置或文件沿用符号在头文件和源文件,或在声明和定义之间切换集成了特定于 Qt 的功能,如信号与槽 (Signals & Slots)图示调试器, 对 Qt 类结构可一目了然集成了 Qt Designer 可视化布局和格式构建器只需单击一下就可生成和运行 Qt 项目。2.4 嵌入式开发嵌入式

24、系统无疑是当前最热门最有发展前途的IT应用领域之一。嵌入式系统用在一些特定专用设备上,通常这些设备的硬件资源(如处理器、存储器等)非常有限,并且对成本很敏感,有时对实时响应要求很高等。特别是随着消费家电的智能化,嵌入式更显重要。像我们平常见到的手机、PDA、电子字典、可视电话、VCD/DVD/MP3 Player、数字相机(DC)、数字摄像机(DV)、U-Disk、机顶盒(Set Top Box)、高清电视(HDTV)、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等等都是典型的嵌入式系统。嵌入式系统是用来控制或者监视机器、装置、工厂等大规模设

25、备的系统。嵌入式系统以应用为中心、以计算机技术为基础、软硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是由单个程序实现整个控制逻辑。嵌入式开发一般具有以下特点:可裁剪性。支持开放性和可伸缩性的体系结构。强实时性。EOS实时性一般较强,可用于各种设备控制中。统一的接口。提供设备统一的驱动接口。操作方便、简单、提供友好的图形

26、GUI和图形界面,追求易学易用。提供强大的网络功能,支持TCP/IP协议及其他协议,提供TCP/UDP/IP/PPP协议支持及统一的MAC访问层接口,为各种移动计算设备预留接口。强稳定性,弱交互性。嵌入式系统一旦开始运行就不需要用户过多的干预、这就要负责系统管理的EOS具有较强的稳定性。嵌入式操作系统的用户接口一般不提供操作命令,它通过系统的调用命令向用户程序提供服务。固化代码。在嵌入式系统中,嵌入式操作系统和应用软件被固化在嵌入式系统计算机的ROM中。更好的硬件适应性,也就是良好的移植性。嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场

27、,具有较长的生命周期。3 可行性分析3.1可行性分析所采用的方法和步骤可行性分析是通过对项目的主要内容和配套条件,如市场需求、资源供应、建设规模、工艺路线、设备选型、环境影响、资金筹措、盈利能力等,从技术、经济、工程等方面进行调查研究和分析比较,并对项目建成以后可能取得的财务、经济效益及社会环境影响进行预测,从而提出该项目是否值得投资和如何进行建设的咨询意见,为项目决策提供依据的一种综合性的系统分析方法。可行性分析应具有预见性、公正性、可靠性、科学性的特点。我国可行性研究存在的主要问题,一是工程技术方案的研究论证深度不够。按照国外的通常做法,可行性研究阶段的研究深度应能达到定方案的程度,因此要

28、求在工程技术方案论证,应达到Basic Design或Concept Design的程度,基本相当于我国的初步设计应达到的水平,应提出明确的设备清单;二是财务评价就项目论项目,这与国外利用企业理财的理论和方法进行资本预算管理,对投资项目进行投资决策和融资决策的通行做法存在重大差异,并且在经济评价方面不恰当地使用了国民经济评价的概念,由此引起一系列的认识误区;三是在市场分析、组织机构分析等方面与国外差别较大,研究深度严重不足;四是不重视多方案的比选及项目风险分析,或者分析的内容、深度严重不足,缺乏项目周期各阶段风险管理的统一筹划及策略论证。通过研究分析拼图游戏所具备的能力及实现的方法来确定主体结

29、构。利用现阶段我所能达到的能力,以最简洁、最容易的办法,边开发边测试边修改,实现一个初级游戏软件。3.2可行性分析由于本游戏是毕业设计,不过分强调直接的经济效益和其日后的发展方向,只在注重自身水平和能力的提高,同时对自身的经济要求也不高,只要有一台能运行Java软件的电脑便可,所以基本上不用考虑到经济问题。可用与本游戏的编程语言有VB,Java,C等,考虑到用于编写程序的困难度,和对语言的了解程度,选择C作为编程语言。需要对变量定义、变量初始化、界面初始化、游戏初始化、然后进入游戏、处理游戏过程中的各种操作。本游戏的开发作为毕业设计,目的在于巩固先前所学的知识,以个人为单位,仅供个人平常娱乐所

30、用,无须考虑社会影响,不用考虑法律、版权等社会因素,且此软件的开发不触犯法律,所以在这方面是完全可行的。3.3稳定性现在做出来的只是一个拼图游戏的核心部分,这些代码经过许多测试和修改稳定性也比较强了。开始时鼠标单击会选中拼图区之外的图块,经过修改后鼠标不会选中拼图区之外的任何部分,map映射数组和selected结构在使用前都需要经过测试保证其正确,然后才使用的。保证map数组不会出现越界错误,map数组和selected结构不会存入不正确的数据。这些都是经过测试通过了的。鼠标单击图块边缘时选中的图块也是经过精确的计算的到,不会出现单击图块边缘时明明是单击的这个图块,却由于计算偏差选中了另一个

31、图块。这些精确的计算也都是通过了软件的精确性测试通过了的。4 总体设计即对有关系统全局问题的设计,也就是设计系统总的处理方案,又称系统概要设计。它包括:计算机配置设计、系统模块结构设计、数据库和文件设计、代码设计以及系统可靠性与内部控制设计等内容。软件功能分解属于下列软件开发中的总体设计阶段。它包括:计算机配置设计、系统模块结构设计、数据库和文件设计、代码设计以及系统可靠性与内部控制设计等内容。软件功能分解属于下列软件开发中的总体设计阶段。4.1功能需求用户对于该拼图游戏软件的需求主要体现在以下几个功能:1. 实现程序GUI图形界面;2. 实现游戏开始、退出等功能;3. 实现鼠标或键盘事件响应

32、模块的功能;4. 实现可选难度等级功能;5. 实现输赢自动判别功能;6. 实现游戏图片更换功能;7. 实现进行游戏同时可以查看原图功能;8. 实现游戏内图片更换、重玩、返回界面、退出功能;4.2总体设计方案在开始游戏界面后,设计本程序能够载入默认图片(用户也可以选择想要的其它图片),程序默认难度为9宫格(用户也可以选择想要的其他难度),还设计实现背景音乐的播放功能等。在本程序中,对于图片的分割、拼凑、判断图片是否可以移动等都是设计的关键。总体设计方案中主要说明前期工作中对于分割图片以及判断拼图是否成功这两点的设计。对于分割图片是用像素点来实现的,同时对图片进行了自动缩放,这样一来就可以使得图片分割后看起来更连贯。拆分图片后,把分好的图片存储到一个image数组中,对于可移动的块其实是按钮,每个按钮上都有一个icon,通过随机把image数组中的图片通过imageIcon的转化

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1