⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 blockcreate.c

📁 用proteus模拟仿真实现俄罗期方块游戏
💻 C
字号:
//*************************************************************************************************
//*																								  *
//*			 ******************************建立并显示方块函数**************************			  *
//*																								  *
//*************************************************************************************************
#include "GameProcess.h"
#include "GameGraph.h"


//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<建立并显示方块1>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
void vCreateOne()
{
	switch(uc_BlockState)
		{
		case STATEONE:
			switch(uc_BlockRow)
				{
				case 0:
					vShowBlock(uc_BlockRow,uc_BlockLine);
					break;
				case 1:
					vShowBlock(uc_BlockRow,uc_BlockLine);
					vShowBlock(uc_BlockRow-1,uc_BlockLine);
					break;
				case 2:
					vShowBlock(uc_BlockRow,uc_BlockLine);
					vShowBlock(uc_BlockRow-1,uc_BlockLine);
					vShowBlock(uc_BlockRow-2,uc_BlockLine);
					break;
				default:
					vShowBlock(uc_BlockRow,uc_BlockLine);
					vShowBlock(uc_BlockRow-1,uc_BlockLine);
					vShowBlock(uc_BlockRow-2,uc_BlockLine);
					vShowBlock(uc_BlockRow-3,uc_BlockLine);
				}
			break;
		case STATETWO:
			vShowBlock(uc_BlockRow,uc_BlockLine);
			vShowBlock(uc_BlockRow,uc_BlockLine+1);
			vShowBlock(uc_BlockRow,uc_BlockLine+2);
			vShowBlock(uc_BlockRow,uc_BlockLine+3);
			break;

		default:break;
		}
}


//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<建立并显示方块2>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
void vCreateTwo()
{
	if(uc_BlockRow==0)
		{
		vShowBlock(uc_BlockRow,uc_BlockLine);
		vShowBlock(uc_BlockRow,uc_BlockLine+1);
		}
	else
		{
		vShowBlock(uc_BlockRow,uc_BlockLine);
		vShowBlock(uc_BlockRow,uc_BlockLine+1);
		vShowBlock(uc_BlockRow-1,uc_BlockLine);
		vShowBlock(uc_BlockRow-1,uc_BlockLine+1);
		}
}


//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<建立并显示方块3>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
void vCreateThree()
{
	switch(uc_BlockState)
		{
		case STATEONE:
				if(uc_BlockRow==0)
					{
					vShowBlock(uc_BlockRow,uc_BlockLine-1);
					vShowBlock(uc_BlockRow,uc_BlockLine);
					vShowBlock(uc_BlockRow,uc_BlockLine+1);
					}
				else
					{
					vShowBlock(uc_BlockRow,uc_BlockLine-1);
					vShowBlock(uc_BlockRow,uc_BlockLine);
					vShowBlock(uc_BlockRow,uc_BlockLine+1);
					vShowBlock(uc_BlockRow-1,uc_BlockLine);
					}
				break;
		case STATETWO:
				switch(uc_BlockRow)
					{
					case 0:
							vShowBlock(uc_BlockRow,uc_BlockLine);
							vShowBlock(uc_BlockRow,uc_BlockLine-1);
							vShowBlock(uc_BlockRow+1,uc_BlockLine);
							break;
					default:
							vShowBlock(uc_BlockRow,uc_BlockLine);
							vShowBlock(uc_BlockRow+1,uc_BlockLine);
							vShowBlock(uc_BlockRow-1,uc_BlockLine);
							vShowBlock(uc_BlockRow,uc_BlockLine-1);
							break;
					}
				break;
		case STATETHREE:
				vShowBlock(uc_BlockRow,uc_BlockLine-1);
				vShowBlock(uc_BlockRow,uc_BlockLine+1);
				vShowBlock(uc_BlockRow,uc_BlockLine);
				vShowBlock(uc_BlockRow+1,uc_BlockLine);
				break;
		case STATEFOUR:
				switch(uc_BlockRow)
					{
					case 0:
							vShowBlock(uc_BlockRow,uc_BlockLine);
							vShowBlock(uc_BlockRow,uc_BlockLine+1);
							vShowBlock(uc_BlockRow+1,uc_BlockLine);
							break;
					default:
							vShowBlock(uc_BlockRow,uc_BlockLine);
							vShowBlock(uc_BlockRow+1,uc_BlockLine);
							vShowBlock(uc_BlockRow-1,uc_BlockLine);
							vShowBlock(uc_BlockRow,uc_BlockLine+1);
							break;
					}
				break;
		default:break;
		}
}


