推箱子遊戲

2021-10-01 08:36:53 字數 2123 閱讀 4980

​ 本專案開發環境為vs2017+c

​ 對推箱子遊戲的觀察可以發現,該遊戲就是在乙個頁面對進行移動的操作。因此可以定義乙個二維陣列map,進行初始化。0:空地;1:牆壁;3:箱子的目的地;4:箱子;6:人;7;箱子與目的地重合;9:人在箱子目的地。

**如下:

#include#include#include#includeusing namespace std;

//0:空地;1:牆壁;3:箱子的目的地;4:箱子

//6:人;7;箱子與目的地重合;9:人在箱子目的地

int g_map[10][12] = , ,

, ,

, ,

, ,

, };void drawmap();

void up();

void right();

void left();

void down();

//獲取玩家座標

point getgamerpostion();

int main() }

//getchar();

return 0;

}void drawmap()

} printf("\n"); }}

void up()

//2.人的前面是目的地

if (g_map[pos.x - 1][pos.y] == 3)

//3.人的前面是箱子

if (g_map[pos.x - 1][pos.y] == 4)

//b.箱子的前面是目的地

if (g_map[pos.x - 2][pos.y] == 3)

}​ //4.人前面是箱子和目的地的重合

if (g_map[pos.x - 1][pos.y] == 7)

//b.箱子和目的地重合的前面是另乙個目的地

if (g_map[pos.x - 2][pos.y] == 3)

}​ }

void down()

//2.人的前面是目的地

if (g_map[pos.x + 1][pos.y] == 3)

//3.人的前面是箱子

if (g_map[pos.x + 1][pos.y] == 4)

//b.箱子的前面是目的地

if (g_map[pos.x + 2][pos.y] == 3)

} //4.人前面是箱子和目的地的重合

if (g_map[pos.x + 1][pos.y] == 7)

//b.箱子和目的地重合的前面是另乙個目的地

if (g_map[pos.x + 2][pos.y] == 3)

}}void left()

//2.人的前面是目的地

if (g_map[pos.x ][pos.y-1] == 3)

//3.人的前面是箱子

if (g_map[pos.x ][pos.y-1] == 4)

//b.箱子的前面是目的地

if (g_map[pos.x ][pos.y-2] == 3)

} //4.人前面是箱子和目的地的重合

if (g_map[pos.x ][pos.y-1] == 7)

//b.箱子和目的地重合的前面是另乙個目的地

if (g_map[pos.x ][pos.y-2] == 3)

}}void right()

//2.人的前面是目的地

if (g_map[pos.x][pos.y + 1] == 3)

//3.人的前面是箱子

if (g_map[pos.x][pos.y + 1] == 4)

//b.箱子的前面是目的地

if (g_map[pos.x][pos.y + 2] == 3)

} //4.人前面是箱子和目的地的重合

if (g_map[pos.x][pos.y + 1] == 7)

//b.箱子和目的地重合的前面是另乙個目的地

if (g_map[pos.x][pos.y + 2] == 3)

}}point getgamerpostion()

; for (int i = 0; i < 10; i++)

}} return pos;

}

推箱子遊戲

大一寒假 1.寫 時我犯了乙個很大的錯誤 不然早就搞定了 把 與 混淆了 大忌啊 2.這裡實現了數位化編碼 3.上72 下80 左75 右77 4.特殊圖形可以到qq拼音符號裡獲取 include include include define x 1 人的位置 define y 5 define n...

推箱子遊戲(簡易)

標頭檔案 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...

C 推箱子遊戲(一)

準備 c c 基礎 code blocks 第一次嘗試 自製地圖 將地圖在控制台顯示出來並控制中心位置的圖案移動 include include include using namespace std void start map int a 7 7 將陣列對應的地圖顯示出來 int man mov...