我正在寫一個腳本,我必須創建一個橙樹,每次我運行指定的方法時,樹的高度都會上升,樹的年齡會上升,樹上的桔子數量也會增加。但是在一段時間後(這取決於我)樹應該死亡。所以在我的程序中,我決定如果樹是15英尺或更多,它應該是死的。現在,每次我運用這種方法時,身高,年齡和桔子數量都會增加,一旦身高超過15英尺,我會收到一條消息:「樹已死」,但高度不斷增加。一旦樹死了,我希望它停止。每當用戶運行該方法進入下一年時,我又該如何添加不同的東西?例如,現在每年的高度都上升了3倍,橙子數量增加了4個,年齡上升了1個。我怎樣才能讓桔子的高度和數量每年隨機增加一個數字? (不是太大)這裏是我的代碼。簡單的Ruby類和對象程序
class OrangeTree
def initialize
@tree_height = 0
@no_oranges = 0
@tree_age = 0
end
def firstYear
if @tree_height >= 15 then
puts "Tree is dead"
end
@tree_height = @tree_height + 3
puts "Your orange tree is " + @tree_height.to_s + " feet tall!"
@tree_age = @tree_age + 1
puts "Your orange tree is " + @tree_age.to_s + " year old!"
@no_oranges = @no_oranges + 4
puts "Your orange tree has " + @no_oranges.to_s + " oranges!"
end
def pickOrange
if @no_oranges == 0 then
puts "You can't pick any oranges yet, you have to wait at least a year!" else
puts "How many oranges do you want to taste?" + " Remember you only have " + @no_oranges.to_s + " oranges on your tree!"
pick2 = gets.chomp.to_i
puts "The oranges taste delicious and very refreshing!"
@no_oranges = @no_oranges - pick2
end
end
def isDead
if @tree_height >= 15 then
return true else
return false
end
end
def countOranges
puts "Current number of oranges: " + @no_oranges.to_s
end
end
如果樹死了,你可以放一個'return'調用,這會導致方法提前結束......同時你的'isDead' metod可以是'@tree_height> = 15',沒有理由做「如果 then true else false「 –