创建俄罗斯方块,一共七种图形,一种图形四个小方块构成,先构建每个小方块的创建,图片,坐标等。
Tetris.h
#pragma once
class Tetris
{
public://构造函数
Tetris(int rows,int cols,int left,int top,int blockSize);
void init(); //初始化
void play(); //开始游戏
private: //封装
void keyEvent(); //内部使用
void updateWindow();
//返回距离上一次调用该函数,间隔了多长时间,单位毫秒
//第一次调用该函数,返回0
int getDelay();
void drop();
void clearLine();
private:
int delay;
bool update; //是否更新
};
Tetr.cpp
#include "Tetris.h"
#include <stdlib.h>
#include <time.h>
Tetris::Tetris(int rows, int cols, int left, int top, int blockSize)
{
}
void Tetris::init()
{
delay = 30;
//配置随机种子
srand(time(NULL));
}
void Tetris::play()
{
init(); //初始化
//渲染画面CPU高消耗,处理方法,增加延时
int timer = 0;
while (1)
{
//接受用户输入
keyEvent();
//距离上一次循环间隔多长时间,这样对系统消耗并不大
timer += getDelay();//统计输