这个作业属于哪个课程 | 2020面向对象程序设计 |
---|---|
这个作业要求在哪里 | 我罗斯方块 |
这个作业的目标 | 讲述设计、选用的渲染方法、收集到的资料,和游戏界面示意图 |
作业正文 | 我罗斯方块1 |
其他参考文献 | VC写的双人版俄罗斯方块 MFC双人版俄罗斯方块 VC/MFC俄罗斯方块双人版(基于MFC单文档) C/C++语言中头文件的使用心得 C++俄罗斯方块 |
项目地址 | github |
小组成员 | 031902344赵睿言 031902334董晓鸥 031902341邵明杰 |
游戏设计
双人对战模式俄罗斯方块详细代码在github项目中
block.h //方块类
board.h //游戏地图
eluosi.pro //建立Qt项目
mainwindow.h //渲染类
gamers.h //玩家类
游戏设计思想
方块类
- 方块成员变量
- 方块颜色
- 方块形状
- 方块类型
- 方块成员函数
- 方块左右移动函数:实现方块左右移动,且当方块移动到边界时阻止其移动
- 方块旋转函数:实现方块旋转,规定某个按键控制方块旋转
- 方块下落速度函数:实现方块在原有速度上由玩家控制加速下落
- 方块碰撞函数:判断方块是否与原有方块碰撞,若碰撞,则阻止其继续下落
- 方块构造函数:用随机数抽取下一方块并编号
- 方块预览函数:显示下一方块,并在方块使用后自动更改
游戏类
-
游戏成员变量
- 游戏开始与结束
- 方块下落间隔
- 游戏地图宽度与高度
- 游戏地图信息
-
游戏成员函数
- 获取地图信息函数:不断获取玩家操作,保存游戏地图并实时更新
- 检测消行函数:方块积满一行时消去
- 增行函数:对方消去一行则己方在底部随机增加一行方块
- 游戏开始函数:玩家控制游戏开始
- 游戏结束函数:判断游戏是否结束
- 游戏结算函数:对比游戏双方玩家分数,判断胜利者
- 自动循环更新函数:游戏结束后清除本轮游戏数据,释放内存
渲染类
- 渲染成员变量
- 边框信息
- 主界面信息
- 玩家提示信息
- qt渲染界面
- 渲染界面函数:绘制主界面
- 键盘事件处理函数:对玩家键盘操作做出实时应答
- qt渲染项目
- 渲染边框函数:绘制边框
- 提示信息函数:给玩家提供实时提示信息
玩家类
- 玩家成员变量
- 玩家1
- 玩家2
- 玩家成员函数
- 分数累计函数:统计该玩家总得分
- 玩家个性化函数:由玩家自定义游戏昵称
渲染方法
因为小组成员电脑系统不同,采用Qt进行界面渲染。搜集到的资料
游戏界面预设计
详细内容后续继续努力!
来源:oschina
链接:https://my.oschina.net/u/4264621/blog/4273233