From 9e0fbcb360edf9edf7f83c7e3e88bec747433885 Mon Sep 17 00:00:00 2001 From: degwinthegreat Date: Fri, 14 May 2021 21:03:34 +0900 Subject: [PATCH] =?UTF-8?q?=E7=AC=AC=E4=B8=80=E9=83=A8=20=E5=AE=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruby/gilded_rose.rb | 51 ++++++++++++++++++++++++++------------------- 1 file changed, 30 insertions(+), 21 deletions(-) diff --git a/ruby/gilded_rose.rb b/ruby/gilded_rose.rb index 6b7f619c..b375986e 100644 --- a/ruby/gilded_rose.rb +++ b/ruby/gilded_rose.rb @@ -11,27 +11,14 @@ class GildedRose @items = items end - def increment_item_quality(item, num = 1) - item.quality = [item.quality + num, QUALITY_THRESHOLD].min - end - - def first_step(item) - case item.name - when AGED_BRIE - increment_item_quality(item) - when BACKSTAGE_PASS - increment_amount = case item.sell_in - when (11..) then 1 - when (6...11) then 2 - when (...6) then 3 - end - increment_item_quality(item, increment_amount) - else - if item.quality > 0 - item.quality = item.quality - 1 - end - end - end + # - AGED_BRIEは時間とともに品質が上がり、販売期限が過ぎるとさらに品質が上がる + # - SULFURASについては何もしない + # - 通常のitemは徐々に品質が下がり、販売期限が下がるとさらに品質が下がる + # - アイテムの品質は50まで + # - item quority は 0以下にはならないk + # - BACKSTAGE_PASSは、sell in 11 以上のときは + 1 + # - BACKSTAGE_PASSは、sell in 6-10のときは + 2 + # - BACKSTAGE_PASSは、sell in 6 以下のときは + 3 def update_quality() @items.each do |item| @@ -52,6 +39,28 @@ class GildedRose end end end + + def first_step(item) + case item.name + when AGED_BRIE + increment_item_quality(item) + when BACKSTAGE_PASS + increment_amount = case item.sell_in + when (11..) then 1 + when (6...11) then 2 + when (...6) then 3 + end + increment_item_quality(item, increment_amount) + else + if item.quality > 0 + item.quality = item.quality - 1 + end + end + end + + def increment_item_quality(item, num = 1) + item.quality = [item.quality + num, QUALITY_THRESHOLD].min + end end class Item