[重構] 簡化、統一個商品判定邏輯寫法

This commit is contained in:
wengYuting 2022-04-07 22:19:35 +08:00
parent 4e6b0606dd
commit 94cbe129e0

View File

@ -16,7 +16,8 @@ class Shop {
const item = this.items[i];
if (item.name === "Sulfuras, Hand of Ragnaros") continue;
item.sellIn = item.sellIn - 1;
item.sellIn -= 1;
switch (item.name) {
case "Aged Brie":
this.updateAgedBrie(item);
@ -33,39 +34,42 @@ class Shop {
return this.items;
}
updateAgedBrie(item) {
if (item.quality < 50) {
item.quality = item.quality + 1;
if (item.sellIn < 0) {
item.quality = item.quality + 1;
}
}
}
updateBackstagePasses(item) {
if (item.quality < 50) {
item.quality = item.quality + 1;
if (item.sellIn < 10 && item.quality < 50) {
item.quality = item.quality + 1;
}
if (item.sellIn < 5 && item.quality < 50) {
item.quality = item.quality + 1;
}
}
let quality = item.quality;
if (item.sellIn < 0) {
item.quality = item.quality - item.quality;
quality += 2;
} else {
quality += 1;
}
item.quality = quality < 50 ? quality : 50;
}
updateBackstagePasses(item) {
let quality = item.quality;
if (item.sellIn < 0) {
quality = 0;
} else if (item.sellIn < 5) {
quality += 3;
} else if (item.sellIn < 10) {
quality += 2;
} else {
quality += 1;
}
item.quality = quality < 50 ? quality : 50;
}
updateTheOthers(item) {
if (item.quality > 0) {
item.quality = item.quality - 1;
let quality = item.quality;
if (item.sellIn < 0) {
item.quality = item.quality - 1;
}
if (item.sellIn < 0) {
quality -= 2;
} else {
quality -= 1;
}
item.quality = quality > 0 ? quality : 0;
}
}