前几天写了一个2048小游戏,但是感觉不太满意,因为只有数字没有棋盘,所以看起来不太友好。我后来对打印游戏数据函数做了改进,使界面变得更加美观。效果如下图所示:
修改后的showGame()代码如下:
/*
* 函数名:showGame
* 功能:显示游戏界面
* 参数:需要显示的游戏数据
* 返回值:无
*/
void showGame(int data[N][N])
{
int x = 0, y = 0, i = 0;
system("cls"); //打印前先清屏
printf(" 欢迎来到2048游戏!\n");
//打印所有数据
for (x = 0; x < N; ++x)
{
printf(" ");
printf("|");
for (y = 0; y < N; ++y)
{
printf("-----|");
}
printf("\n");
printf(" ");
for (y = 0; y < N; ++y)
{
if (data[x][y] == 0)
{
printf("| ");
}
else
{
printf("|%5d", data[x][y]);
}
}
printf("|\n");
}
printf(" ");
printf("|");
for (y = 0; y < N; ++y)
{
printf("-----|");
}
printf("\n当前最高分数:%d\n", maxScore(data));
printf("=============操作说明===============\n");
printf(" u-->上 d-->下\n");
printf(" l-->左 r-->右\n");
printf(" q-->退出\n");
fflush(stdin);//清空缓冲区,避免“回车”字符被读取
}