- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
俄罗斯方块游戏开发.doc
目录
目录目录
序 言 1
一、俄罗斯方块游戏开发环境 1
二、游戏功能概述 2
三、总体设计 2
(一) 功能模块设计 2
1. 方块显示 2
2. 方块控制 3
3. 坐标更新 4
(二) 数据结构设计 4
1. shape结构数组 4
(三) 函数功能描述 5
四、程序实现 6
(一) 源代码设计 6
1. 程序预处理 6
2. 主函数main() 6
3. 绘制屏幕 7
4. 时钟中断处理 10
5. 方块的移动 11
6. 键盘获取 16
7. 方块累加 17
8. 消行处理 18
9. 方块操作判断 19
(二) 运行结果 19
五、实习心得体会 24
参 考 文 献 26
序 言
俄罗斯方块是一款风靡全球的掌上游戏机和PC机游戏,它由俄罗斯人阿列克谢·帕基特诺夫发明,故得此名。俄罗斯方块的基本规则是移动、旋转和摆放游戏自动输出的各种方块,使之排列成完整的一行或多行并且消除得分。它看似简单却变化无穷,俄罗斯方块上手极其简单,但是要熟练地掌握其中的操作与摆放技巧,难度却不低。由于俄罗斯方块具有的数学性、动态性与知名度,所以经常拿来作为游戏程序设计的练习题材。这正是俄罗斯方块会被拿来用做我们实习课中具体实习项目的原因。
C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点,它主要用来进行系统程序设计,具有高效、灵活、功能丰富、表达能力强和移植性好等的特点。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。而这次的中期实习内容正是运用C语言在嵌入式Linux系统中编写俄罗斯方块小游戏的软件。用C语言来编写俄罗斯方块这个游戏有较大优势:C语言具有各种各样的数据类型,并引入了指针概念,使得程序效率更高;C语言还包含很广泛的运算符;C语言是结构式语言,结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立;另外C语言具有强大的图形功能,支持多种显示器和驱动器,而且计算功能、逻辑判断能力也比较强大。
作为软件工程的学生,自身需具备很强的编程实践能力和分析问题的能力。本次实习旨在训练软件工程专业学生的实际操作技能,熟悉C语言图形模式下的编程,本程序中涉及结构体、数组、时钟中断及绘图等方面的知识。通过本次实习,能引领软件工程专业学生从整体项目设计和建模开始,了解游戏软件的需求、分析游戏软件的功能、进而构建游戏软件的构架,从而加深对专业知识的理解核对本行业的认识。
一、俄罗斯方块游戏开发环境
本次实习项目的开发环境是Linux系统。Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。
由于条件所限,最终的游戏开发是在vmware虚拟机上虚拟出来的Linux系统中实现的。
二、游戏功能概述
方块显示功能
游戏中的方块显示包括颜色显示和形状显示。不仅能显示颜色和形状,而且颜色和形状的设置通过全局变量设置。
方块控制功能
游戏中方块可通过键盘上的方向键实现方块的左移、右移、加速下落、旋转等操作。不通过方向键控制时,方块也可自由下落。
坐标更新功能
在方块左右移动、下降、旋转或者消行后,方块原先的位置坐标会失效,需要重新绘制方块的坐标。
三、总体设计
(一) 功能模块设计
1. 方块显示
颜色的显示
颜色的显示主要是通过对屏幕前景色和背景色的绘制达到的。当输入一个字符时,我们可以通过“\33[3nm”调整它的前景色和“\33[4nm”调整它的背景色。本次中期实习中所采用的前景色的范围是0n7,背景色的范围也是0n7。假如要将小方块的颜色设置为粉色,那么我们可以将前景色设为45,即“printf(\33[%dm, 45);”代码段,将背景色设置为35,即“printf(\33[%dm, 35); ”代码段,这样调整之后,之前输出的字符此时就会变成一个粉色的小方块。如果对自己设置的小方块的颜色不满意的话可以用“printf(\33[%dm, 0);”代码段去掉之前所设置的颜色属性,然后按照自己的喜好或者说是按照满足界面设计的要求来重新设置小方块的颜色。最后用“fflush(stdout); ”代码段将修改后的数据刷新到屏幕。
形状的显示
小方块的形状不像图形的形状那么复杂,需要用结构体来设置
文档评论(0)