我正在用C编写一个2048游戏副本。但我无法弄清游戏的功能。我有这个结构:
typedef struct struct_BLOCO
{
int valor;
int cor;
int x, y;
} BLOCO;
这是我给板子坐标的函数:
void GiveBlocksCoordinates(BLOCO bloco[16])
{
int i, j, cont = 0;
for (i = 0; i < MAX; i++)
{
for (j = 0; j < MAX; j++)
{
bloco[cont].x = (j * 8) + X_INI;
bloco[cont].y = (i * 4) + Y_INI;
cont++;
}
}
}
然后使用值bloco [i]。[x] / [y]使用函数将它们放在屏幕上。 这是我的“GameOver”功能,处于当前状态: PS:“quant”整数表示16值。如果块为空,则其中包含0值。如果是“Game Over”,则函数返回1.
int acabouJogo(BLOCO vec[], int quant)
{
int i, j, x, y, cont = 0, BlocosOcupados = 1;
for (i = 0; i < quant; i++)
if (vec[i].valor != 0)
BlocosOcupados++;
if (BlocosOcupados == quant)
{
for (x = 0; x != 16; x = x + 4)
{
while (cont < 3)
{
if (vec[x + cont].valor != vec[(x + cont) + 1].valor)
cont++;
else
return 0;
}
cont = 0;
}
for (x = 0; x < 4; x++)
{
while ( (cont + x) != (12 + x) )
{
if (vec[x + cont].valor != vec[(x + cont) + 4].valor)
cont = cont + 4;
else
return 0;
}
cont = 0;
}
}
else
return 0;
return 1;
}
你能帮助我吗?
抱歉我的英文。
感谢。