game_utile.c
来自「智原mp3 SDK 开发包 与巨力 有mp3 wma ogg decoder」· C语言 代码 · 共 527 行 · 第 1/2 页
C
527 行
mine.area[mine.mine_y][mine.mine_x].init_info = MINE_MINE;
}
}
void mine_load_num()
{
char i;
for(i = 0; i < mine.mine_num; i++)
{
mine.mine_cur = mine.mine_area[i];
mine_get_xy();
//chek left
if(mine.mine_x)
{
if(mine.area[mine.mine_y][mine.mine_x - 1].init_info != MINE_MINE)
{
mine.area[mine.mine_y][mine.mine_x - 1].init_info ++;
}
}
//chek right
if(mine.mine_x < (MINE_LIE - 1))
{
if(mine.area[mine.mine_y][mine.mine_x + 1].init_info != MINE_MINE)
{
mine.area[mine.mine_y][mine.mine_x + 1].init_info ++;
}
}
//chek down
if(mine.mine_y < (MINE_HANG - 1))
{
if(mine.area[mine.mine_y + 1][mine.mine_x].init_info != MINE_MINE)
{
mine.area[mine.mine_y + 1][mine.mine_x].init_info ++;
}
}
//chek UP
if(mine.mine_y)
{
if(mine.area[mine.mine_y - 1][mine.mine_x].init_info != MINE_MINE)
{
mine.area[mine.mine_y - 1][mine.mine_x].init_info ++;
}
}
//chek left UP DOWN
if (mine.mine_x)
{
//check up
if(mine.mine_y)
{
if (mine.area[mine.mine_y - 1][mine.mine_x - 1].init_info != MINE_MINE)
{
mine.area[mine.mine_y - 1][mine.mine_x - 1].init_info ++;
}
}
//check down
if(mine.mine_y < (MINE_HANG - 1))
{
if(mine.area[mine.mine_y + 1][mine.mine_x - 1].init_info != MINE_MINE)
{
mine.area[mine.mine_y + 1][mine.mine_x - 1].init_info ++;
}
}
}
//chek right UP DOWN
if(mine.mine_x < (MINE_LIE - 1))
{
//check up
if(mine.mine_y)
{
if(mine.area[mine.mine_y - 1][mine.mine_x + 1].init_info != MINE_MINE)
{
mine.area[mine.mine_y - 1][mine.mine_x + 1].init_info ++;
}
}
//check down
if(mine.mine_y < (MINE_HANG - 1))
{
if (mine.area[mine.mine_y + 1][mine.mine_x + 1].init_info != MINE_MINE)
{
mine.area[mine.mine_y + 1][mine.mine_x + 1].init_info ++;
}
}
}
}
}
void mine_handle_null()
{
char x,y;
int status;
status = TRUE;
while (status)
{
status = FALSE;
for (y = 0; y < MINE_HANG; y++)
for (x = 0; x < MINE_LIE; x++)
{
if(mine.area[y][x].play_info == MINE_CHK)
{
if(mine_handle_null_area(x, y))
{
status = TRUE;
}
}
}
}
}
int mine_handle_null_area(char x, char y)
{
int status;
mine.area[y][x].play_info = MINE_0;
mine_show_area(x, y, mine.area[y][x].play_info);
//chek left
if (x)
{
if(mine.area[y][x - 1].init_info == MINE_0)
{
if(mine.area[y][x - 1].play_info == MINE_FULL || mine.area[y][x - 1].play_info == MINE_UNSURE)
{
mine.area[y][x - 1].play_info = MINE_CHK;
status = TRUE;
}
}
else if (mine.area[y][x - 1].init_info >= MINE_1 && mine.area[y][x - 1].init_info <= MINE_9 )
{
if(mine.area[y][x - 1].play_info == MINE_FULL || mine.area[y][x - 1].play_info == MINE_UNSURE)
{
mine.area[y][x - 1].play_info = mine.area[y][x - 1].init_info;
mine_show_area(x - 1, y, mine.area[y][x - 1].play_info);
}
}
}
//chek right
if(x < (MINE_LIE - 1))
{
if(mine.area[y][x + 1].init_info == MINE_0)
{
if(mine.area[y][x + 1].play_info == MINE_FULL || mine.area[y][x + 1].play_info == MINE_UNSURE)
{
mine.area[y][x + 1].play_info = MINE_CHK;
status = TRUE;
}
}
else if(mine.area[y][x + 1].init_info >= MINE_1 && mine.area[y][x + 1].init_info <= MINE_9 )
{
if(mine.area[y][x + 1].play_info == MINE_FULL || mine.area[y][x + 1].play_info == MINE_UNSURE)
{
mine.area[y][x + 1].play_info = mine.area[y][x + 1].init_info;
mine_show_area(x + 1, y, mine.area[y][x + 1].play_info);
}
}
}
//chek down
if (y < (MINE_HANG - 1))
{
if (mine.area[y + 1][x].init_info == MINE_0)
{
if(mine.area[y + 1][x].play_info == MINE_FULL || mine.area[y + 1][x].play_info == MINE_UNSURE)
{
mine.area[y + 1][x].play_info = MINE_CHK;
status = TRUE;
}
}
else if (mine.area[y + 1][x].init_info >= MINE_1 && mine.area[y + 1][x].init_info <= MINE_9 )
{
if(mine.area[y + 1][x].play_info == MINE_FULL || mine.area[y + 1][x].play_info == MINE_UNSURE)
{
mine.area[y + 1][x].play_info = mine.area[y + 1][x].init_info;
mine_show_area(x, y + 1, mine.area[y + 1][x].play_info);
}
}
}
//chek UP
if (y)
{
if (mine.area[y - 1][x].init_info == MINE_0)
{
if (mine.area[y - 1][x].play_info == MINE_FULL || mine.area[y - 1][x].play_info == MINE_UNSURE)
{
mine.area[y - 1][x].play_info = MINE_CHK;
status = TRUE;
}
}
else if (mine.area[y - 1][x].init_info >= MINE_1 && mine.area[y - 1][x].init_info <= MINE_9 )
{
if (mine.area[y - 1][x].play_info == MINE_FULL || mine.area[y - 1][x].play_info == MINE_UNSURE)
{
mine.area[y - 1][x].play_info = mine.area[y - 1][x].init_info;
mine_show_area(x, y - 1, mine.area[y - 1][x].play_info);
}
}
}
//chek left UP DOWN
if (x)
{
//check up
if (y)
{
if (mine.area[y - 1][x - 1].init_info >= MINE_1 && mine.area[y - 1][x - 1].init_info <= MINE_9 )
{
if (mine.area[y - 1][x - 1].play_info == MINE_FULL || mine.area[y - 1][x - 1].play_info == MINE_UNSURE)
{
mine.area[y - 1][x - 1].play_info = mine.area[y - 1][x - 1].init_info;
mine_show_area(x - 1, y - 1, mine.area[y - 1][x - 1].play_info);
}
}
}
//check down
if (y < (MINE_HANG - 1))
{
if (mine.area[y + 1][x - 1].init_info >= MINE_1 && mine.area[y + 1][x - 1].init_info <= MINE_9 )
{
if (mine.area[y + 1][x - 1].play_info == MINE_FULL || mine.area[y + 1][x - 1].play_info == MINE_UNSURE)
{
mine.area[y + 1][x - 1].play_info = mine.area[y + 1][x - 1].init_info;
mine_show_area(x - 1, y + 1, mine.area[y + 1][x - 1].play_info);
}
}
}
}
//chek right UP DOWN
if (x < (MINE_LIE - 1))
{
//check up
if (y)
{
if (mine.area[y - 1][x + 1].init_info >= MINE_1 && mine.area[y - 1][x + 1].init_info <= MINE_9 )
{
if (mine.area[y - 1][x + 1].play_info == MINE_FULL || mine.area[y - 1][x + 1].play_info == MINE_UNSURE)
{
mine.area[y - 1][x + 1].play_info = mine.area[y - 1][x + 1].init_info;
mine_show_area(x + 1, y - 1, mine.area[y - 1][x + 1].play_info);
}
}
}
//check down
if (y < (MINE_HANG - 1))
{
if (mine.area[y + 1][x + 1].init_info >= MINE_1 && mine.area[y + 1][x + 1].init_info <= MINE_9 )
{
if (mine.area[y + 1][x + 1].play_info == MINE_FULL || mine.area[y + 1][x + 1].play_info == MINE_UNSURE)
{
mine.area[y + 1][x + 1].play_info = mine.area[y + 1][x + 1].init_info;
mine_show_area(x + 1, y + 1, mine.area[y + 1][x + 1].play_info);
}
}
}
}
return status;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?