//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<建立并显示方块4>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
void vCreateFour()
{
	switch(uc_BlockState)
		{
		case STATEONE:
				if(uc_BlockRow==0)
					{
					vShowBlock(uc_BlockRow,uc_BlockLine);
					vShowBlock(uc_BlockRow,uc_BlockLine+1);
					vShowBlock(uc_BlockRow,uc_BlockLine+2);
					}
				else
					{
					vShowBlock(uc_BlockRow,uc_BlockLine);
					vShowBlock(uc_BlockRow,uc_BlockLine+1);
					vShowBlock(uc_BlockRow,uc_BlockLine+2);
					vShowBlock(uc_BlockRow-1,uc_BlockLine+2);
					}
				break;
		case STATETWO:
				switch(uc_BlockRow)
					{
					case 0:
						vShowBlock(uc_BlockRow,uc_BlockLine);
						break;
					case 1:
						vShowBlock(uc_BlockRow,uc_BlockLine);
						vShowBlock(uc_BlockRow-1,uc_BlockLine);
						break;
					default:
						vShowBlock(uc_BlockRow,uc_BlockLine);
						vShowBlock(uc_BlockRow-1,uc_BlockLine);
						vShowBlock(uc_BlockRow-2,uc_BlockLine);
						vShowBlock(uc_BlockRow-2,uc_BlockLine-1);
						break;
					}
				break;
		case STATETHREE:
				if(uc_BlockRow==0)
					{
					vShowBlock(uc_BlockRow,uc_BlockLine);
					}
				else
					{
					vShowBlock(uc_BlockRow,uc_BlockLine);
					vShowBlock(uc_BlockRow-1,uc_BlockLine);
					vShowBlock(uc_BlockRow-1,uc_BlockLine+1);
					vShowBlock(uc_BlockRow-1,uc_BlockLine+2);
					}
				break;
		case STATEFOUR:
				switch(uc_BlockRow)
					{
					case 0:
						vShowBlock(uc_BlockRow,uc_BlockLine);
						vShowBlock(uc_BlockRow,uc_BlockLine+1);
						break;
					case 1:
						vShowBlock(uc_BlockRow,uc_BlockLine);
						vShowBlock(uc_BlockRow,uc_BlockLine+1);
						vShowBlock(uc_BlockRow-1,uc_BlockLine);
						break;
					default:
						vShowBlock(uc_BlockRow,uc_BlockLine);
						vShowBlock(uc_BlockRow,uc_BlockLine+1);
						vShowBlock(uc_BlockRow-1,uc_BlockLine);
						vShowBlock(uc_BlockRow-2,uc_BlockLine);
						break;
					}
				break;
		default:break;
		}
}


//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<建立并显示方块5>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
void vCreateFive()
{
	switch(uc_BlockState)
		{
		case STATEONE:
				if(uc_BlockRow==0)
					{
					vShowBlock(uc_BlockRow,uc_BlockLine);
					vShowBlock(uc_BlockRow,uc_BlockLine+1);
					vShowBlock(uc_BlockRow,uc_BlockLine+2);
					}
				else
					{
					vShowBlock(uc_BlockRow,uc_BlockLine);
					vShowBlock(uc_BlockRow,uc_BlockLine+1);
					vShowBlock(uc_BlockRow,uc_BlockLine+2);
					vShowBlock(uc_BlockRow-1,uc_BlockLine);
					}
				break;
		case STATETWO:
				switch(uc_BlockRow)
					{
					case 0:
						vShowBlock(uc_BlockRow,uc_BlockLine);
						vShowBlock(uc_BlockRow,uc_BlockLine+1);
						break;
					case 1:
						vShowBlock(uc_BlockRow,uc_BlockLine);
						vShowBlock(uc_BlockRow,uc_BlockLine+1);
						vShowBlock(uc_BlockRow-1,uc_BlockLine);
						break;
					default:
						vShowBlock(uc_BlockRow,uc_BlockLine);
						vShowBlock(uc_BlockRow,uc_BlockLine+1);
						vShowBlock(uc_BlockRow-1,uc_BlockLine);
						vShowBlock(uc_BlockRow-2,uc_BlockLine);
						break;
					}
				break;
		case STATETHREE:
				if(uc_BlockRow==0)
					{
					vShowBlock(uc_BlockRow,uc_BlockLine);
					}
				else
					{
					vShowBlock(uc_BlockRow,uc_BlockLine);
					vShowBlock(uc_BlockRow-1,uc_BlockLine);
					vShowBlock(uc_BlockRow-1,uc_BlockLine+1);
					vShowBlock(uc_BlockRow-1,uc_BlockLine+2);
					}
				break;
		case STATEFOUR:
				switch(uc_BlockRow)
					{
					case 0:
						vShowBlock(uc_BlockRow,uc_BlockLine);
						break;
					case 1:
						vShowBlock(uc_BlockRow,uc_BlockLine);
						vShowBlock(uc_BlockRow-1,uc_BlockLine);
						break;
					default:
						vShowBlock(uc_BlockRow,uc_BlockLine);
						vShowBlock(uc_BlockRow-1,uc_BlockLine);
						vShowBlock(uc_BlockRow-1,uc_BlockLine);
						vShowBlock(uc_BlockRow-2,uc_BlockLine+1);
						break;
					}
				break;
		default:break;
		}
}


