これまでに学んだRubyに基づいた追加のクレジット演習として、短いテキストベースのゲームを作成しています。クラス間で変数の読み取りと書き込みを行うのに問題があります。私は多読し、これを行う方法についての説明を探しましたが、あまり運がありませんでした。@
インスタンス変数を使用してみattr_accessible
ましたが、理解できません。これまでの私のコードは次のとおりです。
class Game
attr_accessor :room_count
def initialize
@room_count = 0
end
def play
while true
puts "\n--------------------------------------------------"
if @room_count == 0
go_to = Entrance.new()
go_to.start
elsif @room_count == 1
go_to = FirstRoom.new()
go_to.start
elsif @room_count == 2
go_to = SecondRoom.new()
go_to.start
elsif @room_count == 3
go_to = ThirdRoom.new()
go_to.start
end
end
end
end
class Entrance
def start
puts "You are at the entrance."
@room_count += 1
end
end
class FirstRoom
def start
puts "You are at the first room."
@room_count += 1
end
end
class SecondRoom
def start
puts "You are at the second room."
@room_count += 1
end
end
class ThirdRoom
def start
puts "You are at the third room. You have reached the end of the game."
Process.exit()
end
end
game = Game.new()
game.play
クラスが次に進む部屋を認識できるように、さまざまなクラスに変数をRoom
変更させたいと思います。また、クラスの継承を実装せずにこれを実行しようとしています。ありがとう!@room_count
Game