fix(MCU课设): 修复一个方块移动的bug

This commit is contained in:
iridiumR 2022-06-06 17:03:03 +08:00
parent 8c19878cc9
commit 8e4172d69d
2 changed files with 755 additions and 733 deletions

File diff suppressed because it is too large Load diff

View file

@ -163,10 +163,16 @@ void moveLeftPiece()
for(i = 0; i < MAX_X; i++)
for(j = 0; j < MAX_Y; j++)
if(base[i][j] == 2 && !isIegal(i - 1, j))
{
return;
}
for(i = 0; i < MAX_X; i++)
for(j = 0; j < MAX_Y; j++)
if(base[i][j] == 2)
{
base[i - 1][j] = 2;
base[i][j] = 0;
return;
return;
}
}
void moveRightPiece()
@ -175,7 +181,13 @@ void moveRightPiece()
char i, j;
for(i = MAX_X - 1; i >= 0; i--)
for(j = MAX_Y - 1; j >= 0; j--)
if(base[i][j] == 2 && isIegal(i + 1, j))
if(base[i][j] == 2 && !isIegal(i + 1, j))
{
return;
}
for(i = MAX_X - 1; i >= 0; i--)
for(j = MAX_Y - 1; j >= 0; j--)
if(base[i][j] == 2 )
{
base[i + 1][j] = 2;
base[i][j] = 0;
@ -200,12 +212,12 @@ void judgeBlock()
}
//计数足则整体下移
if(count == 8)
{
score++;
for(k = 0; k < MAX_X; k++)
for(h = j ; h < MAX_Y-1; h++)
base[k][h] = base[k][h + 1];
}
{
score++;
for(k = 0; k < MAX_X; k++)
for(h = j ; h < MAX_Y - 1; h++)
base[k][h] = base[k][h + 1];
}
}
}