国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C語言實現推箱子小游戲

2020-05-23 13:25:21
字體:
來源:轉載
供稿:網友

本文實例為大家分享了C語言實現推箱子游戲的具體代碼,供大家參考,具體內容如下

#include<stdio.h>#include<string.h>#include<stdlib.h>#define N 1000/*r目的地 o箱子 i人 x墻  路(空格) w上 a左 d右 s下 */void menu();int level1();int level2();void swap(char*,char*);int opera(char *p,int *ren,int xzs);void dituprint();  void menu(){  printf("推箱子/n");  printf("1.新游戲   2.選關/n");  printf("0.退出/n");}  void xuanguan(){  int choice_level;  while(1)  {  printf("請選擇關卡:/n");  scanf("%d",&choice_level);  switch(choice_level)  {  case 1:   level1();   break;  case 2:   level2();   break;  default:    printf("輸入錯誤,請重新選擇關卡!");     }  }}    void swap(char *a,char *b)  {      char ch;   ch=*a;   *a=*b;   *b=ch;   }     void dituprint(char *p)  {     for(int i=0;i<9;i++)   {     for(int j=0;j<9;j++)     printf("%3c",p[i*9+j]);     printf("/n");     }   }  int opera(char *p,int *ren,int xzs)  {   dituprint(p);   while(1)   {   for(int i=1,panduan=0;i<=xzs;i++)    {    if(p[ren[i]]=='o')     {      panduan+=1;      printf("panduan=%d/n",panduan);     }    if(panduan==xzs)     {     printf("恭喜你,過關啦!");     getchar();     return 0;      }    }   char ch;   printf("你的按鍵是:");   scanf("%c",&ch);   switch(ch)   {   case 'w':    {    if(p[ren[0]]=='r')     {     if(p[ren[0]-9]=='r')      {      ren[0]-=9;      p[ren[0]='i'];      p[ren[0]+9]='r';      break;      }     if(p[ren[0]-9]=='x')      {      printf("人碰到墻了 換按其他鍵1哇>>>>>");      break;      }     if(p[ren[0]-9]==' ')      {      ren[0]-=9;      p[ren[0]='i'];      p[ren[0]-9]='r';      break;      }      if(p[ren[0]-9]=='o')      {       if(p[ren[0]-18]=='x'||'o')       printf("箱子碰到了 換按其他鍵1哇>>>>>");break;        if(p[ren[0]-18]=='r')         {         p[ren[0]-18]='o';         p[ren[0]-9]='i';         p[ren[0]]='r';         ren[0]-=9;         break;                              }        if(p[ren[0]-18]=='o')         printf("推不動誒 換按其他鍵1哇>>>>>");break;        if(p[ren[0]-18]==' ')         {         swap(&p[ren[0]-9],&p[ren[0]-18]);         swap(&p[ren[0]],&p[ren[0]-9]);         p[ren[0]]='r';         ren[0]-=9;         break;         }           }          }      else       {       if(p[ren[0]-9]=='x')        {         printf("人碰到墻了 換按其他鍵2>>>>>");         break;        }       if(p[ren[0]-9]==' ')        {         swap(&p[ren[0]],&p[ren[0]-9]);         ren[0]-=9;         break;                        }        if(p[ren[0]-9]=='o')        {         if(p[ren[0]-18]=='o'||p[ren[0]-18]=='x')         {          printf("走不動了 換按其他鍵哇。。。。/n");          break;         }         if(p[ren[0]-18]=='r')         {          p[ren[0]-18]='o';          p[ren[0]-9]='i';          p[ren[0]]=' ';          ren[0]-=9;          break;          }        }            }     }     break;    case 'a':      {       if(p[ren[0]]=='r')       {       if(p[ren[0]-1]=='r')       {            ren[0]-=1;            p[ren[0]]='i';            p[ren[0]+1]='r';            break;            }       if(p[ren[0]-1]=='x')       {            printf("人碰到墻了 換按其他鍵1哇>>>>>");            break;            }       if(p[ren[0]-1]==' ')       {            ren[0]-=1;            p[ren[0]]='i';            p[ren[0]+9]='r';            break;            }       if(p[ren[0]-1]=='o')       {            if(p[ren[0]-2]=='o'||p[ren[0]-2]=='x')            {             printf("走不動了 換按其他鍵娃娃。。。。。/n");             break;            }            if(p[ren[0]-2]=='r')            {                 p[ren[0]-2]='o';                 p[ren[0]-1]='i';                 p[ren[0]]=' ';                 ren[0]-=1;                 break;                 }            if(p[ren[0]-2]==' ')            {                p[ren[0]-2]='o';                p[ren[0]-1]='i';                p[ren[0]]=' ';                ren[0]-=1;                break;                }            }            }        }       break;       case 's':        {         if(p[ren[0]]=='r')         {            if(p[ren[0]+9]=='r')            {                 ren[0]+=9;                 p[ren[0]]='i';                 p[ren[0]-9]='r';                 break;                 }            if(p[ren[0]+9]=='x')            {                 printf("人碰到墻了 換按其他鍵1哇>>>>>");                 break;                 }            if(p[ren[0]+9]==' ')            {                 ren[0]+=9;                 p[ren[0]]='i';                 p[ren[0]+9]='r';                 break;                 }            if(p[ren[0]+9]=='o')            {                 if(p[ren[0]+18]=='x'||'o')                 {                  printf("箱子碰到墻了 換按其他鍵1哇>>>>>");break;                 if(p[ren[0]+18]=='r')                 {                  p[ren[0]+18]='o';                  p[ren[0]+9]='i';                  p[ren[0]]='r';                  ren[0]+=9;                  break;                   }                 if(p[ren[0]+18]=='o')                 printf("推不動哎 換按其他鍵1哇>>>>>");break;                 if(p[ren[0]+18]==' ')                 {                  swap(&p[ren[0]+9],&p[ren[0]+18]);                  swap(&p[ren[0]],&p[ren[0]-9]);                  p[ren[0]]='r';                  ren[0]+=9;                  break;                 }                 }                 }            else            {             if(p[ren[0]+9]=='x')             {                  printf("人碰到墻了,換按其他鍵哇2>>>>>");                  break;                  }             if(p[ren[0]+9]==' ')             {                  swap(&p[ren[0]],&p[ren[0]+9]);                  ren[0]+=9;                  break;                  }             if(p[ren[0]+9]=='o')             {                  if(p[ren[0]+18]=='o'||p[ren[0]+18]=='x')                  {                   printf("走不動了,換按其他鍵哇。。。。。/n");                   break;                           }                  if(p[ren[0]+18]=='r')                  {                   p[ren[0]+18]='o';                   p[ren[0]+9]='i';                   p[ren[0]]=' ';                   ren[0]+=9;                   break;                    }                  if(p[ren[0]+18]==' ')                  {                   p[ren[0]+18]='o';                   p[ren[0]+9]='i';                   p[ren[0]]=' ';                   ren[0]+=9;                   break;                    }                  }             }              }              break;              case'd':                {                  if(p[ren[0]]=='r')                  {                   if(p[ren[0]+1]=='r')                   {                     ren[0]+=1;                     p[ren[0]]='i';                     p[ren[0]-1]='r';                     break;                   }                   if(p[ren[0]+1]=='x')                   {                     printf("人碰到墻了 換按其他鍵1哇>>>>>");                     break;                   }                   if(p[ren[0]+1]==' ')                   {                     ren[0]+=1;                     p[ren[0]]='i';                     p[ren[0]-1]='r';                     break;                   }                   if(p[ren[0]+1]=='o')                   {                     if(p[ren[0]+2]=='x'||'o')                     printf("箱子碰到墻了 換按其他鍵1哇>>>>>>");                     break;                     if(p[ren[0]+2]=='r')                     {                     p[ren[0]+2]='o';                     p[ren[0]+1]='i';                     p[ren[0]]='r';                     p[0]+=1;                     break;                     }                     if(p[ren[0]+2]=='o')                     printf("推不動誒 換按其他鍵1哇>>>>>");break;                     if(p[ren[0]+2]==' ')                     {                     swap(&p[ren[0]+1],&p[ren[0]+2]);                     swap(&p[ren[0]],&p[ren[0]-1]);                     p[ren[0]]='r';                     ren[0]+=1;                     break;                      }                    }                  }                  else                  {                   if(p[ren[0]+1]=='x')                   {                     printf("人碰到墻了,換按其他鍵哇2>>>>>");                     break;                   }                   if(p[ren[0]+1]==' ')                   {                     swap(&p[ren[0]],&p[ren[0]+1]);                     ren[0]+=1;                     break;                   }                   if(p[ren[0]+1]=='o')                   {                    if(p[ren[0]+2]=='o'||p[ren[0]+2]=='x')                    {                     printf("走不動了!換按其他鍵哇。。。。。");                     break;                     }                    if(p[ren[0]+2]=='r')                    {                     p[ren[0]+2]='o';                     p[ren[0]+1]='i';                     p[ren[0]]=' ';                     ren[0]+=1;                     break;                     }                    if(p[ren[0]+2]==' ')                    {                     p[ren[0]+2]='o';                     p[ren[0]+1]='i';                     p[ren[0]]=' ';                     ren[0]+=1;                     break;                     }                        }                   }                }                break;                default:printf("操作錯誤!請確認后再重新操作。。。。。");          }         dituprint(p);     }      /*int panduan=0;     for(int i=1;i<xzs;i++)     {       if(p[ren[0]]=='o')panduan++;     }     if(panduan=(xzs-1)){getchar();break;}*/     }     return 0;   }      int level1()   {    printf("第一關/n");    char ditu1[9*9]={    '0','1','2','3','4','5','6','7','8',    '1',' ',' ','x','x','x',' ',' ',' ',    '2',' ',' ','x','r','x',' ',' ',' ',    '3',' ',' ','x',' ','x','x','x','x',    '4','x','x','x','o','x','o','r','x',    '5','x','r',' ','o','i','x','x','x',    '6','x','x','x','x','o','x',' ',' ',    '7',' ',' ',' ','x','r','x',' ',' ',    '8',' ',' ',' ','x','x','x',' ',' ',         };    int ren1[5]={50,22,47,43,68};    opera(ditu1,ren1,4);    level2();    return 0;   }       int level2()   {    printf("歡迎來到第二關/n");    char ditu1[9*9]={    '0','1','2','3','4','5','6','7','8',    '1',' ',' ','x','x','x',' ',' ',' ',    '2',' ',' ','x','r','x',' ',' ',' ',    '3',' ',' ','x',' ','x','x','x','x',    '4','x','x','x','o','x','o','r','x',    '5','x','r',' ','o','i','x','x','x',    '6','x','x','x','x','o','x',' ',' ',    '7',' ',' ',' ','x','r','x',' ',' ',    '8',' ',' ',' ','x','x','x',' ',' ',         };    int ren1[5]={50,22,47,43,68};    opera(ditu1,ren1,4);    level1();    return 0;    }   int main()   {    int choice;    menu();    while(1)    {      scanf("%d",&choice);      switch(choice)      {      case 0:       exit(0);      case 1:       {       level1();       break;       }      case 2:       {       xuanguan();       break;       }       default:       {       printf("操作錯誤!請確認正確后操作。。。。。/n");       }       }    }      getchar();      return 0;   } 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 青神县| 大宁县| 广水市| 平远县| 荔波县| 车险| 那坡县| 长顺县| 个旧市| 邢台市| 宝坻区| 安阳市| 常熟市| 静宁县| 乐东| 胶南市| 景谷| 定南县| 石河子市| 保康县| 德钦县| 宁安市| 广丰县| 贡觉县| 灌南县| 三都| 盈江县| 象州县| 滁州市| 双鸭山市| 德州市| 进贤县| 洪洞县| 大新县| 珲春市| 望都县| 民和| 文山县| 手游| 孙吴县| 朝阳市|