refactoring duplicated Logic

This commit is contained in:
Christos Giannouris 2022-11-14 13:51:58 +01:00
parent 8c0a90a544
commit dc21f1c2bd

View File

@ -21,47 +21,40 @@ export class GildedRose {
updateQuality() {
for (let i = 0; i < this.items.length; i++) {
if ([CNST.AGED_BRIE, CNST.BCST_TAF].includes(this.items[i].name)) {
if (this.items[i].quality > 0) {
if (this.items[i].name != CNST.SULFURAS) {
this.items[i].quality = this.items[i].quality - 1;
}
}
const iterationItem = this.items[i];
if (
[CNST.AGED_BRIE, CNST.BCST_TAF].includes(iterationItem.name) &&
iterationItem.quality > 0
) {
iterationItem.quality = iterationItem.quality - 1;
} else {
if (this.items[i].quality < 50) {
this.items[i].quality = this.items[i].quality + 1;
if (this.items[i].name == CNST.BCST_TAF) {
if (this.items[i].sellIn < 11) {
if (this.items[i].quality < 50) {
this.items[i].quality = this.items[i].quality + 1;
}
}
if (this.items[i].sellIn < 6) {
if (this.items[i].quality < 50) {
this.items[i].quality = this.items[i].quality + 1;
}
if (iterationItem.quality < 50) {
iterationItem.quality = iterationItem.quality + 1;
if (iterationItem.name == CNST.BCST_TAF) {
if (iterationItem.sellIn < 11) {
iterationItem.quality = iterationItem.quality + 1;
}
}
}
}
if (this.items[i].name != CNST.SULFURAS) {
this.items[i].sellIn = this.items[i].sellIn - 1;
if (iterationItem.name != CNST.SULFURAS) {
iterationItem.sellIn = iterationItem.sellIn - 1;
}
if (this.items[i].sellIn < 0) {
if (this.items[i].name != CNST.AGED_BRIE) {
if (this.items[i].name != CNST.BCST_TAF) {
if (this.items[i].quality > 0) {
if (this.items[i].name != CNST.SULFURAS) {
this.items[i].quality = this.items[i].quality - 1;
if (iterationItem.sellIn < 0) {
if (iterationItem.name != CNST.AGED_BRIE) {
if (iterationItem.name != CNST.BCST_TAF) {
if (iterationItem.quality > 0) {
if (iterationItem.name != CNST.SULFURAS) {
iterationItem.quality = iterationItem.quality - 1;
}
}
} else {
this.items[i].quality =
this.items[i].quality - this.items[i].quality;
iterationItem.quality =
iterationItem.quality - iterationItem.quality;
}
} else {
if (this.items[i].quality < 50) {
this.items[i].quality = this.items[i].quality + 1;
if (iterationItem.quality < 50) {
iterationItem.quality = iterationItem.quality + 1;
}
}
}