问题:C语言做的一个2048的程序
我的程序:
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <math.h>
#include <time.h>
//定义全局变量
int step=0;
int score=0;
long int Time;
int Board[4][4]={
0,0,0,0,
0,0,0,0,
0,0,0,0,
0,0,0,0};
HANDLE hOut;
//函数声明
void go(int x,int y); //设置坐标位置
int color(int c); //设置文字颜色
int Tcolor(int i); //根据不同数字修改颜色
void drawTheGameBoard(); //绘制游戏界面
int *add(int item[]); //合并数字
int ifMove(int item[]); //判断是否能够移动数字
void Gstart(); //开始游戏
void Regame(); //重新游戏
int if2n(int x); //判断是否为2的n次方
int up(); //判断是否能够上移
int down(); //判断是否能够下降
int right(); //判断是否能够右移
int left(); //判断是否能够左移
int BoardMax(); //返回棋盘最大值
int Faile(); //判断是否失败
int Win(); //判断是否胜利
int Control(int key); //设置键盘操作
void close(); //关闭游戏
void title(); //绘制标题
void choice(); //制作选择框
void picture(); //字符画;
void rule(); //游戏规则
//获取坐标位置//
void go(int x,int y)
{
COORD c;
c.X =x;
c.Y =y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c);
}
//设置文字颜色//
int color(int c)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),c);
return 0;
}
//设置标题2048//
void title()
{
color(11);
go(19,2);
printf("■■■ ■■■■ ■ ■■■■");
go(19,3);
printf(" ■ ■ ■ ■■ ■ ■");
go(19,4);
printf("■■■ ■ ■ ■ ■ ■■■■");
go(19,5);
printf("■ ■ ■ ■■■■ ■ ■");
go(19,6);
printf("■■■ ■■■■ ■ ■■■■");
}
//菜单选项//
void choice()
{
int n;
int i,j=1;
color(13);
go(32,8);
printf("Let's play a game");
color(14);
for(i=9;i<=20;i++)
{
for(j=15;j<=60;j++)
{
go(j,i);
if(i==9||i==20)
{
printf("=");
}
else if(j==15||j==59)
{
printf("||");
}
}
}
color(12);
go(25,12);
printf("1.开始游戏");
go(40,12);
printf("2.游戏规则");
go(25,16);
printf("3.退出游戏");
color(5);
go(21,22);
printf("请选择[1,2,3]:[ ]\b\b");
scanf("%d",&n);
switch(n)
{
case 1:
system("cls");
Gstart();
break;
case 2:
break;
case 3:
exit(0);
break;
}
}
//绘制游戏棋盘//
void drawTheGameBoard()
{
int i,j,k;
color(14);
for(j=2;j<=22;j+=5)
{
go(15,j);
for(k