diff --git a/Kotlin/src/main/kotlin/com/gildedrose/GildedRose.kt b/Kotlin/src/main/kotlin/com/gildedrose/GildedRose.kt index b74cfd03..49b32a67 100644 --- a/Kotlin/src/main/kotlin/com/gildedrose/GildedRose.kt +++ b/Kotlin/src/main/kotlin/com/gildedrose/GildedRose.kt @@ -6,48 +6,35 @@ class GildedRose(var items: List) { fun updateQuality() { for (i in items.indices) { - if ( - items[i].name != "Aged Brie" && - items[i].name != "Backstage passes to a TAFKAL80ETC concert" && - items[i].name != "Sulfuras, Hand of Ragnaros" - ) { - downGradeQuality(i) - } else { + if (items[i].name == "Backstage passes to a TAFKAL80ETC concert") { upgradeQuality(i) - - if (items[i].name == "Backstage passes to a TAFKAL80ETC concert") { - when { - items[i].sellIn < 6 -> { - upgradeQuality(i) - upgradeQuality(i) - } - - items[i].sellIn < 11 -> { - upgradeQuality(i) - } - } - } - } - - sellItem(i) - - if (items[i].sellIn < 0) { - when (items[i].name) { - "Aged Brie" -> { - upgradeQuality(i) - } - - "Backstage passes to a TAFKAL80ETC concert" -> { + when { + items[i].sellIn < 1 -> { items[i].quality -= items[i].quality } - else -> { - if (items[i].name != "Sulfuras, Hand of Ragnaros") { - downGradeQuality(i) - } + items[i].sellIn < 6 -> { + upgradeQuality(i) + upgradeQuality(i) + } + + items[i].sellIn < 11 -> { + upgradeQuality(i) } } + } else if (items[i].name == "Aged Brie") { + upgradeQuality(i) + if (items[i].sellIn < 1) { + upgradeQuality(i) + } + } else if (items[i].name == "Sulfuras, Hand of Ragnaros") { + upgradeQuality(i) + } else { + downGradeQuality(i) + if (items[i].sellIn < 1) downGradeQuality(i) } + + sellItem(i) } } @@ -61,7 +48,6 @@ class GildedRose(var items: List) { private fun upgradeQuality(i: Int) { if (items[i].quality < 50) items[i].quality += 1 - } }