/*******头文件***********/
#include<stdio.h> //标准的输入输出函数
#include<windows.h> //控制DOS界面
#include<conio.h> //接受键盘输入输出
#include<time.h> //用于获得随机数字
/***** 宏定义 ******/
#define FrameX 13 //游戏窗口左上角的X轴坐标为13
#define FrameY 3 //游戏窗口左上角的Y轴坐标为3
#define Frame_heigth 20 //游戏窗口的高度20
#define Frame_width 18 //游戏窗口的宽度18
/***** 定义全局变量 *****/
int i,j,Temp,Temp1,Temp2;
int a[80][80]={0};
int b[4];
struct Tetris
{
int x;
int y;
int flag; //标记方块类型的序号
int next; //下一个方块的类型的序号
int speed; //俄罗斯方块移动的速度
int number; //产生俄罗斯方块的个数
int score; //游戏的分数
int level; //游戏的等级
};
HANDLE hOut; //控制台句柄
/*************函数声明*************/
int color(int c);
void gotoxy(int x,int y); //光标移动到指定位置
void DrwaGameframe(); //绘制游戏边框
void Flag(struct Tetris *);//随机产生的方块类型的序号
void MakeTetrins(struct Tertis *); //制作俄罗斯方块
void PrintTetris(struct Tetris *); //打印俄罗斯方块
void CleanTetris(struct Tetris *); //清除俄罗斯方块痕迹
int ifMove(struct Tertis *);//判断能否移动,返回值为1,否则不能移动
void Del_Fullline(struct Tetris *);
void Gameplay(); //开始游戏
void regulation(); //游戏规则
void explation();
void welcom(); //游戏欢迎界面
void Replay(struct Tertis * tertis); //游戏重新开始
void title(); //游戏标题
void flower(); //游戏欢迎界面上的字符装饰花
void close(); //关闭游戏
/**
* 文字颜色函数
*/
int color(int c)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),c);
return 0;
}
/**
控制文字显示位置
*/
void gotoxy(int x,int y)
{
COORD pos;
pos.X=x;
pos.Y=y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HAD_HANDLE),pos);
}