From ba9330aab779ef6ecd178350713fcb542f5c66d0 Mon Sep 17 00:00:00 2001 From: villanibe Date: Thu, 26 Jun 2025 15:40:32 +0200 Subject: [PATCH] lift-up conditional - isBackstagePasses --- .../main/java/com/gildedrose/GildedRose.java | 94 ++++++++----------- 1 file changed, 38 insertions(+), 56 deletions(-) diff --git a/Java/src/main/java/com/gildedrose/GildedRose.java b/Java/src/main/java/com/gildedrose/GildedRose.java index 526e36a6..e47ee337 100644 --- a/Java/src/main/java/com/gildedrose/GildedRose.java +++ b/Java/src/main/java/com/gildedrose/GildedRose.java @@ -26,29 +26,56 @@ class GildedRose { private static void doUpdateQuality(Item item) { // processing quality boolean isAgedBrie = item.name.equals(AGED_BRIE); + boolean isBackstagePasses = item.name.equals(BACKSTAGE_PASSES); if (isAgedBrie) { + // processing quality + if (item.quality < QUALITY_LEVEL_50) { + item.quality = item.quality + 1; + } + + // processing sell date + item.sellIn = item.sellIn - 1; + + // processing sell date + if (item.sellIn < SELL_IN_DAY0) { + if (item.quality < QUALITY_LEVEL_50) { + item.quality = item.quality + 1; + } + } + } else if (isBackstagePasses) { // processing quality if (item.quality < QUALITY_LEVEL_50) { item.quality = item.quality + 1; // processing sell date - if (item.name.equals(BACKSTAGE_PASSES)) { - - if (item.sellIn < SELL_IN_DAY11) { - if (item.quality < QUALITY_LEVEL_50) { - item.quality = item.quality + 1; - } + if (item.sellIn < SELL_IN_DAY11) { + if (item.quality < QUALITY_LEVEL_50) { + item.quality = item.quality + 1; } + } - if (item.sellIn < SELL_IN_DAY6) { - if (item.quality < QUALITY_LEVEL_50) { - item.quality = item.quality + 1; - } + if (item.sellIn < SELL_IN_DAY6) { + if (item.quality < QUALITY_LEVEL_50) { + item.quality = item.quality + 1; } } } + // processing sell date + item.sellIn = item.sellIn - 1; + + // processing sell date + if (item.sellIn < SELL_IN_DAY0) { + item.quality = QUALITY_LEVEL_0; + } + } else { + if (item.quality > QUALITY_LEVEL_0) { + if (!item.name.equals(SULFURAS)) { + item.quality = item.quality - 1; + } + } + // processing sell date if (!item.name.equals(SULFURAS)) { item.sellIn = item.sellIn - 1; @@ -56,57 +83,12 @@ class GildedRose { // processing sell date if (item.sellIn < SELL_IN_DAY0) { - if (item.quality < QUALITY_LEVEL_50) { - item.quality = item.quality + 1; - } - } - } else { - if (!item.name.equals(BACKSTAGE_PASSES)) { + // processing quality if (item.quality > QUALITY_LEVEL_0) { if (!item.name.equals(SULFURAS)) { item.quality = item.quality - 1; } } - } else { - // processing quality - if (item.quality < QUALITY_LEVEL_50) { - item.quality = item.quality + 1; - - // processing sell date - if (item.name.equals(BACKSTAGE_PASSES)) { - - if (item.sellIn < SELL_IN_DAY11) { - if (item.quality < QUALITY_LEVEL_50) { - item.quality = item.quality + 1; - } - } - - if (item.sellIn < SELL_IN_DAY6) { - if (item.quality < QUALITY_LEVEL_50) { - item.quality = item.quality + 1; - } - } - } - } - } - - // processing sell date - if (!item.name.equals(SULFURAS)) { - item.sellIn = item.sellIn - 1; - } - - // processing sell date - if (item.sellIn < SELL_IN_DAY0) { - if (!item.name.equals(BACKSTAGE_PASSES)) { - // processing quality - if (item.quality > QUALITY_LEVEL_0) { - if (!item.name.equals(SULFURAS)) { - item.quality = item.quality - 1; - } - } - } else { - item.quality = QUALITY_LEVEL_0; - } } } }