/**************************************************************************************************************
* 名称:scoring
* 功能:计分
* 参数:NULL
* 返回:NULL
* 备注:采用非阻塞延时
**************************************************************************************************************/
void scoring(void)
{
if(state && (node != 2))
{
switch(Tbase % 20)
{
case 18: if(flag_c == 0 )
{
u8 i;
if(led[15])
{
node = 2;
row = mark;
flag_c = 0;
return;
}
for(i = 0; i < 16; i++)
{
if(led[i] == 0xff)
{
score++;
cnt = i;
node = 1;
flag1 = 1;
flag_c++;
return;
}
}
}
break;
case 19: if((flag_c == 2) && flag2)
{
u8 i;
for(i = cnt; i < 16; i++)
{
led[i] = led[i + 1];
}
led[16] = 0x00;
led[17] = 0x00;
cnt = 0;
flag2 = 0;
flag_c = 0;
}
break;
default: break;
}
}
}