1
所以我試圖創建一個紅寶石文本遊戲,並且我試圖創建一個可以處理創建任何對象的方法fight
。我在另一個文件中有Monsters
類,子類如Rogue
和Vampire
。我設法通過使用case
語句實例化一個名爲m
的對象,該對象是Rogue
或Vampire
,並將Monsters
類中的幾乎所有方法都放在一起,以便它們共享相同的方法名稱,但效率更高處理未知對象的方式?如何在類動態更改時實例化一個Ruby類的實例?
我的代碼:
def fight(monsterToFight)
case monsterToFight
when "Rogue"
m = ::Rogue.new
when "Vampire"
m = ::Vampire.new
else
puts "error 503"
end
... #more code
鏈接到全回購:https://github.com/chaseWilliams/textGame