QT 小游戏 : 别踩白块儿~

本文介绍了一款使用QT框架开发的小游戏——别踩白块儿的实现思路。通过QPainter绘制游戏界面,并支持鼠标和键盘事件操作。游戏使用定时器每10ms刷新方块坐标,得分影响方块的移动速度。关键代码涉及方块坐标处理类BlockData和游戏操作界面类TestWidget。文章提供源码链接供读者参考。
摘要由CSDN通过智能技术生成

一、实现思路

  1. QPainter 绘制 游戏界面
    PS:根据方块坐标链表绘制所有方块
  2. 支持两种操作方式
    PS:鼠标事件 和 键盘事件(Q,W,E,R,T)
  3. 定时器(10ms) 刷新 方块坐标数据
  4. 根据得分修改方块的步进速度
    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;
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值