item static property + inc / dec method

This commit is contained in:
Ludwig V 2021-11-11 16:44:50 +01:00
parent b7eaf1987a
commit fe88e7068e

View File

@ -10,7 +10,8 @@ export class Item {
this.quality = quality this.quality = quality
} }
static normalMaxQuality = 50 static maxQualityThreshold = 50
static minQualityThreshold = 0
static legendaryQuality = 80 static legendaryQuality = 80
} }
@ -28,7 +29,7 @@ export class GildedRose {
return ( return (
item.name != 'Aged Brie' && item.name != 'Aged Brie' &&
item.name != 'Backstage passes to a TAFKAL80ETC concert' && item.name != 'Backstage passes to a TAFKAL80ETC concert' &&
item.quality > 0 item.quality > Item.minQualityThreshold
) )
} }
@ -36,6 +37,14 @@ export class GildedRose {
return item.name === 'Sulfuras, Hand of Ragnaros' return item.name === 'Sulfuras, Hand of Ragnaros'
} }
incrementQuality(item: Item) {
return item.quality + 1
}
decrementQuality(item: Item) {
return item.quality - 1
}
updateQuality() { updateQuality() {
this.items.forEach(item => { this.items.forEach(item => {
if (this.isLegendayProduct(item)) { if (this.isLegendayProduct(item)) {
@ -46,16 +55,16 @@ export class GildedRose {
if (this.shouldDecreaseQuality(item)) { if (this.shouldDecreaseQuality(item)) {
item.quality = item.quality - 1 item.quality = item.quality - 1
} else { } else {
if (item.quality < 50) { if (item.quality < Item.maxQualityThreshold) {
item.quality = item.quality + 1 item.quality = item.quality + 1
if (currentProductName == 'Backstage passes to a TAFKAL80ETC concert') { if (currentProductName == 'Backstage passes to a TAFKAL80ETC concert') {
if (item.sellIn < 11) { if (item.sellIn < 11) {
if (item.quality < 50) { if (item.quality < Item.maxQualityThreshold) {
item.quality = item.quality + 1 item.quality = item.quality + 1
} }
} }
if (item.sellIn < 6) { if (item.sellIn < 6) {
if (item.quality < 50) { if (item.quality < Item.maxQualityThreshold) {
item.quality = item.quality + 1 item.quality = item.quality + 1
} }
} }
@ -68,14 +77,14 @@ export class GildedRose {
if (item.sellIn < 0) { if (item.sellIn < 0) {
if (currentProductName != 'Aged Brie') { if (currentProductName != 'Aged Brie') {
if (currentProductName != 'Backstage passes to a TAFKAL80ETC concert') { if (currentProductName != 'Backstage passes to a TAFKAL80ETC concert') {
if (item.quality > 0) { if (item.quality > Item.minQualityThreshold) {
item.quality = item.quality - 1 item.quality = item.quality - 1
} }
} else { } else {
item.quality = item.quality - item.quality item.quality = item.quality - item.quality
} }
} else { } else {
if (item.quality < 50) { if (item.quality < Item.maxQualityThreshold) {
item.quality = item.quality + 1 item.quality = item.quality + 1
} }
} }