mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-15 22:41:30 +00:00
第一部 完
This commit is contained in:
parent
82a80bc043
commit
9e0fbcb360
@ -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
|
||||
|
||||
Loading…
Reference in New Issue
Block a user