文本版推箱子遊戲

2021-09-21 01:59:14 字數 2947 閱讀 3321

判斷是否邊界,或者下個位置是否能走,引入下個位置的座標nx,ny

隨著東西越來越多,我們還有終點要判斷,太多的x,y,nx,ny,boxx,boxy在全域性變數裡會容易發生重名,可以用結構體改寫座標。

我們除了把描述乙個物體的資料放在結構體裡,也可以把改變它的動作寫成函式

這樣後續要判斷是否到達目的地也很容易實現,附帶簡單的乙個地圖。

char mp[101][101] = ; //*代表邊界

int main()

return 0;

}

#include #include #include using namespace std;

char mp[101][101] = ; //*代表邊界

int x = 1, y = 1; //o的預設座標1,1

int main()

key = getch(); //a s d w代表四個方向,q退出

}while(key != 'q'); //q代表退出

return 0;

}

#include #include #include using namespace std;

char mp[101][101] = ; //*代表邊界

int x = 1, y = 1; //o的預設座標1,1

int nx, ny; //o的下乙個位置預判

int main()

//重畫

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

key = getch(); //a s d w代表四個方向,q退出

}while(key != 'q'); //q代表退出

return 0;

}

#include #include #include using namespace std;

char mp[101][101] = ; //*代表邊界

int x = 1, y = 1; //o的預設座標1,1

int nx, ny; //o的下乙個位置預判

int boxx = 2, boxy = 2; //盒子座標,用#符號

int nboxx, nboxy; //#的下乙個位置預判

int main()

if(mp[nboxx][nboxy] != '*')

} //重畫

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

key = getch(); //a s d w代表四個方向,q退出

}while(key != 'q'); //q代表退出

return 0;

}

#include #include #include using namespace std;

char mp[101][101] = ; //*代表邊界

struct obj;

obj man, box;

int main()

if(mp[box.nx][box.ny] != '*')

} //重畫

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

key = getch(); //a s d w代表四個方向,q退出

}while(key != 'q'); //q代表退出

return 0;

}

struct obj;

void move(obj &o, int dir)

char next(obj o, int dir)

#include #include #include using namespace std;

char mp[101][101] = ; //*代表邊界

int dx[4] = ; //dir x方向的變化

int dy[4] = ; //dir y方向的變化

struct obj;

void move(obj &o, int dir)

char next(obj o, int dir)

int main()

//程式主體是乙個迴圈

while(1)else if(next(man, dir) == '#')

} system("cls");

//重畫

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

}return 0;

}

#include #include #include using namespace std;

char mp[101][101] = ; //*代表邊界

int dx[4] = ; //dir x方向的變化

int dy[4] = ; //dir y方向的變化

struct obj;

void move(obj &o, int dir)

char next(obj o, int dir)

int main()

//程式主體是乙個迴圈

while(!pass)else if(next(man, dir) == '#') else if(next(box, dir) == '@')

} system("cls");

//重畫

for(int i = 0; i <= 11; i++) }

printf("\nyou win!");

return 0;

}

推箱子遊戲

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

推箱子遊戲

本專案開發環境為vs2017 c 對推箱子遊戲的觀察可以發現,該遊戲就是在乙個頁面對進行移動的操作。因此可以定義乙個二維陣列map,進行初始化。0 空地 1 牆壁 3 箱子的目的地 4 箱子 6 人 7 箱子與目的地重合 9 人在箱子目的地。如下 include include include in...

推箱子遊戲(簡易)

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