温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

2048小游戏怎么使用C语言实现

发布时间:2021-05-28 12:27:36 来源:亿速云 阅读:234 作者:小新 栏目:编程语言

这篇文章将为大家详细讲解有关2048小游戏怎么使用C语言实现,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

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

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

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

2048小游戏怎么使用C语言实现2048小游戏怎么使用C语言实现

2048小游戏怎么使用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语言实现”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI