一、实现思路
- QPainter 绘制 游戏界面
PS:根据方块坐标链表绘制所有方块- 支持两种操作方式
PS:鼠标事件 和 键盘事件(Q,W,E,R,T)- 定时器(10ms) 刷新 方块坐标数据
- 根据得分修改方块的步进速度
PS:简单的 step = sum % 10;【自己可以修改成喜欢的规则】
二、实际效果
三、关键代码分析
源码链接 : https://github.com/AutoCatFuuuu/QT/tree/master/whiteblock
1. 方块坐标信息处理类 【BlockData】
PS: 无非就是增删查改的功能
#ifndef BLOCKDATA_H
#define BLOCKDATA_H
#include <stdio.h>
struct BData{
int x;
int y;
int width;
int height;
BData *next;
};
class BlockData
{
public:
BlockData();
~BlockData();
void init(BData **d,int x=0,int y=0,int width=0,int height=0); //初始化
void insert(BData *d); //插入数据
bool remove(int x,int y); //删除数据
bool remove(int x); //删除数据
void updata(int step); //更新数据
bool judge(int y); //判断数据
void clear(); //清空数据
BData* get(){
return head;} //读取数据
void show(); //显示数据
private:
BData *head;