判斷是否邊界,或者下個位置是否能走,引入下個位置的座標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...