俄罗斯方块游戏开发实习报告.doc

上传人:jian****018 文档编号:9063647 上传时间:2020-04-02 格式:DOC 页数:6 大小:222KB
返回 下载 相关 举报
俄罗斯方块游戏开发实习报告.doc_第1页
第1页 / 共6页
俄罗斯方块游戏开发实习报告.doc_第2页
第2页 / 共6页
俄罗斯方块游戏开发实习报告.doc_第3页
第3页 / 共6页
点击查看更多>>
资源描述
本科中期实习报告姓 名: 学 号: 专 业: 软件工程 院 系: 指导教师: 完成日期: 2013 年 12月 25 日西安财经学院教务处 制实习报告名称 俄罗斯方块小游戏开发实习报告实习时间2013年11月30日至 2013年12月21日 共 3 周实习地点实验楼 软件实验室指导教师李秀娟职称讲师二级学院、系信息学院软件工程系实习内容(后附实习报告)俄罗斯方块是个老幼皆宜的小游戏,它的实现由四块正方形的色块组成,然后存储在一个数组的元素中,计算机随机产生不同类型的方块,根据计算机时钟控制它以一定的速度下落,用户根据键盘的四个方向键控制翻转、向左、向右和向下操作,当出现满行的情况时将自动消除并计算分数。游戏最后由玩家的得分来评判水平的高低。在实习中我们通过屏幕的绘制、时间的控制、键盘的读取、数据的处理四个方面来实现俄罗斯方块的开发。指导教师评语及成绩 成绩: 签字(盖章): 年 月 日系意见签字(盖章): 年 月 日俄罗斯方块小游戏开发实习报告 俄罗斯方块是个老幼皆宜的小游戏,它的实现由四块正方形的色块组成,然后存储在一个数组的元素中,计算机随机产生不同类型的方块,根据计算机时钟控制它以一定的速度下落,用户根据键盘的四个方向键控制翻转、向左、向右和向下操作,当出现满行的情况时将自动消除并计算分数。游戏最后由玩家的得分来评判水平的高低。 在实习中我们通过屏幕的绘制、时间的控制、键盘的读取、数据的处理和消除主游戏区底部填满的行几个方面来实现俄罗斯方块的开发。一、实习目的中期实习是大学教育一个极为重要的实践性教学环节。我们通过开发一个俄罗斯方块游戏,深入理解、掌握、运用老师所传授知识,进一步深化专业知识,增强感性认识,培养我们综合运用所学的基础理论、基本技能和专业知识;锻炼我们独立分析和解决实际问题的能力。在实习中教会我们把理论和实践结合起来,提高实践动手能力,为我们毕业后走上工作岗位打下一定的基础。通过中期实习,我们可以了解软件行业基本情况,从整体项目设计和建模开始,了解游戏软件的需求、分析游戏软件的功能、进而构建游戏软件的构架;同时可以检验教学效果,为进一步提高教育教学质量,培养合格人才积累经验,并为自己能顺利与社会环境接轨做准备。二、实习内容(一)俄罗斯方块的基本规则1、游戏方块预览功能。在游戏过程中,当在游戏底板中出现一个游戏方块时,必须在游戏方块预览区域中出现下一个游戏方块。由于在此游戏中存在7种不同的游戏方块,所以在游戏方块预览区域中需要显示随机生成的游戏方块。2、游戏方块控制功能。通过各种条件的判断,实现对游戏方块的左移、右移、快速下移、自由下落、旋转功能,以及行满消除行的功能。(二)开发环境 在中期实习中,整个游戏是在linux环境下进行开发的。 嵌入式linux是将日益流行的Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种操作系统。嵌入式linux既继承了Internet上无限的开放源代码资源,又具有嵌入式操作系统的特性。嵌入式Linux的特点是版权费免费;购买费用媒介成本技术支持全世界的自由软件开发者提供支持网络特性免费,而且性能优异,软件移植容易,代码开放,有许多应用软件支持,应用产品开发周期短,新产品上市迅速,因为有许多公开的代码可以参考和移植,实时性能RT_Linux Hardhat Linux 等嵌入式Linux支持,实时性能稳定性好、安全性好。(3) 俄罗斯方块的实现方法 在为期四天的实习中,我们在郭老师的带领下从零开始,运用所学过的知识和新的概念、方法,自己动手设计了俄罗斯方块小游戏,体验了一次小游戏开发的完整过程。游戏的设计分四个模块进行。1、屏幕的绘制 在屏幕的绘制中,首先应该修改屏幕的颜色,我们学习到修改代码为 33nm,其中n 为(30-37)修改的为背景色,n为(40-47)修改的为前景色。其次,要定义一个方块类,将生成的小方块放入其中。还没学习之前,我很疑惑那些小方块是怎样生成的,而郭老师巧妙的将前景色和背景色设置为同一种颜色,这样,一个字符显示在屏幕上就是一个小方块。 2、时间的控制控制方块的下落速度是设计中必须实现的功能,方块的下落速度也就是时间间隔,因此我们只需定义一个时间类,设置好时间间隔即可。其次,我们也需要控制屏幕的刷新速度,而刷新速度必须比方块下落时间间隔快。因此,如何在一个程序中体现两种不同的时间控制是此模块的一个难点。在郭老师的指导下,我们通过一个while语句很好的解决了这个问题。while(1)ftime(&ctm);if(ctm.time * 1000 + ctm.millitm - ptm.time*1000-ptm.millitm 1000)timer();ptm = ctm; 3、键盘的读取 我们需要对键盘中上、下、左、右键的读取实现对方块的变形、下落、右移和右移的功能。在此模块中,我们用到了第三方库中定义的方法。 4、数据的处理 在第四个模块中,我们主要处理三个数据。 (1)方块的下落,相应键盘:需要判断下键是否按下,并加快时钟周期。完成下落后,还原到原来的时钟周期。(2)形状的下落, 实现旋转:不同旋转角度显示不同方向的方块来完成的。所以程序要控制方块的旋转方向,只要控制显示哪副图就可以了。(3)消去主游戏区底部填满的行:查看主游戏区底部的每行是否填满的方式是,遍历主游戏区的二维数组,判断每行的所有方格的flag表示是否都为1,都为1时,表示图形都填满了,这时可以消除填满的行了。 三、实习总结中期实习是培养我们综合运用所学知识、发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对我们实际工作能力的具体训练和考察过程。回顾起中期实习,至今我仍感慨颇多,在这为期四天的日子里,可以说得是苦多于甜,但是我们的收获也是颇丰的。首先,我们不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。俄罗斯方块是经典游戏,也是每一个程序员必须会编写的程序之一,但是编程就像写文章,不同的人有不同的看法,实现的算法也就不尽相同。通过编写这个小游戏,我学会了将实际问题抽象成程序。比如对方快存储结构体的定义,方块编写前后的联系,以及最后极端情况的调试。在这个程序中,有几个函数是我初次使用,以前也不知道那些函数。C提供了丰富的库函数,熟练掌握那些函数,是对一个优秀程序员基本的要求,我们要通过大量的实践来熟悉这些函数。 其次,在整个开发的过程中,我明白学习来不得马虎,一个微小的疏忽可能导致致命的错误,虽然经历了很多次失败的,但在失败中我们成长。通过查阅资料让我知道了许多未探索的知识,团队的合作更让我们理解到人多力量大的道理,而老师的谆谆教导也让我受益匪浅。另外,这次中期实习使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。我们在实习过程中遇到很多问题,可以说得上是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在实习的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。通过中期实习之后,把以前所学过的知识重新温故。 最后,也是最重要的一点,在这次俄罗斯方块小游戏的设计中,我发觉了团队合作的重要性。当你为程序中一个小错误找不出而急的焦头烂额时,也许队友很快就能帮你找出错误;当你思考的问题进入瓶颈难以进展时,可能队友的一个观点就让你豁然开朗。一个人能力与思维方式毕竟是局限的,通过团队合作,我们可以集思广益,共同进步。这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在老师的指导下,终于迎刃而解。在此我表示感谢。今后步入社会的日子里,我会更加努力的学习。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 工作总结


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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