Это ломается, потому что Смерть - это класс, и весь код в нем находится в теле класса.Это означает, что этот код будет выполняться, когда класс определен, а не во время вызова death
.
Вы не определили метод с именем death
.
Поскольку класс Death
крошечный, было бы неудобно называть метод, который останавливает игру (Смерть).death, Death.die, Death.run, Death.execute ... Не очень хорошо, и вам не нужны какие-либо преимущества класса (например, несколько экземпляров или атрибуты, хранящиеся в переменных экземпляра), я предлагаю вамсделайте действие death
частью класса Player
.
class Player
# ...
def die
puts "You died"
exit(1)
end
end
Затем, когда вы вызвали death
(текущий неопределенный метод), замените его на player.die
.
Как отмечает @Kennycoc, вам также понадобится определить метод смерти врага.