/Easyx-game

基于Easyx实现的俄罗斯方块小游戏

Primary LanguageC++

Easyx-game

基于Easyx实现的俄罗斯方块小游戏

项目动机

学习完C++后,由于之前都只是在黑乎乎的命令行上显示结果,于是便有了想实现一个图形界面的软件的想法, 便找到了一个好入门并有趣的俄罗斯方块小游戏作为练习。

项目需求

  • 基础功能实现
  • 双击下键立即降落
  • 计分
  • 一次消除多行则分数加得越多
  • 随着分数难度增加
  • 按空格键暂停
  • 下一个即将出现的方块
  • 显示下落位置

项目描述

基于Easyx的俄罗斯方块小游戏,使用C++开发,能够实现市面上俄罗斯方块的基本功能

1.采用Easyx的批量绘图功能,使得页面渲染更加流畅

2.采用getasynckeystate函数,直接获取键盘按键状态,使方块移动更加灵敏

3.采用矩阵相应算法,实现俄罗斯方块的旋转

项目框架

数据结构

使用一个长度为4的结构体数组来存储方块

函数

  1. 绘图函数
    • description:绘制棋盘和方块
  2. 移动函数
    • description:实现方块下、左、右移动
  3. 变换函数
    • description:实现方块的变换
  4. 消除函数:
    • description:检测是否可以消除方块,如可以,则消除。

更新日志

  • 2022.6.12 初步确定需求和框架,并画好棋盘
  • 2022.6.14 完成基础功能实现
  • 2022.6.15 实现双击下键立即降落,计分,一次消除多行则分数增加,随着分数增加难度增加的功能
  • 2022.6.20 实现显示下一个即将出现的方块功能

更新记录

  • 2022.6.12

image-20220612233122348

2022.6.14

image-20220614225439950

项目演示

项目演示:https://www.bilibili.com/video/BV1SY4y1A7wN?spm_id_from=333.999.0.0

项目文档

文档链接