本專案開發環境為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...