欢迎来到天天文库
浏览记录
ID:8994503
大小:229.16 KB
页数:6页
时间:2018-04-14
《俄罗斯方块游戏开发实习报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、本科中期实习报告姓名:学号:专业:软件工程院系:指导教师:完成日期:2013年12月25日西安财经学院教务处制实习报告名称《俄罗斯方块》小游戏开发实习报告实习时间2013年11月30日至2013年12月21日共3周实习地点实验楼软件实验室指导教师李秀娟职称讲师二级学院、系信息学院软件工程系实习内容(后附实习报告)俄罗斯方块是个老幼皆宜的小游戏,它的实现由四块正方形的色块组成,然后存储在一个数组的元素中,计算机随机产生不同类型的方块,根据计算机时钟控制它以一定的速度下落,用户根据键盘的四个方向键控制翻转、向左、向右和向下操作,当出现满
2、行的情况时将自动消除并计算分数。游戏最后由玩家的得分来评判水平的高低。在实习中我们通过屏幕的绘制、时间的控制、键盘的读取、数据的处理四个方面来实现俄罗斯方块的开发。指导教师评语及成绩成绩:签字(盖章):年月日系意见签字(盖章):年月日《俄罗斯方块》小游戏开发实习报告俄罗斯方块是个老幼皆宜的小游戏,它的实现由四块正方形的色块组成,然后存储在一个数组的元素中,计算机随机产生不同类型的方块,根据计算机时钟控制它以一定的速度下落,用户根据键盘的四个方向键控制翻转、向左、向右和向下操作,当出现满行的情况时将自动消除并计算分数。游戏最后由玩家的
3、得分来评判水平的高低。在实习中我们通过屏幕的绘制、时间的控制、键盘的读取、数据的处理和消除主游戏区底部填满的行几个方面来实现俄罗斯方块的开发。一、实习目的 中期实习是大学教育一个极为重要的实践性教学环节。我们通过开发一个俄罗斯方块游戏,深入理解、掌握、运用老师所传授知识,进一步深化专业知识,增强感性认识,培养我们综合运用所学的基础理论、基本技能和专业知识;锻炼我们独立分析和解决实际问题的能力。在实习中教会我们把理论和实践结合起来,提高实践动手能力,为我们毕业后走上工作岗位打下一定的基础。通过中期实习,我们可以了解软件行业基本情况,
4、从整体项目设计和建模开始,了解游戏软件的需求、分析游戏软件的功能、进而构建游戏软件的构架;同时可以检验教学效果,为进一步提高教育教学质量,培养合格人才积累经验,并为自己能顺利与社会环境接轨做准备。二、实习内容(一)俄罗斯方块的基本规则1、游戏方块预览功能。在游戏过程中,当在游戏底板中出现一个游戏方块时,必须在游戏方块预览区域中出现下一个游戏方块。由于在此游戏中存在7种不同的游戏方块,所以在游戏方块预览区域中需要显示随机生成的游戏方块。 2、游戏方块控制功能。通过各种条件的判断,实现对游戏方块的左移、右移、快速下移、自由下落、旋转功能
5、,以及行满消除行的功能。(二)开发环境在中期实习中,整个游戏是在linux环境下进行开发的。嵌入式linux是将日益流行的Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种操作系统。嵌入式linux既继承了Internet上无限的开放源代码资源,又具有嵌入式操作系统的特性。嵌入式Linux的特点是版权费免费;购买费用媒介成本技术支持全世界的自由软件开发者提供支持网络特性免费,而且性能优异,软件移植容易,代码开放,有许多应用软件支持,应用产品开发周期短,新产品上市迅速,因为有许多公开的代码可以参考和移植,实时性能RT
6、_LinuxHardhatLinux等嵌入式Linux支持,实时性能稳定性好、安全性好。3(三)俄罗斯方块的实现方法在为期四天的实习中,我们在郭老师的带领下从零开始,运用所学过的知识和新的概念、方法,自己动手设计了俄罗斯方块小游戏,体验了一次小游戏开发的完整过程。游戏的设计分四个模块进行。 1、屏幕的绘制在屏幕的绘制中,首先应该修改屏幕的颜色,我们学习到修改代码为33[nm,其中n为(30-37)修改的为背景色,n为(40-47)修改的为前景色。其次,要定义一个方块类,将生成的小方块放入其中。还没学习之前,我很疑惑那些小方块是怎样
7、生成的,而郭老师巧妙的将前景色和背景色设置为同一种颜色,这样,一个字符显示在屏幕上就是一个小方块。2、时间的控制控制方块的下落速度是设计中必须实现的功能,方块的下落速度也就是时间间隔,因此我们只需定义一个时间类,设置好时间间隔即可。其次,我们也需要控制屏幕的刷新速度,而刷新速度必须比方块下落时间间隔快。因此,如何在一个程序中体现两种不同的时间控制是此模块的一个难点。在郭老师的指导下,我们通过一个while语句很好的解决了这个问题。while(1){ftime(&ctm);if(ctm.time*1000+ctm.millitm-pt
8、m.time*1000-ptm.millitm>1000){timer();ptm=ctm;}3、键盘的读取我们需要对键盘中上、下、左、右键的读取实现对方块的变形、下落、右移和右移的功能。在此模块中,我们用到了第三方库中定义的方法。4
此文档下载收益归作者所有