基于C-+-+-的游戏设计【实用文档】doc.doc

上传人:教**** 文档编号:91777204 上传时间:2023-05-27 格式:DOC 页数:14 大小:906.04KB
返回 下载 相关 举报
基于C-+-+-的游戏设计【实用文档】doc.doc_第1页
第1页 / 共14页
基于C-+-+-的游戏设计【实用文档】doc.doc_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《基于C-+-+-的游戏设计【实用文档】doc.doc》由会员分享,可在线阅读,更多相关《基于C-+-+-的游戏设计【实用文档】doc.doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、基于C + + 的游戏设计【实用文档】doc文档可直接使用可编辑,欢迎下载学号: 实习论文(本科)学 院数学与统计学院专 业统计学 年 级 201级姓 名论文题目基于C 的24游戏设计 指导教师 职称讲师 成 绩2016年0月6日目录摘要1关键词1bsratKey wr1前言11 实习前的准备12 实习目的2 实习任务24 实习内容2.1 2游戏简介24. 2048模块需求分析34 UI界面的规划设计344 头文件的需求分析4.5 随机数的生成46 图片资源的导入和加载4.主体算法的分析和实现6。8游戏结束的判断49 游戏最终运行成果9 个人总结10参考文献10基于C + 的20游戏设计学生姓

2、名: 学号:学 院:数学与统计学院 专业:统计学指导教师: 职称:讲师摘 要:专业实习,是教学计划中的一门重要的必修课和综合实践课程,是培养学生的专业素质和实际能力的重要实践环节.通过此次的+实习,掌握了程序设计的基本理论与方法,能够运用基本代码进行简单的程序设计,运行基本的游戏程序.关键词:C + ;设计;程序TheGmeDign f 24 Based n C+Abstrt: imrtant reque coursinthe teacng plan and comprehensve raice urclum,profesinal tersps,is to culivate tudetspro

3、fesio uality nd prctcalailio the important ln of ratice。 hgh te+ practe, wegrsp th basic heoryand method o pogrm sgn,e able tue basicode o buildsimpl program ad rn Ke ords:C + +;Design;ogram前言这次实习是我们毕业前的一次实践性实习。为了拓展我们的知识面,增强我们对所学知识的应用能力,增加我们在社会竞争中的经验,锻炼和提高我们的综合素质,以便在以后毕业后能真正走入社会,并且能够在生活和工作中很好地处理各方面的

4、问题,学校特地从北京达内科技集团聘请了专业的 + +工程师讲师来对我们进行专业实训,进一步运用所学知识分析和解决实际专业问题,从而为就业打下良好的基础。 1实习前的准备学校对我们的实习非常重视,本着通过实习来检验本专业教学中存在的问题,改进教学工作的目的,提前就为我们联系好了与专业相关的单位来做实习培训.在正式进入机房实训前,讲师还专门做了一场关于实习内容的分享会,介绍了实习的基本情况、基本要求、实习项目的基本情况,学习和了解实习项目的相关文件和资料,帮助我们更系统地了解和熟悉接下来的实习课程内容。2实习目的1。培养理论联系实际的思想作风和工作作风;2培养作为计算机类工作人员的专业素质;3。培

5、养独立或与团队一起开展信息处理工作的基本业务能力。3实习任务1。通过实际操作,了解并逐步熟悉掌握 + ;。掌握常用软件的熟练操作,为今后所期望的专业方向做准备;3在教师指导下,利用C+编程,完成独立的游戏编程任务;。最后在实习指导老师的指导下,参与信息处理与计算工作,完成一篇相关的实习论文(或实习记录)。 实习内容4。1204游戏简介04游戏是一款简单而流行的数字游戏,属于益智游戏。操作界面上有16个格子,初始时会有两个格子上安放了两个数字2,每次可以选择上下左右其中一个方向去滑动.每滑动一次,所有的数字方块都会往滑动的方向靠拢。两个相同数字方块撞在一起之后合并成为他们的和。每次操作之后会在空

6、白的方格处随机生成一个2或者4(其他模式会有所改变),最终得到一个“048”的方块就是胜利了。由于规则简单,各种版本和平台上均有该款游戏.相信有不少人都玩过它,但是操作界面只有半个巴掌大的一个游戏,背后却要用到类似随机数的产生、大批量数据的处理、UI设计等任务,真的不算是一个很简单的工作。本次的游戏程序设计任务将运用C+ 来实现。. 28模块需求分析首先分析了这款游戏的功能需求。208游戏一般由以下几个模块来构成:1。矩阵方块;。控制模块;3.计算模块;4.输出模块.每个模块来实现28 游戏的各项功能:方向移动、方块合并、记录当前数据和输出计分结果、游戏胜利或失败后执行结束游戏操作等。4。3

7、I界面的规划设计首先进行UI界面的规划设计。创建一个060的背景模块,在模块左侧这里我们需要16个方块,按照44的规格排列整齐。模块右侧的空白区域需要添加功能键:上、下、左、右、重置、关闭.另外我们还需要再添加一个计分标签,用来计算并输出游戏得分。最后按照模块功能与人的操作习惯,将标签分别排列在合适的位置。最终的UI界面如图1所示:图1界面(矩阵方块)设计完成以后,接着来开始程序代码的编写。4。 头文件的需求分析首先分析需要用到的头文件。第一步需要生成随机数,第二步要为个矩形模块填充随机数所对应的图片,第三步为操作界面添加背景,第四步在游戏成功或失败时即时输出信息。分析完成以后将所有需要用到的

