Easyx-game
基于Easyx实现的俄罗斯方块小游戏
项目动机
学习完C++后,由于之前都只是在黑乎乎的命令行上显示结果,于是便有了想实现一个图形界面的软件的想法, 便找到了一个好入门并有趣的俄罗斯方块小游戏作为练习。
项目需求
- 基础功能实现
- 双击下键立即降落
- 计分
- 一次消除多行则分数加得越多
- 随着分数难度增加
- 按空格键暂停
- 下一个即将出现的方块
- 显示下落位置
项目描述
基于Easyx的俄罗斯方块小游戏,使用C++开发,能够实现市面上俄罗斯方块的基本功能
1.采用Easyx的批量绘图功能,使得页面渲染更加流畅
2.采用getasynckeystate函数,直接获取键盘按键状态,使方块移动更加灵敏
3.采用矩阵相应算法,实现俄罗斯方块的旋转
项目框架
数据结构
使用一个长度为4的结构体数组来存储方块
函数
- 绘图函数
- description:绘制棋盘和方块
- 移动函数
- description:实现方块下、左、右移动
- 变换函数
- description:实现方块的变换
- 消除函数:
- description:检测是否可以消除方块,如可以,则消除。
更新日志
- 2022.6.12 初步确定需求和框架,并画好棋盘
- 2022.6.14 完成基础功能实现
- 2022.6.15 实现双击下键立即降落,计分,一次消除多行则分数增加,随着分数增加难度增加的功能
- 2022.6.20 实现显示下一个即将出现的方块功能
更新记录
- 2022.6.12
2022.6.14
项目演示
项目演示:https://www.bilibili.com/video/BV1SY4y1A7wN?spm_id_from=333.999.0.0