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

📄 fan.c

📁 brew Timer的应用! 画面的更新 等等
💻 C
📖 第 1 页 / 共 2 页
字号:


#include "Fan.h"
///////////////////////////////////////////////
//初始化7个方块中相应的小方块。
//////////////////////////////////////////////
void Star(TimerApp * sTimerApp)
{
	int i;
	//JulianType julianDate;
	//uint16 sec;
	
//	GET_JULIANDATE(0, &julianDate);

//	sec = julianDate.wSecond;

//	sTimerApp->index = sec;

	for(i=0;i<4;i++)
	{
		sTimerApp->aa[i].x=0;
		sTimerApp->aa[i].y=0;
	}
	sTimerApp->R=0;
	sTimerApp->H=4;
//	sTimerApp->index %= 7;
	setIndex(sTimerApp);
	switch(sTimerApp->index)
	{
		case 1:
				sTimerApp->aa[0].x=sTimerApp->R;
				sTimerApp->aa[0].y=sTimerApp->H+2;
				sTimerApp->aa[1].x=sTimerApp->R;
				sTimerApp->aa[1].y=sTimerApp->H+3;
				sTimerApp->aa[2].x=sTimerApp->R;
				sTimerApp->aa[2].y=sTimerApp->H+1;
				sTimerApp->aa[3].x=sTimerApp->R;
				sTimerApp->aa[3].y=sTimerApp->H;
				sTimerApp->TempColor = MAKE_RGB(80,154,175);
				//sTimerApp->TempColor = MAKE_RGB(0,0,0);
				break;
		case 2:
				sTimerApp->aa[0].x=sTimerApp->R;
				sTimerApp->aa[0].y=sTimerApp->H;
				sTimerApp->aa[1].x=sTimerApp->R;
				sTimerApp->aa[1].y=sTimerApp->H+1;
				sTimerApp->aa[2].x=sTimerApp->R+1;
				sTimerApp->aa[2].y=sTimerApp->H+1;
				sTimerApp->aa[3].x=sTimerApp->R+1;
				sTimerApp->aa[3].y=sTimerApp->H+2;
				sTimerApp->TempColor = MAKE_RGB(129,115,253);
				//sTimerApp->TempColor = MAKE_RGB(0,0,0);
				break;
		case 3:
				sTimerApp->aa[0].x=sTimerApp->R+1;
				sTimerApp->aa[0].y=sTimerApp->H;
				sTimerApp->aa[1].x=sTimerApp->R+1;
				sTimerApp->aa[1].y=sTimerApp->H+1;
				sTimerApp->aa[2].x=sTimerApp->R;
				sTimerApp->aa[2].y=sTimerApp->H+1;
				sTimerApp->aa[3].x=sTimerApp->R;
				sTimerApp->aa[3].y=sTimerApp->H+2;
				sTimerApp->TempColor = MAKE_RGB(233,149,22);
				//sTimerApp->TempColor = MAKE_RGB(0,0,0);
				break;
		case 4:
				sTimerApp->aa[0].x=sTimerApp->R;
				sTimerApp->aa[0].y=sTimerApp->H;
				sTimerApp->aa[1].x=sTimerApp->R;
				sTimerApp->aa[1].y=sTimerApp->H+1;
				sTimerApp->aa[2].x=sTimerApp->R;
				sTimerApp->aa[2].y=sTimerApp->H+2;
				sTimerApp->aa[3].x=sTimerApp->R+1;
				sTimerApp->aa[3].y=sTimerApp->H+2;
				sTimerApp->TempColor = MAKE_RGB(210,23,191);
				//sTimerApp->TempColor = MAKE_RGB(0,0,0);
				break;
		case 5:
				sTimerApp->aa[0].x=sTimerApp->R+1;
				sTimerApp->aa[0].y=sTimerApp->H;
				sTimerApp->aa[1].x=sTimerApp->R+1;
				sTimerApp->aa[1].y=sTimerApp->H+1;
				sTimerApp->aa[2].x=sTimerApp->R+1;
				sTimerApp->aa[2].y=sTimerApp->H+2;
				sTimerApp->aa[3].x=sTimerApp->R;
				sTimerApp->aa[3].y=sTimerApp->H+2;
				sTimerApp->TempColor = MAKE_RGB(9,24,225);
				//sTimerApp->TempColor = MAKE_RGB(0,0,0);
				break;
		case 6:
				sTimerApp->aa[0].x=sTimerApp->R;
				sTimerApp->aa[0].y=sTimerApp->H+1;
				sTimerApp->aa[1].x=sTimerApp->R+1;
				sTimerApp->aa[1].y=sTimerApp->H+1;
				sTimerApp->aa[2].x=sTimerApp->R+1;
				sTimerApp->aa[2].y=sTimerApp->H+2;
				sTimerApp->aa[3].x=sTimerApp->R+1;
				sTimerApp->aa[3].y=sTimerApp->H;
				sTimerApp->TempColor = MAKE_RGB(5,228,211);
				//sTimerApp->TempColor = MAKE_RGB(0,0,0);
				break;
		case 0:
				sTimerApp->aa[0].x=sTimerApp->R;
				sTimerApp->aa[0].y=sTimerApp->H;
				sTimerApp->aa[1].x=sTimerApp->R;
				sTimerApp->aa[1].y=sTimerApp->H+1;
				sTimerApp->aa[2].x=sTimerApp->R+1;
				sTimerApp->aa[2].y=sTimerApp->H;
				sTimerApp->aa[3].x=sTimerApp->R+1;
				sTimerApp->aa[3].y=sTimerApp->H+1;
				sTimerApp->TempColor = MAKE_RGB(77,68,70);
				//sTimerApp->TempColor = MAKE_RGB(0,0,0);
				break;
	}	
	switch(sTimerApp->nextindex)
	{
		case 1:
				sTimerApp->nn[0].x=sTimerApp->R;
				sTimerApp->nn[0].y=sTimerApp->H;
				sTimerApp->nn[1].x=sTimerApp->R;
				sTimerApp->nn[1].y=sTimerApp->H+1;
				sTimerApp->nn[2].x=sTimerApp->R;
				sTimerApp->nn[2].y=sTimerApp->H+2;
				sTimerApp->nn[3].x=sTimerApp->R;
				sTimerApp->nn[3].y=sTimerApp->H+3;
				sTimerApp->NextTempColor = MAKE_RGB(80,154,175);			
				break;
		case 2:
				sTimerApp->nn[0].x=sTimerApp->R;
				sTimerApp->nn[0].y=sTimerApp->H;
				sTimerApp->nn[1].x=sTimerApp->R;
				sTimerApp->nn[1].y=sTimerApp->H+1;
				sTimerApp->nn[2].x=sTimerApp->R+1;
				sTimerApp->nn[2].y=sTimerApp->H+1;
				sTimerApp->nn[3].x=sTimerApp->R+1;
				sTimerApp->nn[3].y=sTimerApp->H+2;
				sTimerApp->NextTempColor = MAKE_RGB(129,115,253);
				break;
		case 3:
				sTimerApp->nn[0].x=sTimerApp->R+1;
				sTimerApp->nn[0].y=sTimerApp->H;
				sTimerApp->nn[1].x=sTimerApp->R+1;
				sTimerApp->nn[1].y=sTimerApp->H+1;
				sTimerApp->nn[2].x=sTimerApp->R;
				sTimerApp->nn[2].y=sTimerApp->H+1;
				sTimerApp->nn[3].x=sTimerApp->R;
				sTimerApp->nn[3].y=sTimerApp->H+2;
				sTimerApp->NextTempColor = MAKE_RGB(233,149,22);
				break;
		case 4:
				sTimerApp->nn[0].x=sTimerApp->R;
				sTimerApp->nn[0].y=sTimerApp->H;
				sTimerApp->nn[1].x=sTimerApp->R;
				sTimerApp->nn[1].y=sTimerApp->H+1;
				sTimerApp->nn[2].x=sTimerApp->R;
				sTimerApp->nn[2].y=sTimerApp->H+2;
				sTimerApp->nn[3].x=sTimerApp->R+1;
				sTimerApp->nn[3].y=sTimerApp->H+2;
				sTimerApp->NextTempColor = MAKE_RGB(210,23,191);
				break;
		case 5:
				sTimerApp->nn[0].x=sTimerApp->R+1;
				sTimerApp->nn[0].y=sTimerApp->H;
				sTimerApp->nn[1].x=sTimerApp->R+1;
				sTimerApp->nn[1].y=sTimerApp->H+1;
				sTimerApp->nn[2].x=sTimerApp->R+1;
				sTimerApp->nn[2].y=sTimerApp->H+2;
				sTimerApp->nn[3].x=sTimerApp->R;
				sTimerApp->nn[3].y=sTimerApp->H+2;
				sTimerApp->NextTempColor = MAKE_RGB(9,24,225);
				break;
		case 6:
				sTimerApp->nn[0].x=sTimerApp->R;
				sTimerApp->nn[0].y=sTimerApp->H+1;
				sTimerApp->nn[1].x=sTimerApp->R+1;
				sTimerApp->nn[1].y=sTimerApp->H+1;
				sTimerApp->nn[2].x=sTimerApp->R+1;
				sTimerApp->nn[2].y=sTimerApp->H+2;
				sTimerApp->nn[3].x=sTimerApp->R+1;
				sTimerApp->nn[3].y=sTimerApp->H;
				sTimerApp->NextTempColor = MAKE_RGB(5,228,211);
				break;
		case 0:
				sTimerApp->nn[0].x=sTimerApp->R;
				sTimerApp->nn[0].y=sTimerApp->H;
				sTimerApp->nn[1].x=sTimerApp->R;
				sTimerApp->nn[1].y=sTimerApp->H+1;
				sTimerApp->nn[2].x=sTimerApp->R+1;
				sTimerApp->nn[2].y=sTimerApp->H;
				sTimerApp->nn[3].x=sTimerApp->R+1;
				sTimerApp->nn[3].y=sTimerApp->H+1;
				sTimerApp->NextTempColor = MAKE_RGB(77,68,70);
				break;
	}
	myDraw(sTimerApp);
	sTimerApp->K = 1;
//	setIndex(sTimerApp);
}

