我不是一个熟练的程序员,但每个人都必须从某个地方开始。 我一直试图在ruby中创建一个(非常)基本的迷宫类型,但是我很难在while循环中退出。
房间布局是颠倒的:
5 2 103 4
从中心向北两次将@loc更改为5,说“结束”,然后退出循环:
elsif @loc == 2
@loc = 5
puts "End"
但它会回到while循环的开头,让玩家陷入困境。
编辑:关于代码存在一些混淆,所以我正在移除块并指向您 http://pastebin.com/EFWVBAhn答案 0 :(得分:1)
该行
while @loc != 5
正在访问未更改的变量。更改发生在cmd.loc
,这不是同一个变量。该行必须
while cmd.loc != 5
以访问变量。
您还需要引用字符串(例如if command == west
应为if command == "west"
);否则你告诉Ruby要比较一个名为west
的变量,它不存在,而不是字符串“west”。