//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<建立并显示方块6>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
void vCreateSix()
{
	switch(uc_BlockState)
		{
		case STATEONE:
				switch(uc_BlockRow)
					{
					case 0:
						vShowBlock(uc_BlockRow,uc_BlockLine);
						break;
					case 1:
						vShowBlock(uc_BlockRow,uc_BlockLine);
						vShowBlock(uc_BlockRow-1,uc_BlockLine);
						vShowBlock(uc_BlockRow-1,uc_BlockLine+1);
						break;
					default:
						vShowBlock(uc_BlockRow,uc_BlockLine);
						vShowBlock(uc_BlockRow-1,uc_BlockLine);
						vShowBlock(uc_BlockRow-1,uc_BlockLine+1);
						vShowBlock(uc_BlockRow-2,uc_BlockLine+1);
						break;
					}
				break;
		case STATETWO:
				if(uc_BlockRow==0)
					{
					vShowBlock(uc_BlockRow,uc_BlockLine);
					vShowBlock(uc_BlockRow,uc_BlockLine+1);
					}
				else
					{
					vShowBlock(uc_BlockRow,uc_BlockLine);
					vShowBlock(uc_BlockRow,uc_BlockLine+1);
					vShowBlock(uc_BlockRow-1,uc_BlockLine);
					vShowBlock(uc_BlockRow-1,uc_BlockLine-1);
					}
				break;
		default:break;
		}
}


//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<建立并显示方块7>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
void vCreateSeven()
{
	switch(uc_BlockState)
		{
		case STATEONE:
				switch(uc_BlockRow)
					{
					case 0:
						vShowBlock(uc_BlockRow,uc_BlockLine);
						break;
					case 1:
						vShowBlock(uc_BlockRow,uc_BlockLine);
						vShowBlock(uc_BlockRow-1,uc_BlockLine);
						vShowBlock(uc_BlockRow-1,uc_BlockLine-1);
						break;
					default:
						vShowBlock(uc_BlockRow,uc_BlockLine);
						vShowBlock(uc_BlockRow-1,uc_BlockLine);
						vShowBlock(uc_BlockRow-1,uc_BlockLine-1);
						vShowBlock(uc_BlockRow-2,uc_BlockLine-1);
						break;
					}
				break;
		case STATETWO:
				if(uc_BlockRow==0)
					{
					vShowBlock(uc_BlockRow,uc_BlockLine);
					vShowBlock(uc_BlockRow,uc_BlockLine+1);
					}
				else
					{
					vShowBlock(uc_BlockRow,uc_BlockLine);
					vShowBlock(uc_BlockRow,uc_BlockLine+1);
					vShowBlock(uc_BlockRow-1,uc_BlockLine);
					vShowBlock(uc_BlockRow-1,uc_BlockLine+1);
					}
				break;
		default:break;
		}
}


//*************************************************************************************************
//*																								  *
//*			 ******************************类型分派函数*******************************			  *
//*																								  *
//*************************************************************************************************
void vBlockCreate()
{
	switch(uc_BlockType)
		{
		case TYPEONE:vCreateOne();break;
		case TYPETWO:vCreateTwo();break;
		case TYPETHREE:vCreateThree();break;
		case TYPEFOUR:vCreateFour();break;
		case TYPEFIVE:vCreateFive();break;
		case TYPESIX:vCreateSix();break;
		case TYPESEVEN:vCreateSeven();break;
		default:break;
		}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -