學習軌道
/
WebAssembly
WebAssembly
/
練習
/
機器人模擬器
機器人模擬器

機器人模擬器

中等

說明

撰寫一個機器人模擬器。

某間機器人工廠的測試設施需要一支程式來驗證機器人的移動。

機器人有三種可能的移動:

  • 向右轉
  • 向左轉
  • 前進

機器人會被放在一個假想的無限網格上,面朝某個特定方向(北、東、南或西),並位於一組 {x,y} 座標上,例如 {3,8},座標值往北和往東遞增。

接著機器人會收到一連串指令,此時測試設施會驗證機器人的新位置,以及它面朝哪個方向。

  • 字母字串 "RAALAL" 的意思是:
    • 向右轉
    • 前進兩次
    • 向左轉
    • 前進一次
    • 再一次向左轉
  • 假設機器人從 {7, 3} 出發,面朝北方。 那麼執行這串指令後,它應該會停在 {9, 4},面朝西方。

機器人面對的方向會以下列其中一個數字表示:

  • 北 = 0
  • 東 = 1
  • 南 = 2
  • 西 = 3

當輸入無效時,回傳 -1 作為方向(其他數值會被忽略)。

保留記憶體

輸入字串的緩衝區使用線性記憶體的第 64-319 個位元組。

需要的話,可以修改輸入字串。


出處

靈感來自某知名公司的面試題目。
透過 GitHub 編輯 連結會在新視窗或分頁中開啟
WebAssembly Exercism

準備好開始 機器人模擬器 了嗎?

註冊 Exercism,透過 87 個練習 和真人引導來學習並精通 WebAssembly,全部免費。