软件综合项目工程实习报告文档格式.docx
- 文档编号:13530186
- 上传时间:2022-10-11
- 格式:DOCX
- 页数:9
- 大小:209.04KB
软件综合项目工程实习报告文档格式.docx
《软件综合项目工程实习报告文档格式.docx》由会员分享,可在线阅读,更多相关《软件综合项目工程实习报告文档格式.docx(9页珍藏版)》请在冰豆网上搜索。
一、题目简介
(涉及:
题目背景简介、系统达到目的等)
《2048》是一款比较流行数字游戏,最早于3月20日发行。
原版2048一方面在GitHub上发布,原作者是GabrieleCirulli,后被移植到各个平台。
这款游戏是基于《1024》和《小3传奇》玩法开发而成新型数字游戏。
GabrieleCirulli运用周末时间写2048这个游戏程序,仅仅只是好玩而已。
她想用一种不同视觉呈现效果和更迅速动画来创造属于我自己游戏版本
AsherVollmer和GregWohlwend作为Threes开发者,她们在开发这款游戏时候投入了大量时间和精力。
在制作2048过程中,她决定把项目托管到Github上去,并且通过Github完毕项目。
完毕了这个游戏之后,通过GithubPages发布,并刊登在DesignerNews上。
由于本人十分喜欢《2048》这款手游,在理解了本次课程设计是设计一种QT平台下软件之后,就选定了《2048》作为本次课程论文课题。
在本次课程开题报告制作过程中,咱们研究小组将运用学习到知识以及c++编程知识通过网上既有资料尝试完毕本次课程开发。
本次,本研究小组决定在《2048》原有基本上进行界面等设计修改,但愿给人焕然一新感觉,可以给人新有感觉,在功能上进行设计,使其具备独特功能。
二、重要内容
(详细简介系统总体功能、模块划分,以及每个模块详细实现)
系统化详细功能:
有16个格子,初始时会有两个格子上安放了两个数字2,每次可以选取上下左右其中一种方向去滑动,每滑动一次,所有数字方块都会往滑动方向靠拢外,系统也会在空白地方随后浮现一种数字方块,相似数字
方块在靠拢、相撞时会相加。
不断叠加最后拼凑出2048这个数字就算成功。
《2048》中每个格子数据和颜色都在不断地刷新,在每一次移动之后,几乎
在这4*4每一种方格上数据都会变化,因而在每一次移动之后,每一种方格上数据都要刷新一次。
相对,每一种数背景颜色是不同,也就是说,在每一次数据刷新时候,每一种方格上颜色也要同样刷新一次。
当屏幕上没有无写有数据方格并且屏幕上数据没有哪两个相邻数据是同样两个数,那么就鉴定为游戏结束。
游戏所产生分数将被记录下来,如果此分数超过此前最高分数,此分数会将其取代,成为最高分“Highscore”。
模块划分:
1)主界面设计。
提供顾客更多选取,游戏分为鼠标板和键盘版两种,顾客可随意自由选取自己喜欢玩法。
2)分数计算。
在移动方向将相邻2个数相加;
。
3)移动控制。
控制分为两种方式,一种为鼠标控制,一种为键盘控制,顾客可依照自己喜好,自由选取自己喜欢玩法。
鼠标板:
顾客可在4X4界面按住鼠标左键进行上下左右移动控制。
键盘版:
分为上下左右四种移动方式,通过键盘上W、A、S、D或者↑↓←→控制。
4)移动先后数组数值变化。
通过重新创立数组,将移动后数值填入、并用0将数组补成4X4数组,来实现移动先后数值变化。
游戏结束后,一旦本次分数超过之前最高分数,此分数将会取代其成为最高分。
始终到下一种最高分将其取代为止。
5)运用概率随机数来实现2和4生成。
6)成功与失败判断等。
7)当游戏结束时,可以询问顾客与否重新开始。
游戏技巧:
1)最大数尽量放在角落。
2)数字按顺序紧邻排列。
3)一方面满足最大数和次大数在那一列/行是满。
4)时刻注意活动较大数(32以上)旁边要有相近数。
5)以大数所在一行为重要移动方向
6)不要急于“清理桌面”。
三、开发团队
职责
详细任务
界面设计、某些代码研究
富有创意设计程序界面,给人以独特感觉。
同步大某些时间协助贾如举修改代码。
重要代码研究
通过上网查阅资料,学习,研究代码作用,使其应用到程序中,并对代码进行了大量修改。
某些代码探究、实习报告
书写实习报告,通过刘聪与贾如举反馈将其记录于报告中。
同步协助贾如举修改代码。
完毕代码等研究。
游戏测试
测试游戏与否符合预期原则,寻找其中bug
四、技术总结
1.
(1)“我2048”游戏程序流程图
(2)游戏界面整体流程图
2.重要技术:
重要技术涉及界面设计,界面转换,鼠标、键盘控制事件,页面布局,方块大小和颜色设定,游戏组合,信号与槽应用等一系列问题......
3.遇到技术问题及解决办法:
1)代码错误:
网上教程虽然很全,但是按照教程所建立工程,以及添加所需每个类和每个文献,把代码写上之后发现了诸多错误,这些错误有些是能解决,而大多数并不能解决,真令咱们很头疼。
解决方案:
通过成员不懈努力,以及上网查资料、请教同窗和教师,终于逐渐解决了一种个大问题,程序终于可以运营,但是距离成功还是很遥远,由于这只是刚刚构建好,好多功能还没有实现,但咱们基本工作己经做好。
2)界面转换:
咱们之前并不懂得该怎么在点击一种按钮时候关掉当前界面同步启动另一种界面,这也是个很大问题,由于界面不转换,咱们所有功能将无法实现。
负责界面设计刘聪同窗运营了几种其她程序,从其她程序中研究代码,寻找转化界面办法,并请教了本班同窗麻宝鑫,终于不负众望,解决了这个重大问题,使程序可以运营下去。
此问题解决刘聪同窗功不可没,同步感谢麻宝鑫同窗鼎力相助。
3)颜色设定:
为了让游戏界面看起来不是那么单调,于是咱们想让方块再浮现不同数字时显示不同数字。
这个功能对于程序影响不大,只但是是令游戏更美观而已。
但要想实现这个功能,难度还是很大对于小构成员来说,由于咱们自大一开始学习c语言以及c++都没有学到关于颜色设定,组内成员一度想放弃这个功能,但是负责代码编写贾如举并没有放弃。
通过大量程序研究,再加上从论坛、贴吧、qq群查询到资料,终于找到了是添加颜色方案,以及方块数字变化时颜色变化,然而这距离预期成果尚有很大差距。
咱们在始终改进..........
4)程序整合,咱们“2048”分为键盘版和鼠标版两种,看似一种游戏,其实是两个不同游戏整合到一起,但大某些功能实现还是同样,只有键盘控制和鼠标控制这某些设计是不同。
想要一同实现这两个功能,需要把两个工程整合到一起。
刚开始咱们以为本来很容易就能整合到一起,但事实并非如此。
整合到一起后来,代码浮现大量错误。
通过对错误代码研究,发现错误因素是诸多变量定义重复,因而通过修改,将重复代码改正。
解决了大量问题后来,程序终于可以运营。
(附游戏界面图片一张)
4.核心代码:
1)鼠标控制游戏所需代码:
voidGameWidget:
:
mouseReleaseEvent(QMouseEvent*e)
{
//如果在播放动画效果则直接退出防止重复产生手势事件
if(isAnimating)
return;
//依照终点坐标和起点坐标计算XY坐标增量
floatdX=(float)(e->
pos().x()-startPos.x());
floatdY=(float)(e->
pos().y()-startPos.y());
//拟定手势方向
if(abs(dX)>
abs(dY))
{
if(dX<
0)
emitGestureMove(LEFT);
else
emitGestureMove(RIGHT);
}
if(dY<
emitGestureMove(UP);
emitGestureMove(DOWN);
}
2)判断游戏与否胜利:
boolGameWidget:
checkWin()
//循环检测与否某个方格数字为2048
for(inti=0;
i<
4;
i++)
for(intj=0;
j<
j++)
if(board[i][j]==2048)
returntrue;
returnfalse;
3)存贮每个数字相应颜色:
//颜色数组存储每个数字相应背景色
QColordigitBkg[11]={QColor:
fromRgb(0xFF,0xFF,0xCC),QColor:
fromRgb(0xFF,0xFF,0x99),
QColor:
fromRgb(0xFF,0xCC,0xCC),QColor:
fromRgb(0xFF,0xCC,0x99),
fromRgb(0xFF,0x99,0x99),QColor:
fromRgb(0xFF,0x99,0x66),
fromRgb(0xFF,0x66,0x66),QColor:
fromRgb(0xCC,0x99,0x66),
fromRgb(0xCC,0x33,0x33),QColor:
fromRgb(0xCC,0x00,0x33),
fromRgb(0xFF,0x00,0x00)};
五、心得体会
转眼间几天实习已通过去,虽然倍感折磨,但是收获却是很大。
“纸上得来终觉浅,绝知此事要躬行!
”通过实训,咱们均有这样一种感觉,所学理论知识与现实差距太大,深深体会到了自己在编程方面欠缺和局限性,也意识到了咱们作为一名软件工程专业学生,要想在后来职业中崭露头角,除了要有过硬理论知识,健康体魄之外,还必要具备良好心理素质,是自己在后来途中无论经历什么样困难,都立于不败之地。
通过实训教师课堂解说与公司文化原则培训,使咱们加深了对自己专业结识。
这次实习让咱们深深体会到一种团队中各个成员合伙重要性,要善于团队合伙,善于运用别人智慧,这才是大智慧。
靠单一力量是很难完毕一种大项目,在进行团队合伙时候,还要耐心听取每一种成员意见,积极参加到团队合伙中去,这样会故意想不到惊喜。
这次实习让咱们学到诸多东西,不但在理论上让咱们对编程有了全新结识,让我明白工作中需要能力,素质,知识之外,更重要是学会了如何去完毕一种任务,懂得了享有工作。
在实践能力上也得到了很大提高,真正做到了学以致用,对咱们来说受益匪浅。
更让咱们真切体会到作为一名将来程序员到所需要素质:
耐心,勤思好问,享有团队不断努力乐趣,学以致用。
当遇到问题,冷静,想办法一点一点排除障碍,到最后获取成功,一种自信心就由然而生,这应当就是工作乐趣。
有时候不懂就需要问别人了,虚心请教,从别人身上真能学到自己没有东西,每一次挫折都会使我更接近成功。
尚有学会了在工作中与人合伙与交流,同乐同累,合伙互助,这是团队精神,也是必要学习东西。
咱们深刻结识到要成为一名先进软件开发人员不是一件容易事情。
要想成为一种合格程序员就有具备一种自学能力,在工作中会遇到诸多从未接触过问题,当有了问题时要去解决,在你不断努力,寻找答案过程中,自己能力也在潜移默化提高。
有时遇到问题时也许有诸多想法但却不懂得那个对的,这就需要咱们不断地去摸索,不断地尝试。
除此之外,从一起做项目同窗身上我看到了谦虚谨慎、细心努力态度,从她们身上找寻我所缺少品质,不断学习。
从教师那里我看到了公司人生活面貌,没有事情可以不劳而获,今天教师们可以领导咱们是她们之前努力成果,虽然教师没有和咱们讲诸多公司里事情,可是她们言行中所体现出来都是比咱们要严谨多对工作态度。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 综合 项目 工程 实习 报告