#include<iostream>
#include<>
#include<>
#include<>
#include<>
using namespace std;
#define A1 0//A 代表长条型,B为方块,C为L型,D为闪电型(实在无法描述那个形状)
#define A2 1
#define B 2
#define C11 3
#define C12 4
#define C13 5
#define C14 6
#define C21 7
#define C22 8
#define C23 9
#define C24 10
#define D11 11
#define D12 12
#define D21 13
#define D22 14
void SetPos(int i,int j)// 设定光标位置
{
COORD pos={i,j};
HANDLE Out=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(Out, pos);
}
int sharp[15][8]=
{ {0,0,1,0,2,0,3,0},{0,0,0,1,0,2,0,3}, {0,0,1,0,0,1,1,1},
{0,0,1,0,1,1,1,2},{0,1,1,1,2,0,2,1},{0,0,0,1,0,2,1,2},{0,0,0,1,1,0,2,0},
{1,0,1,1,1,2,0,2},{0,0,0,1,1,1,2,1},{0,0,0,1,0,2,1,0},{0,0,1,0,2,0,2,1}, {0,0,0,1,1,1,1,2},{0,1,1,0,1,1,2,0},
{0,1,0,2,1,0,1,1},{0,0,1,0,1,1,2,1}
};// 这个 2 维数组是用来保存各个形状位置的
这个数组是用来保存各个形状高度的
int high[15]={4,1,2,2,3,2,3,2,3,2,3,2,3,2,3};// class Box// 俄罗斯方块类
{
private:
int map[23][12];// 画面坐标
int hotpoint[2];// 热点(即当前活动的点,所有图形都是相当此点绘制的)
int top;// 当前最高位置
int point;// 分数
int level;// 等级
int ID;// 当前活动图形的 ID 号
public:
Box()// 初始化
{
int i,j;
for(i=0;i<23;i++) for(j=0;j<12;j++)
map[i][j]=0; hotpoint[0]=0; hotpoint[1]=5; point=0; level=1; top=99;
ID=0;
}
void DrawMap();// 画界面
int Judge(int x,int y);// 判断当前位置能否绘制图形
void Welcome();// 欢迎界面
void DrawBox(int x,int y,int num);// 绘制图形
void Redraw(int x,int y,int num);// 擦除图形
void R
C 大作业俄罗斯方块 来自淘豆网m.daumloan.com转载请标明出处.