Я довольно новичок в Ruby и создаю программу, которая в основном работает как интерактивный сад, где пользователь будет вводить, какой тип дерева он хочет вырастить, а затем давать команды для полива, обрезки, сбора и сбора дерева,
Проблема, с которой я сталкиваюсь, заключается в том, что я пытаюсь заставить программу запрашивать команды, пока дерево не умрет, что происходит на определенной высоте.Высота определяется в переменной экземпляра внутри класса, и я не могу понять, как заставить программу отслеживать эту переменную вне класса, чтобы она продолжала запрашивать команду, пока не будет достигнуто определенное значение.
Приведенный ниже код - это начало и конец кода, но не средние части, которые работают нормально.Каждая из команд внизу работает один раз, но затем программа заканчивается.Любая помощь будет оценена.
class Orangetree
def initialize name
@name = name
@height = 0
@branches = 0
@winter = false
@orangesontree = 0
@orangesinbasket = 0
@timeOfyear = 0
puts @name + 'Just Sprouted! What would you like to do with him?'
end
puts 'Welcome to the Orchard! What would you like to grow today?'
reply = gets.chomp
while reply != 'oranges'
puts 'I am sorry, we do not have that kind of tree, try again'
gets.chomp
end
oranges = Orangetree.new 'Woody '
while Orangetree |@height| <= 61
command = gets.chomp
if command == 'water'
puts oranges.rain
end
if command == 'pick'
puts oranges.pick
end
if command == 'prune'
puts oranges.prune
end
if command == 'harvest'
puts oranges.harvest
end
end