optimized updateQuality() on Scala

This commit is contained in:
Nurgaliyeva Daneker 2021-01-26 00:01:55 +06:00
parent de2d37904a
commit af0311e103

View File

@ -4,55 +4,34 @@ class GildedRose(val items: Array[Item]) {
def updateQuality() {
for (i <- 0 until items.length) {
if (!items(i).name.equals("Aged Brie")
&& !items(i).name.equals("Backstage passes to a TAFKAL80ETC concert")) {
if (items(i).quality > 0) {
if (!items(i).name.equals("Sulfuras, Hand of Ragnaros")) {
items(i).quality = items(i).quality - 1
}
}
} else {
if (items(i).quality < 50) {
items(i).quality = items(i).quality + 1
items.foreach(item => {
if(item.quality > 0 && item.quality < 50) {
item.name match {
case "Aged Brie" => item.quality += 1
if (items(i).name.equals("Backstage passes to a TAFKAL80ETC concert")) {
if (items(i).sellIn < 11) {
if (items(i).quality < 50) {
items(i).quality = items(i).quality + 1
}
case "Sulfuras, Hand of Ragnaros" => _
case "Backstage passes to a TAFKAL80ETC concert" =>
if(item.sellIn < 0) item.quality = 0
else {
item.quality += 1
if(item.sellIn <= 10) item.quality += 1
if(item.sellIn <= 5) item.quality += 1
}
if (items(i).sellIn < 6) {
if (items(i).quality < 50) {
items(i).quality = items(i).quality + 1
}
}
}
case "Conjured" =>
item.quality -= 2
if(item.sellIn < 0) item.quality -= 2
case _ =>
item.quality -= 1
if(item.sellIn < 0) item.quality -= 1
}
if(item.quality > 50) item.quality = 50
if(item.quality < 0) item.quality = 0
}
if (!items(i).name.equals("Sulfuras, Hand of Ragnaros")) {
items(i).sellIn = items(i).sellIn - 1
}
if (items(i).sellIn < 0) {
if (!items(i).name.equals("Aged Brie")) {
if (!items(i).name.equals("Backstage passes to a TAFKAL80ETC concert")) {
if (items(i).quality > 0) {
if (!items(i).name.equals("Sulfuras, Hand of Ragnaros")) {
items(i).quality = items(i).quality - 1
}
}
} else {
items(i).quality = items(i).quality - items(i).quality
}
} else {
if (items(i).quality < 50) {
items(i).quality = items(i).quality + 1
}
}
}
}
if(!item.name.equals("Sulfuras, Hand of Ragnaros")) item.sellIn -= 1
})
}
}