///////////////////////////////////////////////////////////////
//判断俄罗斯方块是否到底部,或是否到其他方块的上边缘。
///////////////////////////////////////////////////////////////
int Isbottom(TimerApp * sTimerApp)
{
	int i,j;
	for(i = 0;i<4;i++)
	{
		//判断是否到底部。如果到底部,把cor[i][j]置2.
		if(sTimerApp->aa[i].x==13)
		{
			for(j =0;j<4;j++)
			{
				sTimerApp->cor[sTimerApp->aa[j].x][sTimerApp->aa[j].y]=2;
				sTimerApp->color[sTimerApp->aa[j].x][sTimerApp->aa[j].y]=sTimerApp->TempColor;
				//表明已到底部
				sTimerApp->flag2=1;
			}
//			sTimerApp->k=0;
			return 0;
		}
		//判断是否到其他方块的上边缘,如果是,则把cor[i][j]置2.
		if(sTimerApp->cor[sTimerApp->aa[i].x+1][sTimerApp->aa[i].y]==2)
		{
			for(j =0;j<4;j++)
			{
				sTimerApp->cor[sTimerApp->aa[j].x][sTimerApp->aa[j].y]=2;
				sTimerApp->color[sTimerApp->aa[j].x][sTimerApp->aa[j].y]=sTimerApp->TempColor;
				//表明已到其他方块的上边缘。
				sTimerApp->flag2=1;
			}
//			sTimerApp->k=0;
			return 0;
		}
	
	}
	return 1;
}

