1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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("Aged Brie")
  10. || items[i].getName().equals("Backstage passes to a TAFKAL80ETC concert")) {
  11. //level 2 - quality
  12. if (items[i].getQuality() < 50) {
  13. increaseQualityBy1(items[i]);
  14. //level 3 - item type
  15. if (items[i].getName() == "Backstage passes to a TAFKAL80ETC concert") {
  16. //level 4 - sell in date
  17. if (items[i].getSellIn() < 11) {
  18. //level 5 - quality
  19. if (items[i].getQuality() < 50) {
  20. increaseQualityBy1(items[i]);
  21. }
  22. }
  23. //level 4 - sell in date
  24. if (items[i].getSellIn() < 6) {
  25. //level 5 - quality
  26. if (items[i].getQuality() < 50) {
  27. increaseQualityBy1(items[i]);
  28. }
  29. }
  30. }
  31. }
  32. //level 1 - item type
  33. } else {
  34. //level 2 - quality
  35. if (items[i].getQuality() > 0) {
  36. //level 3 - item type
  37. if (!items[i].getName().equals("Sulfuras, Hand of Ragnaros")) {
  38. reduceQualityBy1(items[i]);
  39. }
  40. }
  41. }
  42. //level 1 - item type
  43. if (!items[i].getName().equals("Sulfuras, Hand of Ragnaros")) {
  44. reduceSellInBy1(items[i]);
  45. }
  46. //level 1 - sell in date
  47. if (items[i].getSellIn() < 0) {
  48. //level 2 - item type
  49. if (items[i].getName().equals("Aged Brie")) {
  50. //level 3 - quality
  51. if (items[i].getQuality() < 50) {
  52. increaseQualityBy1(items[i]);
  53. }
  54. //level 2 - item type
  55. } else if (items[i].getName().equals("Backstage passes to a TAFKAL80ETC concert")){
  56. setQualityTo0(items[i]);
  57. //level 3 - item type
  58. } else {
  59. //level 4 - quality
  60. if (items[i].getQuality() > 0) {
  61. //level 5 - item type
  62. if (!items[i].getName().equals("Sulfuras, Hand of Ragnaros")) {
  63. reduceQualityBy1(items[i]);
  64. }
  65. }
  66. }
  67. }
  68. }
  69. }
  70. public void reduceQualityBy1(Item item){
  71. item.setQuality(item.getQuality() -1);
  72. }
  73. public void increaseQualityBy1(Item item){
  74. item.setQuality(item.getQuality() + 1);
  75. }
  76. public void setQualityTo0(Item item){
  77. item.setQuality(item.getQuality() - item.getQuality());
  78. }
  79. public void reduceSellInBy1(Item item){
  80. item.setSellIn(item.getSellIn() - 1);
  81. }
  82. }