软件工程实习报告

软件工程实习报告
软件工程实习报告

中国石油大学(华东)计通学院

《软件编程实践》实习报告题目我的“ 2048”

2015年7月

一、题目介绍

(包括:题目背景简介、系统达到目标等)

《2048》是一款比较流行的数字游戏,最早于 2014年3月20日发行。原版 2048首先在GitHub上发布,原作者是Gabriele Cirulli ,后被移植到各个平台。这款游戏是基于《1024》和《小3传奇》的玩法开发而成的新型数字游戏。

2014年Gabriele Cirulli 利用周末的时间写2048这个游戏的程序,仅仅

只是好玩而已。他想用一种不同的视觉展现效果和更快速的动画来创造属于我自己的游戏版本AsherVollmer和GregWohlwend乍为Threes的开发者,他们在开发这款游戏的时候投入了大量的时间和精力。在制作2048的过程中,他决定把项目托管到

Github上去,并且通过Github完成项目。完成了这个游戏之后,通过GithubPages 发布,并发表在DesignerNews上。由于本人十分喜欢《2048?这款手游,在了解了本次课程设计是设计一个QT平台下的软件之后,就选定了《2048?作为本次课程论文的课题。在此次课程开题报告的制作过程中,我们研究小组将运用学习到的知识以及C++编程知识通过网上现有的资料尝试完成此次课程的开发。

此次,本研究小组决定在《2048?原有的基础上进行界面等设计修改,希望给人焕然一新的感觉,能够给人新有的感觉,在功能上进行设计,使其具有独特的功能。

二、主要内容

(详细介绍系统总体功能、模块划分,以及每个模块的具体实现)

系统化具体功能:有16个格子,初始时会有两个格子上安放了两个数字 2, 每次可以选择上下左右其中一个方向去滑动,每滑动一次,所有的数字方块都会往滑动的方向靠拢外,系统也会在空白的地方随即出现一个数字方块,相同数字的方块在靠拢、相撞时会相加。不断的叠加最终拼凑出2048这个数字就算成功。

《2048?中每个格子的数据和颜色的都在不断地刷新,在每一次移动之后,几乎

在这 4*4 的每一个方格上的数据都会变化,因此在每一次移动之后,每一个方格上的数据都要刷新一次。相对的,每一个数的背景颜色是不同的,也就是说,在每一次数据刷新的时候,每一个方格上的颜色也要同样的刷新一次。当屏幕上没有没有写有数据的方格并且屏幕上的数据没有哪两个相邻的数据是一样的两个数,那么就判定为游戏结束。游戏所产生的分数将被记

录下来,如果此分数超过以前的最高分数,此分数会将其取代,成为最高分“ High

score ”。

模块划分:

1)主界面的设计。提供用户更多的选择,游戏分为鼠标板和键盘版两种,用户可随意自由选择自己喜欢的玩法。

2)分数计算。在移动方向将相邻的 2 个数相加;。

3)移动控制。控制分为两种方式,一种为鼠标控制,一种为键盘控制,用户可根据自己喜好,自由选择自己喜欢的玩法。鼠标板:用户可在 4X4 界面按住鼠标左键进行上下左右移动控制。键盘版:分为上下左右四种移动方式,通过键盘上的 W A、S、D或者TJ --控制。

4)移动前后数组数值的改变。通过重新创建数组,将移动后的数值填入、并用0将数组补成4X4的数组,来实现移动前后数值的改变。游戏结束后,一旦此次分数超过之前的最高分数,此分数将会取代其成为最高分。一直到下一个最高分将其取代为止。

5)利用概率随机数来实现 2和 4的生成。

6)成功与失败的判断等。

7 ) 当游戏结束时,能够询问用户是否重新开始。

游戏技巧:

1) 最大数尽可能放在角落。

2) 数字按顺序紧邻排列。

3) 首先满足最大数和次大数在的那一列 /行是满的。

4) 时刻注意活动较大数( 32 以上)旁边要有相近的数。

5) 以大数所在的一行为主要移动方向

6 )不要急于“清理桌面”

三、开发团队

四、技术总结

1. (1) “我的2048”游戏程序流程图

(2)游戏界面整体流程图

相关主题
相关文档
最新文档