Inventory.java 2.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. public class Inventory {
  2. private Item[] items;
  3. public Inventory(Item[] items) {
  4. super();
  5. this.items = items;
  6. }
  7. public void updateQuality() {
  8. for (int i = 0; i < items.length; i++) {
  9. if (!items[i].getName().equals("Sulfuras, Hand of Ragnaros")) {
  10. switch (items[i].getName()) {
  11. case "Backstage passes to a TAFKAL80ETC concert" :
  12. updateTickets(items[i]);
  13. break;
  14. case "Aged Brie" :
  15. updateBrie(items[i]);
  16. break;
  17. default :
  18. updateNormalItem(items[i]);
  19. break;
  20. }
  21. items[i].setSellIn(items[i].getSellIn() - 1);
  22. }
  23. }
  24. }
  25. public void updateTickets(Item ticket) {
  26. if (ticket.getSellIn() < 0) {
  27. ticket.setQuality(0);
  28. }
  29. else if (ticket.getQuality() >= 48) {
  30. ticket.setQuality(50);
  31. }
  32. else {
  33. if (ticket.getSellIn() >= 11) {
  34. ticket.setQuality(ticket.getQuality() + 1);
  35. }
  36. if (ticket.getSellIn() >= 6 && ticket.getSellIn() < 11) {
  37. ticket.setQuality(ticket.getQuality() + 2);
  38. }
  39. else if (ticket.getSellIn() < 6) {
  40. ticket.setQuality(ticket.getQuality() + 3);
  41. }
  42. }
  43. }
  44. public void updateBrie(Item brie) {
  45. if (brie.getSellIn() > 0 && brie.getQuality() < 50) {
  46. brie.setQuality(brie.getQuality() + 1);
  47. }
  48. else if (brie.getSellIn() < 0) {
  49. brie.setQuality(brie.getQuality() + 2);
  50. }
  51. }
  52. public void updateNormalItem(Item item) {
  53. if (item.getQuality() > 0) {
  54. item.setQuality(item.getQuality() - 1);
  55. }
  56. if (item.getSellIn() < 0) {
  57. item.setQuality(item.getQuality() - 1);
  58. }
  59. }
  60. }