【发布时间】:2016-02-01 10:33:12
【问题描述】:
首先我只想声明我对 Ruby 很陌生。我是 Dnd 的忠实粉丝,我想根据 Dnd 规则创建一个文字冒险游戏。我遇到的问题(我什至不知道是否可能)是我正在创建一个字符类,并且我希望在类之外分配变量。这样做的原因是我不希望玩家必须输入:
character.new("Havatr", "elf", "tall and lean", "etc")
这只是在实际创建文件之前的一个实验。这是我到目前为止所拥有的:
class Character
attr_reader :name, :race, :description
def initalize (name, race, description)
@name = name
@race = race
@description = description
end
end
def prompt
print "Enter Command >"
end
puts "What is your name?"
prompt; next_move = gets.chomp.downcase
puts "what is your race?"
prompt; next_move = gets.chomp.downcase
puts "What do you look like?"
prompt; next_move = gets.chomp.downcase
player_one = Character.new("#{a}","#{b}","#{c}")
print player_one
如果有办法做到这一点,我可以得到帮助,如果有更好的方法,那么我正在尝试什么,请告诉我。这背后的想法是尝试将类转储到 yaml 文件中以创建字符保存。
当我运行代码时,它是这样的:
What is your name?
Enter Command > Havatr
What is your race?
Enter Command > Elf
What do you look like?
Enter Command > I look like me
C://core_rules0.0.1/Characters.rb:27:in '': undefined local variable or method 'a' for main:Object (NameError)
【问题讨论】:
-
如果您还有其他问题,请将其创建为新问题。如果某个答案解决了您的问题,请将其选为接受的答案。