| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
-
- public class Inventory {
- private Item[] items;
- private final int MAX_QUALITY = 50;
- private final String AGED_BRIE_NAME = "Aged Brie";
- private final String BACKSTAGE_PASS_NAME = "Backstage passes to a TAFKAL80ETC concert";
- private final String NORMAL_ITEM_NAME = "+5 Dexterity Vest";
- private final String CONJURED_ITEM_NAME = "Conjured Flower Bouquet";
- private final String SULFURAS = "Sulfuras, Hand of Ragnaros";
-
- public Inventory(Item[] items) {
- super();
- this.items = items;
- }
-
-
- public void updateQuality() {
- for (int i = 0; i < items.length; i++) {
- if (items[i].getName().equals(SULFURAS)) {
- continue;
- }
- switch (items[i].getName()) {
- case BACKSTAGE_PASS_NAME :
- updateTickets(items[i]);
- break;
- case AGED_BRIE_NAME :
- updateBrie(items[i]);
- break;
- case CONJURED_ITEM_NAME :
- updateConjuredItem(items[i]);
- break;
- default :
- updateNormalItem(items[i]);
- break;
- }
- items[i].setSellIn(items[i].getSellIn() - 1);
- }
- }
-
- public void updateTickets(Item ticket) {
- if (ticket.getSellIn() < 0) {
- ticket.setQuality(0);
- }
- else if (ticket.getQuality() >= 48) {
- ticket.setQuality(50);
- }
- else {
- if (ticket.getSellIn() >= 11) {
- ticket.setQuality(ticket.getQuality() + 1);
- }
- else if (ticket.getSellIn() >= 6 && ticket.getSellIn() < 11) {
- ticket.setQuality(ticket.getQuality() + 2);
- }
- else if (ticket.getSellIn() < 6) {
- ticket.setQuality(ticket.getQuality() + 3);
- }
- }
- }
-
- public void updateBrie(Item brie) {
- if (brie.getSellIn() > 0 && brie.getQuality() < 50) {
- brie.setQuality(brie.getQuality() + 1);
- }
- else if (brie.getSellIn() < 0) {
- brie.setQuality(brie.getQuality() + 2);
- }
- }
-
- public void updateNormalItem(Item item) {
- if (item.getQuality() > 0) {
- item.setQuality(item.getQuality() - 1);
- }
- if (item.getSellIn() < 0) {
- item.setQuality(item.getQuality() - 1);
- }
- }
-
- public void updateConjuredItem(Item item) {
- if (item.getQuality() > 0) {
- item.setQuality(item.getQuality() - 2);
- }
- if (item.getSellIn() < 0) {
- item.setQuality(item.getQuality() - 2);
- }
- }
- }
|