二〇二二 年 七 月
项目实践报告书
题 目 : 俄罗斯方块
学 生 姓 名 : 程 超 锋
学 院 : 工 学 院
专 业 : 计算机科学与技术
班 级 : 2 0 2 0 级
指 导 教 师 : 王 金 祥
项目实践报告书
I
目录
引言....................................................................................................................................................1
第一章 需求分析..............................................................................................................................2
第二章 总体设计..............................................................................................................................3
2.1 开始界面............................................................................................................................3
2.2 游戏界面............................................................................................................................4
第三章 详细设计..............................................................................................................................5
3.1 方块类................................................................................................................................5
3.2 方块信息类........................................................................................................................7
3.3 游戏类................................................................................................................................8
3.3.1 Game()................................................................................................................9
3.3.2 void initGraph()................................................................................................9
3.3.3 void initGame()................................................................................................10
3.3.4 void playGame()................................................................................................10
3.3.5 void newBlock()................................................................................................11
3.3.6 void drawBlock(BLOCKINFO, WORD)................................................................11
3.3.7 bool checkBlock(BLOCKINFO)..........................................................................12
3.3.8 void blockMove()..............................................................................................13
3.3.9 void Rotate()....................................................................................................13
3.3.10 void Left()......................................................................................................13
3.3.11 void Right()....................................................................................................14
3.3.12 void Down()......................................................................................................14
3.3.13 void Sink()......................................................................................................14
3.3.14 void gameOver()..............................................................................................14
3.3.15 void Quit()......................................................................................................15
3.3.16 void gameQuit()..............................................................................................15
3.3.17 void gamePause()............................................................................................15
3.3.18 ~Game(closegraph();)....................................................................................15
第四章 运行测试............................................................................................................................16
4.1 初始界面..........................................................................................................................16
4.2 游戏简介..........................................................................................................................16
4.3 游戏玩法..........................................................................................................................17
4.4 退 出..........................................................................................................................17
4.5 开始游戏..........................................................................................................................18
4.6 游戏暂停..........................................................................................................................18
4.7 游戏结束..........................................................................................................................19
4.8 通 关..........................................................................................................................19
总结..................................................................................................................................................20
参考文献..........................................................................................................................................21
谢辞..................................................................................................................................................22
项目实践报告书
1
引言
本次项目实践的目的及意义在于巩固学生《面向对象程序设计》课程的基础
知识,锻炼分析、设计和编程能力以及掌握收集、阅读和引用文献的方法和掌握
撰写相关文档的方法。
本人项目实践的内容为基于 EasyX 的俄罗斯方块游戏的开发。俄罗斯方块
是一款风靡全球的掌上游戏机和 PC 机游戏,它造成的轰动与创造的经济价值可
以说是游戏史上的一件大事。它由俄罗斯人阿列克谢·帕基特诺夫发明,故得此
名。俄罗斯方块的基本规则是移动、旋转和摆放游戏自动输出的各种方块,使之
排列成完整的一行或多行并且消除得分。作为家喻户晓老少皆宜的大众游戏,其
普及程度可以说是史上任何一款游戏都无法相比的。相信大多数人都还记得为它
痴迷得茶不思饭不想的那个俄罗斯方块时代。由于俄罗斯方块具有的数学性、动
态性与知名度,也经常拿来作为游戏程序设计的练习题材。
虽然俄罗斯方块游戏规则简单,但它的开发却涉及到键盘控制、计时功能、
图形绘制以及其它逻辑运算和代数运算问题,是一个比较综合的项目。这也是我
选择此款游戏作为项目实践的原因,其中图形界面的设计我采用了 EasyX,采用
的面向对象高级语言是 C++,充分体现了面向对象语言中类和对象的特征。
项目实践报告书
2
第一章 需求分析
俄罗斯方块游戏的规则很简单,当方块从屏幕上方落下来时,玩家控制方
块的位置以及旋转方块,巧妙地安排布置达到充分利用屏幕空间的目的。每当屏
幕的一整行被方块排满时,作为奖赏,整行从屏幕上消失,剩余的方块依次往下
降一行。当方块堆积达到屏幕顶端的时候,游戏结束。游戏主要的功能点包括:
1) 进入游戏界面有开始游戏、游戏简介、游戏玩法、退出四个模块;
2) 玩家使用按键或鼠标控制方块的位置和旋转;
3) ESC 键退出游戏,数字 0 键暂停游戏,空格键加速方块的下落;方块默认
自动下落一格,直至 4 个小方块中的一个到达游戏区域的底部或者下一格有方块
时,停止移动;
4) 每消去一行,给玩家加一定的分数;达到一定分值,方块下落的速度加
快,游戏难度加大;
5) 游戏分为 game 和 preview 区域,game 区域为游戏的控制区域,preview
区域为下一方块产生前的预览区域,以提示玩家有所准备。
项目实践报告书
3
第二章 总体设计
一个简单的小游戏一般都有开始界面,俄罗斯方块游戏也不例外,俄罗斯
方块的开始界面有四个选择功能分别是“开始游戏”,“游戏简介”,“游戏玩法”
和“退出”,进入这四个功能的操作就是点击鼠标左键点击“开始游戏”后进入
游戏界面,得到随机方块,下落保存坐标并显示方块,然后继续下落直到方块达
到游戏界面的高度,则游戏结束;点击“游戏简介”里面详细的介绍了该款游戏
的信息,屏幕的右下方有“返回”两个字,点击的话则返回到开始界面;点击
“游戏玩法”则显示的是游戏的操作方法,屏幕的右下方有“返回”两个字,点
击的话则返回到开始界面;点击“退出”则退出游戏。
俄罗斯方块的总体设计如图 2-1。
图 2-1 程序流程图
2.1 开始界面
运行程序,进入到开始界面可以看到“开始游戏”、“游戏简介”、“游戏玩法”
返回返回
评论0