下面看起來不起作用,但我不太清楚爲什麼。所有的移動板都是採用二維數組並返回一個二維數組,其餘的代碼都在那裏。基本上我試圖完成類似下面的Python:處理stdin Clojure
While True:
do stuff
if gameover:
print("Game Over!")
break
的Clojure不工作(打印一次董事會,請求輸入,然後掛起)
(defn game-loop [board]
(loop [b board]
(if (game-over? b) "Game Over!"
(do (print-board b)
(recur (move-board (read-line) b))))))
您可以試着單獨將'read-line'的結果分開並打印出來,看看'read-line'是否返回。另一個要檢查的地方是你的「遊戲結束?」功能;它是無限循環的嗎? –