Remove redundant if/when

This commit is contained in:
Denys 2025-05-11 18:44:08 +12:00
parent c3c409a500
commit 2537f5c844

View File

@ -6,48 +6,35 @@ class GildedRose(var items: List<Item>) {
fun updateQuality() { fun updateQuality() {
for (i in items.indices) { for (i in items.indices) {
if ( if (items[i].name == "Backstage passes to a TAFKAL80ETC concert") {
items[i].name != "Aged Brie" &&
items[i].name != "Backstage passes to a TAFKAL80ETC concert" &&
items[i].name != "Sulfuras, Hand of Ragnaros"
) {
downGradeQuality(i)
} else {
upgradeQuality(i) upgradeQuality(i)
when {
if (items[i].name == "Backstage passes to a TAFKAL80ETC concert") { items[i].sellIn < 1 -> {
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" -> {
items[i].quality -= items[i].quality items[i].quality -= items[i].quality
} }
else -> { items[i].sellIn < 6 -> {
if (items[i].name != "Sulfuras, Hand of Ragnaros") { upgradeQuality(i)
downGradeQuality(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<Item>) {
private fun upgradeQuality(i: Int) { private fun upgradeQuality(i: Int) {
if (items[i].quality < 50) items[i].quality += 1 if (items[i].quality < 50) items[i].quality += 1
} }
} }