add standard quality update function

This commit is contained in:
dreddick.home2@gmail.com 2020-11-05 16:52:22 +00:00
parent 6de0629b44
commit 124578588e

View File

@ -15,6 +15,16 @@ func min(x int, y int) int {
return y
}
func max(x int, y int) int {
if x == y {
return x
}
if x > y {
return x
}
return y
}
func UpdateQualityBrie(item *Item) {
defer func() {
item.sellIn--
@ -57,6 +67,20 @@ func UpdateQualityBackstagePasses(item *Item) {
}
func UpdateQualityStandard(item *Item) {
defer func() {
item.sellIn--
}()
if item.sellIn <= 0 {
item.quality = max(item.quality-2, 0)
return
}
item.quality = max(item.quality-1, 0)
}
func UpdateQuality(items []*Item) {
for i := 0; i < len(items); i++ {
@ -74,45 +98,8 @@ func UpdateQuality(items []*Item) {
continue
}
if items[i].name != "Backstage passes to a TAFKAL80ETC concert" {
if items[i].quality > 0 {
items[i].quality = items[i].quality - 1
}
} else {
if items[i].quality < 50 {
items[i].quality = items[i].quality + 1
if items[i].name == "Backstage passes to a TAFKAL80ETC concert" {
if items[i].sellIn < 11 {
if items[i].quality < 50 {
items[i].quality = items[i].quality + 1
}
}
if items[i].sellIn < 6 {
if items[i].quality < 50 {
items[i].quality = items[i].quality + 1
}
}
}
}
}
UpdateQualityStandard(items[i])
items[i].sellIn = items[i].sellIn - 1
if items[i].sellIn < 0 {
if items[i].name != "Aged Brie" {
if items[i].name != "Backstage passes to a TAFKAL80ETC concert" {
if items[i].quality > 0 {
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
}
}
}
}
}