給定一個 5×5 的二維陣列 map 與一個長度為 10 的 enum 型別陣列。map 中的 'x' 代表玩家的位置,字元 '#' 代表障礙物,enum型別陣列中movement的每個元素代表接下來的移動方向。玩家將依序執行這 10 個移動指令,並更新最終位置,移動方向遇到障礙物時則不移動至該方向。
給定主要執行程式main.c (題號.c)、以及Header檔function.h (題號.h);請試著完成Header檔中未實現的函式:mapMove()
function.h:
enum Move(其中包含四個移動方向)
Methods:
- void mapMove(char map[5][5], enum Move *movement) – 將傳入5*5二維陣列map,和enum陣列的第一個位址的指標;找出移動後抵達的位置,並印出,若移動超出地圖範圍,請輸出"Out of Boundary!”
hint:
function.c
輸入符合以下格式
map
movement
Note:
(詳見Sample Input)
輸出符合以下格式:
移動距離在地圖內:(印出地圖以及人移動後的位置)
--#--
-----
--x--
---#-
-----
移動距離超過地圖:
Out of Boundary!
Note: