123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. package com.zipcodewilmington.gildedrose;
  2. public class Inventory {
  3. private Item[] items;
  4. private final String brie = "Aged Brie";
  5. private final String pass = "Backstage passes to a TAFKAL80ETC concert";
  6. private final String hand = "Sulfuras, Hand of Ragnaros";
  7. private final String conj = "conjured";
  8. public Inventory(Item[] items) {
  9. super();
  10. this.items = items;
  11. }
  12. public void updateQuality() {
  13. for (int i = 0; i < items.length; i++) {
  14. switch (items[i].getName()){
  15. case brie :
  16. increaseQuality5(items[i]);
  17. sellOne(items[i]);
  18. justUnder6(items[i]);
  19. betterWithAge(items[i]);
  20. break;
  21. case pass :
  22. increaseQuality5(items[i]);
  23. sellOne(items[i]);
  24. justUnder11(items[i]);
  25. justUnder6(items[i]);
  26. soldOut(items[i]);
  27. break;
  28. case hand :
  29. increaseQuality5(items[i]);
  30. soldOut(items[i]);
  31. break;
  32. case conj :
  33. doubleExp(items[i]);
  34. sellOne(items[i]);
  35. betterWithAge(items[i]);
  36. break;
  37. default :
  38. sellOne(items[i]);
  39. expiring(items[i]);
  40. betterWithAge(items[i]);
  41. }
  42. }
  43. }
  44. public void increaseQuality5(Item item) {
  45. if(item.getQuality() < 50 && item.getQuality() > 0){
  46. item.setQuality(item.getQuality()+1);
  47. }
  48. }
  49. public void sellOne(Item item) {
  50. item.setSellIn(item.getSellIn() - 1);
  51. }
  52. public void betterWithAge(Item item) {
  53. if (item.getSellIn() < 0) {
  54. item.setQuality(item.getQuality() + 1);
  55. }
  56. }
  57. public void justUnder11(Item item) {
  58. if (item.getSellIn() < 11 && item.getQuality() < 50) {
  59. item.setQuality(item.getQuality() + 1);
  60. }
  61. }
  62. public void justUnder6(Item item) {
  63. if (item.getSellIn() < 6 && item.getQuality() < 50) {
  64. item.setQuality(item.getQuality() + 1);
  65. }
  66. }
  67. public void soldOut(Item item) {
  68. if (item.getSellIn() < 0) {
  69. item.setQuality(item.getQuality() - item.getQuality());
  70. }
  71. }
  72. public void expiring(Item item) {
  73. if (item.getQuality() > 0) {
  74. item.setQuality(item.getQuality() - 1);
  75. }
  76. }
  77. public void doubleExp(Item item) {
  78. item.setQuality(item.getQuality() - 2);
  79. }
  80. }
  81. /*for (int i = 0; i < items.length; i++) {
  82. if (!items[i].getName().equals("Aged Brie")
  83. && !items[i].getName().equals("Backstage passes to a TAFKAL80ETC concert")) {
  84. if (items[i].getQuality() > 0) {
  85. if (!items[i].getName().equals("Sulfuras, Hand of Ragnaros")) {
  86. items[i].setQuality(items[i].getQuality() - 1);
  87. }
  88. }
  89. } else {
  90. if (items[i].getQuality() < 50) {
  91. items[i].setQuality(items[i].getQuality() + 1);
  92. if (items[i].getName() == "Backstage passes to a TAFKAL80ETC concert") {
  93. if (items[i].getSellIn() < 11) {
  94. if (items[i].getQuality() < 50) {
  95. items[i].setQuality(items[i].getQuality() + 1);
  96. }
  97. }
  98. if (items[i].getSellIn() < 6) {
  99. if (items[i].getQuality() < 50) {
  100. items[i].setQuality(items[i].getQuality() + 1);
  101. }
  102. }
  103. }
  104. }
  105. }
  106. if (!items[i].getName().equals("Sulfuras, Hand of Ragnaros")) {
  107. items[i].setSellIn(items[i].getSellIn() - 1);
  108. }
  109. if (items[i].getSellIn() < 0) {
  110. if (!items[i].getName().equals("Aged Brie")) {
  111. if (!items[i].getName().equals("Backstage passes to a TAFKAL80ETC concert")) {
  112. if (items[i].getQuality() > 0) {
  113. if (!items[i].getName().equals("Sulfuras, Hand of Ragnaros")) {
  114. items[i].setQuality(items[i].getQuality() - 1);
  115. }
  116. }
  117. } else {
  118. items[i].setQuality(items[i].getQuality()
  119. - items[i].getQuality());
  120. }
  121. } else {
  122. if (items[i].getQuality() < 50) {
  123. items[i].setQuality(items[i].getQuality() + 1);
  124. }
  125. }
  126. }
  127. }
  128. }
  129. }*/