conjured item extends standard item

This commit is contained in:
Gabba 2017-12-18 15:08:20 +00:00
parent c4e303ef70
commit 5df478fa29
2 changed files with 15 additions and 25 deletions

View File

@ -1,31 +1,13 @@
package com.gildedrose.item;
public class ConjuredItem implements CustomisedItem {
private final Item item;
public class ConjuredItem extends StandardItem {
public ConjuredItem(Item item) {
this.item = item;
super(item);
}
public void updateState() {
decreaseSellByDayValueByOne();
if (sellByDayValueIsOverZero()) {
decreaseQualityBy(2);
} else {
decreaseQualityBy(4);
}
}
private void decreaseSellByDayValueByOne() {
item.sellIn -= 1;
}
private boolean sellByDayValueIsOverZero() {
return item.sellIn > 0;
}
private void decreaseQualityBy(int qualityValue) {
item.quality -= qualityValue;
@Override
public int decreasingValueOverZeroDaysToSell() {
return 2;
}
}

View File

@ -11,12 +11,16 @@ public class StandardItem implements CustomisedItem {
public void updateState() {
decreaseSellByDayValueByOne();
if (sellByDayValueIsOverZero()) {
decreaseQualityBy(1);
decreaseQualityBy(decreasingValueOverZeroDaysToSell());
} else {
decreaseQualityBy(2);
decreaseQualityBy(decreasingValueForZeroOrLessDaysToSell());
}
}
public int decreasingValueOverZeroDaysToSell() {
return 1;
}
private void decreaseSellByDayValueByOne() {
item.sellIn -= 1;
}
@ -28,4 +32,8 @@ public class StandardItem implements CustomisedItem {
private void decreaseQualityBy(int qualityValue) {
item.quality -= qualityValue;
}
private int decreasingValueForZeroOrLessDaysToSell() {
return decreasingValueOverZeroDaysToSell() * 2;
}
}