public class Inventory { private Item[] items; public Inventory(Item[] items) { super(); this.items = items; } public void updateQuality() { for (int i = 0; i < items.length; i++) { if(items[i].getName().equals("Backstage passes to a TAFKAL80ETC concert")){ updateQualityForBackstagePasses(i); }else if(items[i].getName().equals("Aged Brie")){ updateQualityForBrie(i); }else if(items[i].getName().equals("Sulfuras, Hand of Ragnaros")){ continue; }else if(items[i].getName().equals("Conjured Item: Thori'dal, the Stars' Fury")){ updateQualityConjuredItems(i); }else if((items[i].getQuality() > 0)){ updateQualityForOtherItems(i); } } } public void increaseQualityByOne(int i){ if(items[i].getQuality() < 50){ items[i].setQuality(items[i].getQuality() + 1); } } public void decreaseQualityByOne(int i){ items[i].setQuality(items[i].getQuality() - 1); } public void decreaseSellInByOne(int i){ items[i].setSellIn(items[i].getSellIn() - 1); } public void updateQualityForBackstagePasses(int i){ if (items[i].getSellIn() < 0){ items[i].setQuality(0); if(items[i].getQuality() > 0){ decreaseQualityByOne(i); } }else{ increaseQualityByOne(i); if(items[i].getSellIn() < 11) { increaseQualityByOne(i); } if(items[i].getSellIn() < 6){ increaseQualityByOne(i); } } } public void updateQualityForBrie(int i){ increaseQualityByOne(i); decreaseSellInByOne(i); if (items[i].getSellIn() < 0){ increaseQualityByOne(i); } } public void updateQualityForOtherItems(int i){ decreaseQualityByOne(i); decreaseSellInByOne(i); if ((items[i].getSellIn() < 0) && (items[i].getQuality() > 0)) { decreaseQualityByOne(i); } } public void updateQualityConjuredItems(int i){ decreaseQualityByOne(i); decreaseQualityByOne(i); decreaseSellInByOne(i); if ((items[i].getSellIn() < 0) && (items[i].getQuality() > 0)) { decreaseQualityByOne(i); decreaseQualityByOne(i); } } }