我罗斯方块设计方案
这个作业属于哪个课程 | 2020春福大面向对象程序设计 |
---|---|
这个作业要求在哪里 | 我罗斯方块 |
这个作业的目标 | 讲述你的设计,选用的渲染方法,收集到的资料,和游戏界面示意图。请详细写出你需要的类,和类的成员函数与成员变量。 |
作业正文 | 我罗斯方块设计 |
参考文献 | 俄罗斯方块设计思路 |
项目地址 | https://github.com/Blythe-fby/-.git |
小组成员姓名 | 学号 |
吴艳妮 | 031902141 |
范彬洋 | 031902433 |
一.设计方法
设计要求:双人单机的俄罗斯方块,两人同时进行游戏,玩家每消掉一行对方都会在底层增加一行随机的方块
1.1所需要的类
1.方块类
成员变量:
- 五种方块及其变换形式的排列方式,及其对应的不同颜色
成员函数:
- 方块构造函数,共五种类型的方块,利用随机数随机产生一种
- 预览函数:在旁边的预览方框内显示下一个方块
- 方块移动函数:实现方块的左右移动
- 方块旋转函数:实现方块的旋转,注意如果旋转后的方块越界则取消该次旋转
- 方块下落函数:方块恒定需要慢速下落,同时需要快速下落的功能
- 碰撞判定函数:判定方块是否已经不能再下落了
- 层满函数:判断是否有某一层被填满,如果填满,则消去(支持一次消去多行)
- 方块消去函数:消去已经填满的一行方块
2.边框类
成员函数:
- 增加底层函数:在对方消去一行后,实现在底层增加一行随机的方块
- 判断左右出界函数:阻止方块在左右边界处继续向左/右移动
- 判断溢出函数:如果某玩家到达边框顶端,则游戏结束,该玩家失败
3.玩家类
成员函数:
- 计算分数函数:记录双方玩家的分数并显示
4.渲染类
成员函数:
- 绘制边框函数:显示出长宽固定的两个边框以及其他文字信息
- 绘制画布函数:随着操作和时间变动不断渲染出新的画布
5.游戏类
成员函数:
- 获取用户操作的函数:不断获取用户的操作
- 游戏开始函数:实现游戏的开始或重新开始,将框内容清空,并将分数清零
- 游戏结束函数:使游戏结束,并询问用户要重新开始还是退出
- 游戏暂停函数:暂停游戏,停止计时器和画布的变化
1.2渲染方法
选用windows.h实现控制台渲染