房間是n
行n列的矩陣,其中0代表空的地板,1代表牆,2代表箱子的起始位置,3代表箱子要被推去的位置,4代表搬運工的起始位置,求最後搬運工推箱子的步數。
問題實質就是五個狀態:箱子的位置(bx,by),人的位置(px,py),推箱子的步數。然後用廣搜去一一搜尋。
#include #include #include using namespace std;
struct node
;void readdata();//讀取矩陣
void bfs();//廣搜
int m[10][10];//矩陣
bool flag[10][10][10][10];//標記陣列,標記每個狀態箱子和人的座標
int a[4][2] = ,,,};//四個方向的移動座標
int n;//矩陣的大小
int ex,ey;//箱子終點座標
int bx,by;//箱子起點座標
int sx,sy;//人的起點座標
node current,next;
void readdata()
}for(int i = 0; i < n; i++)
if(m[i][j] == 3)
if(m[i][j] == 4)}}
}void bfs()
for(int i = 0;i < 4;i++)
}//人沒有推動箱子
else}}
} }cout << "no path!" << endl;
}int main()
簡易版推箱子
最近學了一些c語言的視覺化程式設計,因此編了小遊戲玩玩,途中也遇到了一些問題,要記得放的時候要把存在資料夾裡,這些可以只寫相對路徑,不然如果直接寫相對路徑而又忘記把放在資料夾裡就不能夠顯示出想要的結果。廢話了這麼多,是時候上 了 include include includeimage backim...
推箱子遊戲(簡易)
標頭檔案 boxman.h define key up w define key down s define key left a define key right d define key quite q define map x 9 define map y 12 define ratio 61...
推箱子(歐冠版)
簡單遊戲推箱子,老樣子。分檔案編寫 ifndef box h define box h include include 該標頭檔案只在cpp檔案中使用 畫圖標頭檔案 include 清屏 標頭檔案 include 聲音輸入 pragma comment lib,winmm.lib pragma wa...