2048小游戏C语言实现代码

本文实例为大家分享了C语言实现2048游戏的具体代码,供大家参考,具体内容如下

大一时学c语言写的,写的不好但当时感觉还行。

环境运行 vc6.0 ,cpp文件。

基本上是c写的,但是改变字体颜色,在控制台移动光标等等好像不是c中的。

代码:

#include<time.h> #include<stdlib.h> #include<conio.h> #include<stdio.h> #include<windows.h> #define x0 26 #define y0 1 HANDLE hOutput=GetStdHandle(STD_OUTPUT_HANDLE); /*显示声明*/ void p(int*a,int i,int x,int y); /*部分刷新声明*/ void shua(void); /*胜利画面测试函数声明*/ int test(void); /*字体空格声明*/ void kg(int*a); /*画长条函数的声明*/ void ct(int x,int y,int l,int k,int c); /*标题字幕2048*/ void p2048(int x,int y); /*单个颜色返回值声明*/ int col(int*a); /*移动光标*/ void gotoxy(int x,int y) {  COORD coordScreen={0,0};  coordScreen.X=x;  coordScreen.Y=y;  SetConsoleCursorPosition(hOutput,coordScreen); } /*字体颜色*/ void textcolor(int color) {  SetConsoleTextAttribute(hOutput,color); } /*显示函数*/ void prin(int*a,int*score,int*scoremax) {  int i;  for (i = 0; i < 16; i++)  {   p(a,i,x0,y0);  }  printf("\n\n       score=%d MAXscore=%d     \n", *score, *scoremax); } /* 产生随机数 */ int shu(void) {  int s = 0;  s = 1 + (int)(12.0 * rand() / (RAND_MAX + 1.0));  if (s == 12)   return 4;  else   return 2; }  /* 决定位置 */ int rands(void) {  return (int)(16.0 * rand() / (RAND_MAX + 1.0)); } /* 主函数*/ int main(void) {  int flag = 0, c = 0, pd = 1, n = 0, i = 0, m = 0, j =   0, sj, sj1, sj2, a[16] = { 0 }, b[16] ={0}, x = 0, score = 0, t = 0, jx = 0, scoremax = 0,ks=1,yx=0;   char sr,an;   //开始画面   p2048(17,1);   textcolor(255);   gotoxy(35,15);   for(;;)   {    an=getch();   switch(an)   {   case 72:    if(ks==1)     ks=0;    else     ks=1;   break;   case 80:    if(ks==1)     ks=0;    else     ks=1;   break;   case '\r':    yx=1;    break;   default:   break;   }   if(ks==1)    gotoxy(35,15);   else    gotoxy(34,18);   if(ks==1&&yx==1)    break;   else if(ks==0&&yx==1)   {   textcolor(240);   gotoxy(0,0);   for(i=0;i<=500;i++)   {    printf("  ");   }   gotoxy(0,0);   ct(12,5,58,10,223);   gotoxy(13,6);   printf("      2048游戏说明");   gotoxy(13,8);   printf(" 通过按数字键移动数字,合并相同的数字来的取得更大的数。");   gotoxy(13,9);   printf(" 得到2048时游戏即胜利,当然您也可以选择继续挑战。");   gotoxy(13,11);   printf(" 按键操作:");   gotoxy(13,13);   printf(" 上:↑ 下:↓ 左:← 右:→ 重新开始:r 退出游戏:e");   textcolor(240);   printf("\n\n\n\n\n               I know ");   getch();   p2048(17,1);   textcolor(255);   gotoxy(34,18);   }   yx=0;   }   //隐藏光标   HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE);   CONSOLE_CURSOR_INFO cci;   GetConsoleCursorInfo(hOut,&cci);   cci.bVisible=FALSE;   SetConsoleCursorInfo(hOut,&cci);   //刷新画面   textcolor(240);   gotoxy(0,0);   for(i=0;i<=500;i++)   {    printf("  ");   }   gotoxy(0,0);   /*设置时间种子*/   srand((int)time(0));   /* 设置初始值 */   sj = rands();   sj1 = rands();   sj2 = rands();   for (;;)   {    if (sj == sj1 || sj == sj2 || sj1 == sj2)    {     sj1 = rands();     sj2 = rands();    }    else     break;   }   a[sj] = shu();   a[sj1] = shu();   a[sj2] = shu();   /*显示*/   prin(a,&score,&scoremax);   for (;;)   {    /* 无回显输入 */    sr = getch();    /* scanf("%d",&n); *//* 记录之前的位置,将用以比较移动是否有效 */    for (j = 0; j < 16; j++)     b[j] = a[j];    switch (sr)    {     /* 向上移动 */    case 72:     /* 全部移到上边 */     for (j = 0; j < 4; j++)     {      for (c = 0; c < 3; c++)      {       if (a[j] == 0)       {        a[j] = a[j + 4];        a[j + 4] = 0;       }       if (a[j + 4] == 0)       {        a[j + 4] = a[j + 8];        a[j + 8] = 0;       }       if (a[j + 8] == 0)       {        a[j + 8] = a[j + 12];        a[j + 12] = 0;       }      }      /* 移到上面后的合并操作 */      if (a[j] == a[j + 4])      {       a[j] = a[j] * 2;       score = score + a[j];       a[j + 4] = a[j + 8];       a[j + 8] = a[j + 12];       a[j + 12] = 0;       if (a[j + 4] == a[j + 8])       {        a[j + 4] = 2 * a[j + 4];        score = score + a[j + 4];        a[j + 8] = 0;       }      }      else if (a[j + 4] == a[j + 8])      {       a[j + 4] = 2 * a[j + 4];       score = score + a[j + 4];       a[j + 8] = a[j + 12];       a[j + 12] = 0;      }      else if (a[j + 8] == a[j + 12])      {       a[j + 8] = 2 * a[j + 8];       score = score + a[j + 8];       a[j + 12] = 0;      }      else;     }     break;     /* 向下移动 */    case 80:     /* 全部移动到下面 */     for (j = 12; j < 16; j++)     {      for (c = 0; c < 3; c++)      {       if (a[j] == 0)       {        a[j] = a[j - 4];        a[j - 4] = 0;       }       if (a[j - 4] == 0)       {        a[j - 4] = a[j - 8];        a[j - 8] = 0;       }       if (a[j - 8] == 0)       {        a[j - 8] = a[j - 12];        a[j - 12] = 0;       }      }      /* 移到下面后的合并操作 */      if (a[j] == a[j - 4])      {       a[j] = a[j] * 2;       score = score + a[j];       a[j - 4] = a[j - 8];       a[j - 8] = a[j - 12];       a[j - 12] = 0;       if (a[j - 4] == a[j - 8])       {        a[j - 4] = 2 * a[j - 4];        score = score + a[j - 4];        a[j - 8] = 0;       }      }      else if (a[j - 4] == a[j - 8])      {       a[j - 4] = 2 * a[j - 4];       score = score + a[j - 4];       a[j - 8] = a[j - 12];       a[j - 12] = 0;      }      else if (a[j - 8] == a[j - 12])      {       a[j - 8] = 2 * a[j - 8];       score = score + a[j - 8];       a[j - 12] = 0;      }      else;     }     break;     /* 向左移动 */    case 75:     /* 全部移动到左面 */     for (j = 0; j <= 12; j = j + 4)     {      for (c = 0; c < 3; c++)      {       if (a[j] == 0)       {        a[j] = a[j + 1];        a[j + 1] = 0;       }       if (a[j + 1] == 0)       {        a[j + 1] = a[j + 2];        a[j + 2] = 0;       }       if (a[j + 2] == 0)       {        a[j + 2] = a[j + 3];        a[j + 3] = 0;       }      }      /* 移到左面后的合并操作 */      if (a[j] == a[j + 1])      {       a[j] = a[j] * 2;       score = score + a[j];       a[j + 1] = a[j + 2];       a[j + 2] = a[j + 3];       a[j + 3] = 0;       if (a[j + 1] == a[j + 2])       {        a[j + 1] = 2 * a[j + 1];        score = score + a[j + 1];        a[j + 2] = 0;       }      }      else if (a[j + 1] == a[j + 2])      {       a[j + 1] = 2 * a[j + 1];       score = score + a[j + 1];       a[j + 2] = a[j + 3];       a[j + 3] = 0;      }      else if (a[j + 2] == a[j + 3])      {       a[j + 2] = 2 * a[j + 2];       score = score + a[j + 2];       a[j + 3] = 0;      }      else;     }     break;     /* 向右移动 */    case 77:     /* 全部移动到右面 */     for (j = 3; j <= 16; j = j + 4)     {      for (c = 0; c < 3; c++)      {       if (a[j] == 0)       {        a[j] = a[j - 1];        a[j - 1] = 0;       }       if (a[j - 1] == 0)       {        a[j - 1] = a[j - 2];        a[j - 2] = 0;       }       if (a[j - 2] == 0)       {        a[j - 2] = a[j - 3];        a[j - 3] = 0;       }      }      /* 移到右面后的合并操作 */      if (a[j] == a[j - 1])      {       a[j] = a[j] * 2;       score = score + a[j];       a[j - 1] = a[j - 2];       a[j - 2] = a[j - 3];       a[j - 3] = 0;       if (a[j - 1] == a[j - 2])       {        a[j - 1] = 2 * a[j - 1];        score = score + a[j - 1];        a[j - 2] = 0;       }      }      else if (a[j - 1] == a[j - 2])      {       a[j - 1] = 2 * a[j - 1];       score = score + a[j - 1];       a[j - 2] = a[j - 3];       a[j - 3] = 0;      }      else if (a[j - 2] == a[j - 3])      {       a[j - 2] = 2 * a[j - 2];       score = score + a[j - 2];       a[j - 3] = 0;      }      else;     }     break;     /* 重新开始 */    case 'r':     for (j = 0; j < 16; j++)      a[j] = 0;     sj1 = rands();     sj2 = rands();     for (;;)     {      if (sj1 == sj2)      {       sj1 = rands();       sj2 = rands();      }      else       break;     }     a[sj1] = shu();     a[sj2] = shu();     flag = 0;     score = 0;     jx = 0;     break;     /* 退出 */    case 'e':     shua();     ct(32,19,15,3,207);     printf(" 游戏已退出!");     textcolor(255);     gotoxy(0,0);     getch();     return 0;     break;     /* 其他情况(刷新) */    default:     ;     break;   }         /*windows下的系统清屏函数*/   //system ("cls");   /* 判断最高分 */   if (score > scoremax)    scoremax = score;   /* 判断是否胜利(是否含有2048) */   for (j = 0; j < 16; j++)   {    if (a[j] == 2048 && jx == 0)    {     /* 胜利时输出游戏结果 */     /*显示*/     prin(a,&score,&scoremax);     shua();     ct(20,19,15,3,207);     printf(" 游戏胜利!");     textcolor(159);     gotoxy(38,19);     printf(" Continue    ");     textcolor(239);     gotoxy(49,20);     printf(" Restart ");     textcolor(175);     gotoxy(49,21);     printf(" Exit  ");     t=2;     an=75;     yx=0;     for(;;)     {      an=getch();      switch(an)      {      case 72:       if(t==2)       {        t=3;      textcolor(240);      gotoxy(36,21);      printf("       ");      textcolor(175);      gotoxy(38,21);      printf(" Exit     ");      textcolor(240);      gotoxy(36,19);      printf("       ");      textcolor(159);      gotoxy(47,19);      printf("  Continue ");      textcolor(240);      gotoxy(36,20);      printf("       ");      textcolor(239);      gotoxy(49,20);      printf(" Restart ");       }       else if(t==1)       {        t=2;        textcolor(240);      gotoxy(36,19);      printf("       ");      textcolor(159);      gotoxy(38,19);      printf(" Continue    ");      textcolor(240);      gotoxy(36,20);      printf("       ");      textcolor(239);      gotoxy(47,20);      printf("  Restart ");      textcolor(240);      gotoxy(36,21);      printf("       ");      textcolor(175);      gotoxy(49,21);      printf(" Exit  ");       }       else       {        t=1;        textcolor(240);      gotoxy(36,20);      printf("       ");      textcolor(239);      gotoxy(38,20);      printf(" Restart     ");      textcolor(240);      gotoxy(36,21);      printf("       ");      textcolor(175);      gotoxy(47,21);      printf("  Exit  ");       textcolor(240);      gotoxy(36,19);      printf("       ");      textcolor(159);      gotoxy(49,19);      printf(" Continue ");       }       break;      case 80:       if(t==2)       {        t=1;         textcolor(240);      gotoxy(36,20);      printf("       ");      textcolor(239);      gotoxy(38,20);      printf(" Restart     ");      textcolor(240);      gotoxy(36,19);      printf("       ");      textcolor(159);      gotoxy(47,19);      printf("  Continue ");      textcolor(240);      gotoxy(36,21);      printf("       ");      textcolor(175);      gotoxy(49,21);      printf(" Exit  ");       }       else if(t==1)       {        t=3;        textcolor(240);      gotoxy(36,21);      printf("       ");      textcolor(175);      gotoxy(38,21);      printf(" Exit     ");      textcolor(240);      gotoxy(36,20);      printf("       ");      textcolor(239);      gotoxy(47,20);      printf("  Restart ");      textcolor(240);      gotoxy(36,19);      printf("       ");      textcolor(159);      gotoxy(49,19);      printf(" Continue ");       }       else       {       t=2;       textcolor(240);      gotoxy(36,19);      printf("       ");      textcolor(159);      gotoxy(38,19);      printf(" Continue    ");      textcolor(240);      gotoxy(36,21);      printf("       ");      textcolor(175);      gotoxy(47,21);      printf("  Exit  ");       textcolor(240);      gotoxy(36,20);      printf("       ");      textcolor(239);      gotoxy(49,20);      printf(" Restart ");       }       break;      case '\r':       yx=1;       break;      }      if(yx==1)      {       yx=0;       break;      }     }     shua();     textcolor(255);     gotoxy(0,0);     /* 重新开始游戏 */     if (t == 1)     {      shua();      pd = 1;      x = 0;      for (j = 0; j < 16; j++)       a[j] = 0;      sj1 = rands();      sj2 = rands();      for (;;)      {       if (sj1 == sj2)       {        sj1 = rands();        sj2 = rands();       }       else        break;      }      a[sj1] = shu();      a[sj2] = shu();      for (j = 0; j < 16; j++)       b[j] = a[j];      flag = 0;      score = 0;      break;     }     /* 继续游戏 */     else if (t == 2)     {      jx = 1;      shua();     }     else     {      shua();      ct(32,19,15,3,207);      printf(" 游戏已退出!");      textcolor(255);      gotoxy(0,0);      getch();      return 0;     }    }   }         /* 决定是否产生新的数及其位置以及游戏是否失败 */   /* flag,pd,x赋初值 */   flag = 0;   pd = 1;   x = 0;   /* 判断移动后是否有空位:pd=0为有空位,pd=1为无空位 */   for (j = 0; j < 16; j++)   {    if (a[j] == 0)     pd = 0;   }   /* 移动是否有效:x=1有效,x=0无效 */   for (j = 0; j < 16; j++)   {    if (a[j] != b[j])    {     x = 1;     break;    }   }   /* 移动有效时且有空位时产生新数 */   if (pd == 0 && x == 1)   {    for (;;)    {     sj = rands();     if (a[sj] == 0)     {      a[sj] = shu();      break;     }     else;    }   }   /* 游戏是否失败的判定 */   /* 移动后无空位 */   else if (pd != 0)   {    /* 判断是否还有可合并的项 */    for (j = 0; j < 16; j++)    {     if (j != 3 && j != 7 && j != 11 && j != 15 && a[j] == a[j + 1])     {      flag = flag + 1;     }     if (j != 12 && j != 13 && j != 14 && j != 15      && a[j] == a[j + 4])     {      flag = flag + 1;     }     if (j != 0 && j != 4 && j != 8 && j != 12 && a[j] == a[j - 1])     {      flag = flag + 1;     }     if (j != 0 && j != 1 && j != 2 && j != 3 && a[j] == a[j - 4])     {      flag = flag + 1;     }    }         /* 无空位且没有可合并的项时游戏失败 */    if (flag == 0)    {     /* 失败时输出游戏结果 */     /*显示*/     prin(a,&score,&scoremax);     shua();     ct(20,19,15,3,271);     printf(" 游戏结束!");     textcolor(240);     gotoxy(38,19);     printf("Whether continue the game ?");     gotoxy(44,21);     printf("@Yes  No");     gotoxy(44,21);     t=1;     an=75;     yx=0;     for(;;)     {      an=getch();      switch(an)      {      case 75:       if(t==1)       {        t=0;        gotoxy(53,21);        printf("@");        gotoxy(44,21);        printf(" ");       }       else       {        t=1;        gotoxy(44,21);        printf("@");        gotoxy(53,21);        printf(" ");       }       break;      case 77:       if(t==1)       {        t=0;        gotoxy(53,21);        printf("@");        gotoxy(44,21);        printf(" ");        }       else       {        t=1;        gotoxy(44,21);        printf("@");        gotoxy(53,21);        printf(" ");       }       break;      case '\r':       yx=1;       break;      }      if(yx==1)      {       yx=0;       break;      }     }     shua();     textcolor(255);     gotoxy(0,0);     if (t == 1)     {      for (j = 0; j < 16; j++)       a[j] = 0;      sj=rands();      sj1 = rands();      sj2 = rands();      for (;;)      {       if (sj1 ==sj2||sj1==sj||sj2==sj)       {        sj1 = rands();        sj2 = rands();       }       else        break;      }      a[sj]=shu();      a[sj1] = shu();      a[sj2] = shu();      score = 0;      jx = 0;     }     else     {      shua();      ct(32,19,15,3,207);      printf(" 游戏已退出!");      textcolor(255);      gotoxy(0,0);      getch();      return 0;     }    }   }   else;   /* 显示结果 */   prin(a,&score,&scoremax);  }  return 0; } /*显示函数*/ void p(int*a,int i,int x,int y) {  int x1=x,y1=y;  textcolor(col(a+i));  x1=x+(i%4)*7;  y1=y+(i/4)*4;  gotoxy(x1,y1);  printf("  ");  gotoxy(x1,y1+1);  kg(a+i);  gotoxy(x1,y1+2);  printf("  ");  textcolor(240); } /*字体空格声明*/ void kg(int*a) {  if(*a==0)   printf("  ",*a);  else if(*a<10)   printf(" %d ",*a);  else if(*a<100)   printf(" %d ",*a);  else if(*a<1000)   printf(" %d ",*a);  else if(*a<10000)   printf("%d ",*a);  else   printf("%d",*a); } /*单个颜色返回值*/ int col(int*a) { int co=127; if(*(a)==0) co=127; else if(*(a)==2) co=143; else if(*(a)==4) co=191; else if(*(a)==8) co=175; else if(*(a)==16) co=239; else if(*(a)==32) co=223; else if(*(a)==64) co=207; else if(*(a)==128) co=95; else if(*(a)==256) co=159; else if(*(a)==512) co=63; else if(*(a)==1024) co=111; else if(*(a)==2048) co=79; else if(*(a)==4096) co=287; else co=271; return co; } /*标题字幕2048*/ void p2048(int x,int y) {  int i;  textcolor(240);  gotoxy(0,0);  for(i=0;i<=500;i++)   {    printf("  ");   }  //2  textcolor(207);  gotoxy(x,y);  printf("   ");  gotoxy(x,y+1);  printf("   ");  gotoxy(x+7,y+2);  printf(" ");  gotoxy(x+7,y+3);  printf(" ");  gotoxy(x,y+4);  printf("   ");  gotoxy(x,y+5);  printf("   ");  gotoxy(x,y+6);  printf(" ");  gotoxy(x,y+7);  printf(" ");  gotoxy(x,y+8);  printf("   ");  gotoxy(x,y+9);  printf("   ");  //0  textcolor(239);  gotoxy(x+13,y);  printf("   ");  gotoxy(x+13,y+1);  printf("   ");  gotoxy(x+13,y+2);  printf(" ");  gotoxy(x+13+7,y+2);  printf(" ");  gotoxy(x+13,y+3);  printf(" ");  gotoxy(x+13+7,y+3);  printf(" ");  gotoxy(x+13,y+4);  printf(" ");  gotoxy(x+13+7,y+4);  printf(" ");  gotoxy(x+13,y+5);  printf(" ");  gotoxy(x+13+7,y+5);  printf(" ");  gotoxy(x+13,y+6);  printf(" ");  gotoxy(x+13+7,y+6);  printf(" ");  gotoxy(x+13,y+7);  printf(" ");  gotoxy(x+13+7,y+7);  printf(" ");  gotoxy(x+13,y+8);  printf("   ");  gotoxy(x+13,y+9);  printf("   ");  //4  textcolor(159);  gotoxy(x+26,y);  printf(" ");  gotoxy(x+26+7,y);  printf(" ");  gotoxy(x+26,y+1);  printf(" ");  gotoxy(x+26+7,y+1);  printf(" ");  gotoxy(x+26,y+2);  printf(" ");  gotoxy(x+26+7,y+2);  printf(" ");  gotoxy(x+26,y+3);  printf(" ");  gotoxy(x+26+7,y+3);  printf(" ");  gotoxy(x+26,y+4);  printf("   ");  gotoxy(x+26,y+5);  printf("   ");  gotoxy(x+26,y+6);  printf(" ");  gotoxy(x+26,y+7);  printf(" ");  gotoxy(x+26,y+8);  printf(" ");  gotoxy(x+26,y+9);  printf(" ");  //8  textcolor(175);  for(i=0;i<10;i++)  {  gotoxy(x+39,y+i);  printf("   ");  }  textcolor(240);  gotoxy(x+42,y+2);  printf(" ");  gotoxy(x+42,y+3);  printf(" ");  gotoxy(x+42,y+6);  printf(" ");  gotoxy(x+42,y+7);  printf(" ");  //长条   ct(35,15,20,1,240);   printf(" Game Sart");   ct(35,18,20,1,240);   printf("How to play");   printf("\n");   printf("\n\n\n               Made by Mr Yan");   gotoxy(35-25,15);   textcolor(255);   gotoxy(0,0); } /*画长条函数*/ void ct(int x,int y,int l,int k,int c) {  int i=0,j=0;  textcolor(c);  gotoxy(x,y);  for(i=0;i<k;i++)  {  gotoxy(x,y+i);  for(j=0;j<l;j++)  {  printf(" ");  }  }  gotoxy(x+1,y+k/2); } void shua(void) {  gotoxy(0,18);  textcolor(255);  printf("                 \n");  printf("                 \n");  printf("                 \n");  printf("                 \n");  printf("                 \n");  printf("                 \n");  gotoxy(0,0); } /*胜利画面测试函数*/ int test(void) {  int i,t,yx;  char an;   textcolor(240);   gotoxy(0,0);   for(i=0;i<=500;i++)   {    printf("  ");   }   gotoxy(0,0);   HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE);   CONSOLE_CURSOR_INFO cci;   GetConsoleCursorInfo(hOut,&cci);   cci.bVisible=FALSE;   SetConsoleCursorInfo(hOut,&cci);     //printf("\n游戏胜利!t\n重新开始游戏请按1\n继续游戏请按2\n退出请按其他键3\n"); 2 1 3                       /*  2 继续选中 textcolor(240);      gotoxy(36,19);      printf("       ");      textcolor(159);      gotoxy(38,19);      printf(" Continue    ");   2 继续平常 textcolor(240);      gotoxy(36,19);      printf("       ");      textcolor(159);      gotoxy(49,19);      printf(" Continue ");   1 重新选中 textcolor(240);      gotoxy(36,20);      printf("       ");      textcolor(239);      gotoxy(38,20);      printf(" Restart     ");   1 重新平常 textcolor(240);      gotoxy(36,20);      printf("       ");      textcolor(239);      gotoxy(49,20);      printf(" Restart ");   3 退出选中 textcolor(240);      gotoxy(36,21);      printf("       ");      textcolor(175);      gotoxy(38,21);      printf(" Exit     ");   3 退出平常 textcolor(240);      gotoxy(36,21);      printf("       ");      textcolor(175);      gotoxy(49,21);      printf(" Exit  ");    //  0000000000000000000000000 24    */     shua();     ct(20,19,15,3,207);     printf(" 游戏胜利!");     textcolor(159);     gotoxy(38,19);     printf(" Continue    ");      textcolor(239);     gotoxy(49,20);     printf(" Restart ");     textcolor(175);     gotoxy(49,21);     printf(" Exit  ");     t=2;     an=75;     yx=0;     for(;;)     {      an=getch();      switch(an)      {      case 72:       if(t==2)       {        t=3;      textcolor(240);      gotoxy(36,21);      printf("       ");      textcolor(175);      gotoxy(38,21);      printf(" Exit     ");      textcolor(240);      gotoxy(36,19);      printf("       ");      textcolor(159);      gotoxy(47,19);      printf("  Continue ");      textcolor(240);      gotoxy(36,20);      printf("       ");      textcolor(239);      gotoxy(49,20);      printf(" Restart ");       }       else if(t==1)       {        t=2;        textcolor(240);      gotoxy(36,19);      printf("       ");      textcolor(159);      gotoxy(38,19);      printf(" Continue    ");      textcolor(240);      gotoxy(36,20);      printf("       ");      textcolor(239);      gotoxy(47,20);      printf("  Restart ");      textcolor(240);      gotoxy(36,21);      printf("       ");      textcolor(175);      gotoxy(49,21);      printf(" Exit  ");       }       else       {        t=1;        textcolor(240);      gotoxy(36,20);      printf("       ");      textcolor(239);      gotoxy(38,20);      printf(" Restart     ");      textcolor(240);      gotoxy(36,21);      printf("       ");      textcolor(175);      gotoxy(47,21);      printf("  Exit  ");       textcolor(240);      gotoxy(36,19);      printf("       ");      textcolor(159);      gotoxy(49,19);      printf(" Continue ");       }       break;      case 80:       if(t==2)       {        t=1;         textcolor(240);      gotoxy(36,20);      printf("       ");      textcolor(239);      gotoxy(38,20);      printf(" Restart     ");      textcolor(240);      gotoxy(36,19);      printf("       ");      textcolor(159);      gotoxy(47,19);      printf("  Continue ");      textcolor(240);      gotoxy(36,21);      printf("       ");      textcolor(175);      gotoxy(49,21);      printf(" Exit  ");       }       else if(t==1)       {        t=3;        textcolor(240);      gotoxy(36,21);      printf("       ");      textcolor(175);      gotoxy(38,21);      printf(" Exit     ");      textcolor(240);      gotoxy(36,20);      printf("       ");      textcolor(239);      gotoxy(47,20);      printf("  Restart ");      textcolor(240);      gotoxy(36,19);      printf("       ");      textcolor(159);      gotoxy(49,19);      printf(" Continue ");       }       else       {       t=2;       textcolor(240);      gotoxy(36,19);      printf("       ");      textcolor(159);      gotoxy(38,19);      printf(" Continue    ");      textcolor(240);      gotoxy(36,21);      printf("       ");      textcolor(175);      gotoxy(47,21);      printf("  Exit  ");       textcolor(240);      gotoxy(36,20);      printf("       ");      textcolor(239);      gotoxy(49,20);      printf(" Restart ");       }       break;      case '\r':       yx=1;       break;      }      if(yx==1)      {       yx=0;       break;      }     }     shua();     textcolor(255);     gotoxy(0,0);     textcolor(240);     if(t==2)      printf("Continue  ");     else if(t==1)      printf("Restart  ");     else      printf("Exit   ");     return 0; } 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

才会看到属于自己的那一片晴朗的天空。

2048小游戏C语言实现代码

相关文章:

你感兴趣的文章:

标签云: