diff --git a/Java/src/main/java/com/gildedrose/AgedBrie.java b/Java/src/main/java/com/gildedrose/AgedBrie.java index 0c1e8bc9..058f3c02 100644 --- a/Java/src/main/java/com/gildedrose/AgedBrie.java +++ b/Java/src/main/java/com/gildedrose/AgedBrie.java @@ -1,6 +1,6 @@ package com.gildedrose; -import static com.gildedrose.Constants.*; +import static com.gildedrose.Constants.MAX_QUALITY; public class AgedBrie extends InventoryItem { public AgedBrie(Item item) { @@ -9,52 +9,10 @@ public class AgedBrie extends InventoryItem { @Override void age() { - if (item.name.equals(AGED_BRIE) - || item.name.equals(BACKSTAGE)) { - if (item.quality < 50) { - item.quality = item.quality + 1; - - if (item.name.equals(BACKSTAGE)) { - if (item.sellIn < 11) { - if (item.quality < 50) { - item.quality = item.quality + 1; - } - } - - if (item.sellIn < 6) { - if (item.quality < 50) { - item.quality = item.quality + 1; - } - } - } - } - } else { - if (item.quality > 0) { - if (!item.name.equals(SULFURAS)) { - item.quality = item.quality - 1; - } - } - } - if (!item.name.equals(SULFURAS)) { - item.sellIn = item.sellIn - 1; - } - - if (item.sellIn < 0) { - if (item.name.equals(AGED_BRIE)) { - if (item.quality < 50) { - item.quality = item.quality + 1; - } - } else { - if (!item.name.equals(BACKSTAGE)) { - if (item.quality > 0) { - if (!item.name.equals(SULFURAS)) { - item.quality = item.quality - 1; - } - } - } else { - item.quality = 0; - } - } + if (item.quality < MAX_QUALITY) { + item.quality++; } + decreaseSellIn(); + if (item.sellIn < Constants.SELLIN_DAY && item.quality < MAX_QUALITY) item.quality++; } } diff --git a/Java/src/main/java/com/gildedrose/Backstage.java b/Java/src/main/java/com/gildedrose/Backstage.java index cf9e1a6e..1f4d2d50 100644 --- a/Java/src/main/java/com/gildedrose/Backstage.java +++ b/Java/src/main/java/com/gildedrose/Backstage.java @@ -1,60 +1,19 @@ package com.gildedrose; -import static com.gildedrose.Constants.*; - public class Backstage extends InventoryItem { + public Backstage(Item item) { super(item); } @Override void age() { - if (item.name.equals(AGED_BRIE) - || item.name.equals(BACKSTAGE)) { - if (item.quality < 50) { - item.quality = item.quality + 1; - - if (item.name.equals(BACKSTAGE)) { - if (item.sellIn < 11) { - if (item.quality < 50) { - item.quality = item.quality + 1; - } - } - - if (item.sellIn < 6) { - if (item.quality < 50) { - item.quality = item.quality + 1; - } - } - } - } - } else { - if (item.quality > 0) { - if (!item.name.equals(SULFURAS)) { - item.quality = item.quality - 1; - } - } - } - if (!item.name.equals(SULFURAS)) { - item.sellIn = item.sellIn - 1; - } - - if (item.sellIn < 0) { - if (item.name.equals(AGED_BRIE)) { - if (item.quality < 50) { - item.quality = item.quality + 1; - } - } else { - if (!item.name.equals(BACKSTAGE)) { - if (item.quality > 0) { - if (!item.name.equals(SULFURAS)) { - item.quality = item.quality - 1; - } - } - } else { - item.quality = 0; - } - } + if (item.quality < Constants.MAX_QUALITY) { + item.quality = item.quality + 1; + if (item.sellIn < 11 && item.quality < Constants.MAX_QUALITY) item.quality++; + if (item.sellIn < 6 && item.quality < Constants.MAX_QUALITY) item.quality++; } + decreaseSellIn(); + if (item.sellIn < Constants.SELLIN_DAY) item.quality = Constants.MIN_QUALITY; } } diff --git a/Java/src/main/java/com/gildedrose/Constants.java b/Java/src/main/java/com/gildedrose/Constants.java index f5917a58..55ae23ce 100644 --- a/Java/src/main/java/com/gildedrose/Constants.java +++ b/Java/src/main/java/com/gildedrose/Constants.java @@ -4,6 +4,10 @@ public final class Constants { public static final String BACKSTAGE = "Backstage passes to a TAFKAL80ETC concert"; public static final String AGED_BRIE = "Aged Brie"; public static final String SULFURAS = "Sulfuras, Hand of Ragnaros"; + public static final int MAX_QUALITY = 50; + public static final int MIN_QUALITY = 0; + public static final int SELLIN_DAY = 0; + private Constants() { } } diff --git a/Java/src/main/java/com/gildedrose/InventoryItem.java b/Java/src/main/java/com/gildedrose/InventoryItem.java index 6be25cf4..636e96bb 100644 --- a/Java/src/main/java/com/gildedrose/InventoryItem.java +++ b/Java/src/main/java/com/gildedrose/InventoryItem.java @@ -23,10 +23,10 @@ public class InventoryItem { } protected void decreaseSellIn() { - item.sellIn = item.sellIn - 1; + item.sellIn--; } protected void decreaseQuality() { - if (item.quality > 0) item.quality = item.quality - 1; + if (item.quality > 0) item.quality--; } }