8、头文件都写入show。cp文件里:#ilude ow.h”#inlude”i_show#includcimeinudeincludeQPixmapncudetupUi(this); srand(tme(NULL); for(t i=0;4;i+) for(int j=0;jetixmp(QPimap:omIage(mg); ig.load(”:ime/Strg::number(map01)+png);ushow_2setPixa(Qxmap::froImage(i); imgload(:/imge/+QSting::nmer(map2)+.png); uisow_-ePixmp(QPxp::r

9、omImage(img); igload(:/mag/+Str:ue(map03)+png”); ui-showPixap(QPim:fm(img); im。load(:/image/”QSrng:ner(ma0)pg); uishow_-ePixmap(QPxmap::om(g); im.load(:/mge/”+Qtring:numbe(map11)+png); isow_setixma(QPixap:frmImae(img); mg.load(:/iage/+Qtring::umber(ma12)+pn”); ushow_-Pia(Qixma:romIage(img); img.oa(:

10、image/+QSin::umber(map13)+。ng”); uisw8setPxmap(Qxmap:fromIma(img)); mg.ad(:imge”QSrig::numb(ap)。png); ihw9sePixmap(Pixa::roImag(i)); img。load(:/image/”QString::numr(mp21)n”); -sho_10-tPixmap(QPxap::romIage(im)); ig。load(”:/m/+Sting::number(map2)+pg); u-show_11setixmap(Pixap:frmae(mg); img.lod(:/iagQ

11、String::nue(map23)。png”); ui-sho_2stPixmap(QPxmap::frommae(img)); imoad(:/image/+QStrin:number(map30)+”。png); ishw_3-setPixm(Qima:foage(img)); mlad(:/imae+QSrng:ber(ma31)+。png); uisho1-setix(QPixmap:froImae(ig)); m。loa(:iage/+Str::nuber(map32)+。png); uihow15-setPix(Qixap::frommag(mg); img。lad(”:/ig/

12、+QStig::uer(map3)+”.g”); uishw_16etPixma(QPxmp:romIme(g)); ui-fen-stText(QStrig::numer(fen);7 主体算法的分析和实现接下来进入主要的算法设计步骤.在此根据2048游戏算法的功能需求和功能模块,对主要算法进行分析并实现。对于控制模块,一共有上、下、左、右、重置、关闭六个控制功能键。对于左移功能键的算法,每点击一次,所有的数字方块都会往滑动的方向靠拢。两个相同数字方块撞在一起之后合并成为他们的和。每次操作之后会在空白的方格处随机生成一个2或者4.此时分数也在累计增加。这一部分中重置和关闭这两个功能键相对与其

13、他功能键独立,而上、下、左、右四个功能键的算法有一定的相似之处,所以以下仅详细展示左移功能键的代码。现在开始对这六个功能键进行代码编写:void Show::on_pushButton_licke() /et r(int i=0;i;+) for(ij=;jloe();vidhow::o_pshuton_2cickd() /up o(int k=0;;k+) r(it i=1;4;i+) for(int j;j;j+) if(mpij=0) mapij=mpj; ma=; lse if(mapij=map1) mapi1jma-1+mij; ap=0; fen=mapi1j; if(go()=

14、) sui();/产生随机数 udat();/更新界面Sw:ow() deee u;void Show:n_uhBt_clicked()/rghtvoidShow::o_shBun5_liked() /onvod Shw::on_pushutt_4_licked() /left。8 游戏结束的判断最后一个需解决的问题就是对于游戏是否结束的判断,其主要体现在控制和计算模块.如果游戏未能达成任务而失败,输出“失败和“游戏结束”的信息,同时只有关闭和重置功能键可以被操作:intShow::go() for(it =0;i;i+) fr(int j;4;j+) f(pij=0) etun 1; rrn

15、 1;d Show:pa() it ar42-1,0,,1,0; fr(t =0;i4;i+) or(int=0;4;j+) f(maij=0) eun; le fr(intloop=;loop4;lo+) in x=irloop0; it =j+rroop1; if(xcloe(); 以上我们对08这个游戏的程序设计部分的工作已经完全结束,接下来构建程序,检查并修改错误,就可以打开并运行这个游戏了。 游戏最终运行成果最终的游戏界面如图2所示:图2点击右侧功能键,即可开始游戏. 个人总结通过这次实习我很好地掌握了如何将C + +实际运用到游戏开发中去,检验了自己学习的成效、检测了自己的所缺。这

16、就形成了从实践中学习,从学习中实践的良性循环。这是一个很好的锻炼机会,能将所学的理论知识联系于实际,我感觉学习与实践是密不可分的。当今中国经济飞速发展,国内外经济不断变化,在机会越来越多的同时,也出现了更多的题目,有了更多更艰巨的挑战,这也就对人才的要求越来越高。我们不仅要学好课本里的知识,还要主动走进社会,积极在实践中学习其他的东西,不断增加自己的经验,全方面武装自己,才能在这个社会有立足之地甚至拥有不败之地.参考文献1谭浩强.程序设计教程M。清华大学出版社,2007。2荣钦科技VilC+游戏编程基础M。电子工业出版社,205。3王浩.VisualC+游戏开发经典案例详解M。清华出版社,2014 刘明军.C语言程序设计M。电子工业出版社,207.5 凌云。C语言程序设计与实践M。机械工业出版社,20106Snley。Lipmn C+pirM。人民邮电出版社,20.7 Stve Mauie。编程精粹M。人民邮电出版社,00。8Adew Koeg陷阱与缺陷。人民邮电出版社,2。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