我不是一個熟練的程序員,但每個人都必須從某個地方開始。 我一直在嘗試在紅寶石中製作一個(非常)基本的迷宮類型,但是我在while循環不退出時遇到了困難。條件滿足時循環不會退出(紅寶石)
房間佈置上下顛倒的T:
5 2 103 4
從中央北上兩次@loc應更改爲5,說 「結束」,並退出循環:
elsif @loc == 2
@loc = 5
puts "End"
但它返回到while循環的開始,擱淺玩家。
編輯:有關於代碼的一些混亂,所以我取出塊,指着你 http://pastebin.com/EFWVBAhn
我們需要查看更多的代碼。你的課程是什麼?最有可能在你的'cmd.go_north'中訪問'cmd'的'@ loc'字段,而不是你的迷宮類。但是直到我們看到代碼時才能說出來。 – iamnotmaynard 2013-03-04 23:35:14
當@ loc的值沒有改變時,你如何期待while語句退出?嘗試使用'puts'或其他東西檢查語句開始時該變量的值。 – nicooga 2013-03-04 23:37:24
請縮進,特別是排除故障循環時!它永遠不會退出,因爲'@ loc'永遠不會是'5'。但是你還沒有發佈'@ loc'改變的代碼,所以很難說出問題所在。 – 2013-03-04 23:38:14