///////////////////////////////////////////////////////
//判断俄罗斯方块是否到边界或是否到其他方块边缘
//////////////////////////////////////////////////////
int Isout(TimerApp * sTimerApp)
{	
	int i;
	for(i =0;i<4;i++)
	{
		//俄罗斯方块是否到左右边缘或到其他方块的边缘。
		
		if((sTimerApp->aa[i].y<=0)||(sTimerApp->aa[i].y>=9)||(sTimerApp->cor[sTimerApp->aa[i].x][sTimerApp->aa[i].y+1]==2) || (sTimerApp->cor[sTimerApp->aa[i].x][sTimerApp->aa[i].y-1]==2))
		{
			return 0;
		}
	}
	
	return 1;
}

void Isover(TimerApp * sTimerApp)
{
	int iOverFlg,n;
	int i,j;
	int a,b,t;
	AEERect TempRect;
	//AECHAR szText[] = {'H','e','l','l','o',' ','W','o', 'r', 'l', 'd', '\0'};
    AECHAR gameOver[] = {'O', 'V', 'E','R', '\0'};
	iOverFlg = 0;
	n = 0;
	
    
	for(a=13;a>=0;a--)
	{
		iOverFlg=0;
		for(b=0;b<10;b++)
		{
			if(sTimerApp->cor[a][b]==2)
			{
				iOverFlg++;
			
			}
		}
		if(iOverFlg==10)
		{
			sTimerApp->count+=100;
			displayScore(sTimerApp);
			for(b=0;b<10;b++)
			{
					sTimerApp->cor[a][b]=0;
					sTimerApp->color[a][b]=MAKE_RGB(255,255,255);
			}
			for(t=a;t>0;t--)
			{
				
				for(b=0;b<10;b++)
				{
					if(sTimerApp->cor[t-1][b]==2)
					{
						sTimerApp->cor[t][b]=2;
						sTimerApp->color[t][b]=sTimerApp->color[t-1][b];
						sTimerApp->flag2=1;
						sTimerApp->cor[t-1][b]=0;
						sTimerApp->color[t-1][b]=MAKE_RGB(255,255,255);
					}
				}
			}
			a=a+1;
		}
	}
	for(a=0;a<9;a++)
	{
		if(sTimerApp->cor[0][a]==2)
		{
//			KillTimer(IDC_TIMER);
//			MessageBox("游戏结束");
		//	clean(1);
//			count=0;
//			sTimerApp->
			//for(i=0;i<14;i++)
			//{
			//	for(j=0;j<10;j++)
			//	{
			//		sTimerApp->cor[i][j]=0;

⌨️ 快捷键说明

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