搜索
查看: 191|回复: 0
打印 上一主题 下一主题

怎么写推箱子,这是我写的代码,不是多完整。

[复制链接]
跳转到指定楼层
楼主
 楼主| 发表于 2020-2-14 16:31:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <windows.h>
  4. int main()
  5. {
  6.     system("color 0a");
  7.     char a[50][50]={"   ###",
  8.                     "   #*#",
  9.                     "   # #",
  10.                     "####O######",
  11.                     "#*  OS O *#",
  12.                     "#####O#####",
  13.                     "    # #    ",
  14.                     "    #*#    ",
  15.                     "    ###    ",};
  16.     int i,x,y,p,q,h,g,c,d,e,f;
  17.     char ch;
  18.     x=4;y=5;
  19.     p=3;q=4;
  20.     h=4;g=4;
  21.     c=4;d=7;
  22.     e=5;f=5;
  23.     for(i=0;i<=8;i++)
  24.     {
  25.         puts(a[i]);
  26.     }
  27.     while(1)
  28.     {
  29.         ch=getch();
  30.         if(ch=='s')
  31.         {
  32.             if(a[x+1][y]!='#')
  33.             {
  34.                 a[x][y]=' ';
  35.                 x++;
  36.                 a[x][y]='S';
  37.             }
  38.                 if(a[e+1][f]!='O')
  39.                 {
  40.                     a[e][f]='S';
  41.                     e++;
  42.                     a[e][f]='O';
  43.                 }
  44.             
  45.                 if(a[e+2][f]=='*')
  46.                 {
  47.                     a[e][f]='S';
  48.                     e++;
  49.                     a[e][f]='O';
  50.                 }
  51.         }
  52.         
  53.         if(ch=='a')
  54.         {
  55.             if(a[x][y-1]!='#')
  56.             {
  57.                 a[x][y]=' ';
  58.                 y--;
  59.                 a[x][y]='S';
  60.             }
  61.             if(a[h][g-1]!='O')
  62.             {
  63.                 a[h][g]='S';
  64.                 g--;
  65.                 a[h][g]='O';
  66.             }
  67.             if(a[h][g-2]=='*')
  68.             {
  69.                 a[h][g]='S';
  70.                 g--;
  71.                 a[h][g]='O';
  72.             }
  73.         }
  74.    
  75.         system("cls");
  76.         for(i=0;i<=8;i++)
  77.         {
  78.             puts(a[i]);
  79.         }
  80.     }
  81.         Sleep(5000);
  82.         return 0;
  83.     }
  84.    
  85.    
  86.    
  87.    
  88.    
  89.    
  90.    
  91.    
  92.    
  93.    
  94.    
  95.    
  96.    
  97.    
  98.    
  99.    
  100.    
  101.    
  102.    
  103.    
  104.    
  105.    
  106.    




复制代码

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表