私はオレンジツリーを作成する必要があるスクリプトを作成しています。指定された方法を実行するたびにツリーの高さが上がり、ツリーの年齢が上がり、ツリー上のオレンジ数も増えます増加する。しかし、一定の時間が過ぎると(それは私の責任です)、その木は死んでいるはずです。だから私のプログラムでは、木が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'メートも '@tree_height> = 15'にすることができます。 then true else false " –