中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用C/C++怎么制作一個推箱子小游戲

發布時間:2021-06-01 16:06:23 來源:億速云 閱讀:161 作者:Leah 欄目:開發技術

使用C/C++怎么制作一個推箱子小游戲?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

運行示例:

使用C/C++怎么制作一個推箱子小游戲

以下為完整代碼:

/*

推箱子(示例二)


*/
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <conio.h>
int main()
{
 char a[12][12]={"##########",
     "##     ###",
                    "##O###   #",
                    "# S O  O #",
                    "# **# O ##",
                    "##**#   ##",
                    "##########",
                   };
    int x=3,y=2;
    int i;
    char ch;
    for(i=0;i<7;i++)
    puts(a[i]);
    
    while(a[4][2]!='@'||a[4][3]!='@'||a[5][2]!='@'||a[5][3]!='@')
    {
     
  ch=getch();
     if(ch=='s')
     {
         if(a[x+1][y]!='#'&&a[x+1][y]!='O'&&a[x+1][y]!='@') //如果只有人,沒有箱子 
      {
       a[x][y]=' ';
       x++;
       a[x][y]='S';
   }
   else if(a[x+2][y]!='#'&&a[x+1][y]=='O'&&a[x+2][y]!='*') //如果是箱子和人一起走 
   {
    a[x][y]=' ';
    x++;
    a[x][y]='S';
    a[x+1][y]='O';
   }
   else if(a[x+2][y]!='#'&&(a[x+1][y]=='O'||a[x+1][y]=='@')&&a[x+2][y]=='*') //如果人和箱子一起走,并且前面是終點      
   {
    a[x][y]=' ';
    x++;
    a[x][y]='S'; 
    a[x+1][y]='@';
   }
  }
  
  if(ch=='w')
     {
      
      if(a[x-1][y]!='#'&&a[x-1][y]!='O'&&a[x-1][y]!='@') //如果只有人,沒有箱子 
      {
       a[x][y]=' ';
       x--;
       a[x][y]='S';
       
   }
   else if(a[x-2][y]!='#'&&a[x-1][y]=='O'&&a[x-2][y]!='O') //如果是箱子和人一起走 
   {
    a[x][y]=' ';
    x--;
    a[x][y]='S';
    a[x-1][y]='O';

   }
   else if(a[x-2][y]!='#'&&(a[x-1][y]=='O'||a[x-1][y]=='@')&&a[x-2][y]=='*')  //如果人和箱子一起走,并且前面是終點      
   {
    a[x][y]=' ';
    x--;
    a[x][y]='S'; 
    a[x-1][y]='@';
   }
  }
  if(ch=='a')
     {
      
      if(a[x][y-1]!='#'&&a[x][y-1]!='O'&&a[x][y-1]!='@') //如果只有人,沒有箱子 
      {
       a[x][y]=' ';
       y--;
       a[x][y]='S';
       
   }
   else if(a[x][y-2]!='#'&&a[x][y-1]=='O') //如果是箱子和人一起走 
   {
    a[x][y]=' ';
    y--;
    a[x][y]='S';
    a[x][y-1]='O';
   }
   else if(a[x][y-2]!='#'&&(a[x][y-1]=='O'||a[x][y-1]=='@')&&a[x][y-2]=='*') //如果人和箱子一起走,并且前面是終點      
   {
    a[x][y]=' ';
    y--;
    a[x][y]='S'; 
    a[x][y-1]='@';
   }
  }
  if(ch=='d')
     {
      
      if(a[x][y+1]!='#'&&a[x][y+1]!='O'&&a[x][y+1]!='@') //如果只有人,沒有箱子 
      {
       a[x][y]=' ';
       y++;
       a[x][y]='S';
       
   }
   else if(a[x][y+2]!='#'&&a[x][y+1]=='O'&&a[x][y+2]!='O') //如果是箱子和人一起走 
   {
    a[x][y]=' ';
    y++;
    a[x][y]='S';
    a[x][y+1]='O';
   }
   else if(a[x][y+2]!='#'&&(a[x][y+1]=='O'||a[x][y+1]=='@')&&a[x][y+2]=='*'&&a[x][y+2]!='O')   //如果人和箱子一起走,并且前面是終點      
   {
    a[x][y]=' ';
    y++;
    a[x][y]='S'; 
    a[x][y+1]='@';
   }
  }
  if(a[4][2]!='@'&&a[4][2]!='S'&&a[4][2]!='*')
     {
      a[4][2]='*';
  }
  if(a[4][3]!='@'&&a[4][3]!='S'&&a[4][3]!='*')
     {
      a[4][3]='*';
  }
  if(a[5][2]!='@'&&a[5][2]!='S'&&a[5][2]!='*')
     {
      a[5][2]='*';
  }
  if(a[5][3]!='@'&&a[5][3]!='S'&&a[5][3]!='*')
     {
      a[5][3]='*';
  }
  if(a[1][2]=='O'||a[1][6]=='O'||a[2][8]=='O'||a[3][8]=='O'||a[5][5]=='O'||a[5][7]=='O')              //判斷失敗的情況 
  {
   break;
  }
  system("cls");
  for(i=0;i<7;i++)
     puts(a[i]);
 }
 system("cls");
 if(a[4][2]!='@'||a[4][3]!='@'||a[5][2]!='@'||a[5][3]!='@')
    printf("YOU LOSE!");
    else
    printf("YOU WIN!");
    Sleep(3000);
    
 return 0;
}

看完上述內容,你們掌握使用C/C++怎么制作一個推箱子小游戲的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

开鲁县| 武川县| 凌海市| 东乡族自治县| 山西省| 荔浦县| 钟祥市| 双峰县| 武宁县| 磴口县| 岑溪市| 高碑店市| 德令哈市| 儋州市| 沙田区| 涟水县| 巴中市| 延庆县| 进贤县| 施秉县| 万荣县| 灵山县| 韩城市| 乌恰县| 尚义县| 灵石县| 拜泉县| 绍兴县| 依兰县| 桦川县| 黑龙江省| 海林市| 高尔夫| 环江| 灵山县| 四平市| 平罗县| 孝昌县| 丰宁| 永康市| 岐山县|