实习论文(本科)学院数学与统计学院专业统计学年级2013级姓名论文题目基于C++的2048游戏设计指导教师职称讲师成绩2016年10月16日学号:目录摘要..................................................................................................................................................................1关键词..................................................................................................................................................................1Abstract................................................................................................................................................................1Keywords..........................................................................................................................................................1前言........................................................................................................................................................................11实习前的准备.........................................................................................................................................22实习目的.....................................................................................................................................................23实习任务.....................................................................................................................................................24实习内容.....................................................................................................................................................24.12048游戏简介...............................................................................................................................24.22048模块需求分析.....................................................................................................................34.3UI界面的规划设计....................................................................................................34.4头文件的需求分析.....................................................................................................44.5随机数的生成................................................................................................................................44.6图片资源的导入和加载...........................................................................................................54.7主体算法的分析和实现...........................................................................................................64.8游戏结束的判断...........................................................................................................................84.9游戏最终运行成果..................................................................................................................105个人总结..................................................................................................................................................10参考文献........................................................................................................................................................10编辑版word基于C++的2048游戏设计学生姓名:学号:学院:数学与统计学院专业:统计学指导教师:职称:讲师摘要:专业实习,是教学计划中的一门重要的必修课和综合实践课程,是培养学生的专业素质和实际能力的重要实践环节。通过此次的C++实习,掌握了程序设计的基本理论与方法,能够运用基本代码进行简单的程序设计,运行基本的游戏程序。关键词:C++;设计;程序TheGameDesignof2048BasedonC++Abstract:Theimportantrequiredcourseintheteachingplanandcomprehensivepracticecurriculum,professionalinternships,istocultivatethestudents'professionalqualityandpracticalabilityoftheimportantlinkofpractice.ThroughtheC++practice,wegraspthebasictheoryandmethodofprogramdesign,beabletousebasiccodetobuildsimpleprogramandrunit.Keywords:C++;Design;Program前言这次实习是我们毕业前的一次实践性实习。为了拓展我们的知识面,增强我们对所学知识的应用能力,增加我们在社会竞争中的经验,锻炼和提高我们的综合素质,以便在以后毕业后能真正走入社会,并且能够在生活和工作中很好地处理各方面的问题,学校特地从北京达内科技集团聘请了专业的C++工程师讲师来对我们进行专业实训,进一步运用所学知识分析和解决实际专业问题,从而为就业打下良好的基础。编辑版word1实习前的准备学校对我们的实习非常重视,本着通过实习来检验本专业教学中存在的问题,改进教学工作的目的,提前就为我们联系好了与专业相关的单位来做实习培训。在正式进入机房实训前,讲师还专门做了一场关于实习内容的分享会,介绍了实习的基本情况、基本要求、实习项目的基本情况,学习和了解实习项目的相关文件和资料,帮助我们更系统地了解和熟悉接下来的实习课程内容。2实习目的1.培养理论联系实际的思想作风和工作作风;2.培养作为计算机类工作人员的专业素质;3.培养独立或与团队一起开展信息处理工作的基本业务能力。3实习任务1.通过实际操作,了解并逐步熟悉掌握C++;2.掌握常用软件的熟练操作,为今后所期望的专业方向做准备;3.在教师指导下,利用C++编程,完成独立的游戏编程任务;4.最后在实习指导老师的指导下,参与信息处理与计算工作,完成一篇相关的实习论文(或实习记录)。4实习内容4.12048游戏简介2048游戏是一款简单而流行的数字游戏,属于益智游戏。操作界面上有16个格子,初始时会有两个格子上安放了两个数字2,每次可以选择上下左右其中一个方向去滑动。每滑动一次,所有的数字方块都会往滑动的方向靠拢。两个相同数字方块撞在一起之后合并成为他们的和。每次操作之后会在空白的方格处随机生成一个2或者4(其他模式会有所改变),最终得到一个“2048”的方块就是胜利了。由于规则简单,各种版本和平台上均有该款游戏。相信有不少人都玩过它,但是操作界面只有半编辑版word个巴掌大的一个游戏,背后却要用到类似随机数的产生、大批量数据的处理、UI设计等任务,真的不算是一个很简单的工作。本次的游戏程序设计任务将运用C++来实现。4.22048模块需求分析首先分析了这款游戏的功能需求。2048游戏一般由以下几个模块来构成:1.矩阵方块;2.控制模块;3.计算模块;4.输出模块。每个模块来实现2048游戏的各项功能:方向移动、方块合并、记录当前数据和输出计分结果、游戏胜利或失败后执行结束游戏操作等。4.3UI界面的规划设计首先进行UI界面的规划设计。创建一个800×600的背景模块,在模块左侧这里我们需要16个方块,按照4×4的规格排列整齐。模块右侧的空白区域需要添加功能键:上、下、左、右、重置、关闭。另外我们还需要再添加一个计分标签,用来计算并输出游戏得分。最后按照模块功能与人的操作习惯,将标签分别排列在合适的位置。最终的UI界面如图1所示:编辑版word图1UI界面(矩阵方块)设计完成以后,接着来开始程序代码的编写。4.4头文件的需求分析首先分析需要用到的头文件。第一步需要生成随机数,第二步要为16个矩形模块填充随机数所对应的图片,第三步为操作界面添加背景,第四步在游戏成功或失败时即时输出信息。分析完成以后将所有需要用到的头文件都写入show.cpp文件里:#includeshow.h#includeui_show.h#includectime#includecstdlib#includeQPixmap#includeQPalette#includeQM