Inventory.java 2.7KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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. continue;
  11. }
  12. else if (items[i].getName().equals("Aged Brie")){
  13. agedBrieUpdate(i);
  14. }
  15. else {
  16. regularItemUpdate(i);
  17. }
  18. /*
  19. if (!items[i].getName().equals("Aged Brie")) {
  20. if (items[i].getQuality() > 0) {
  21. if (!items[i].getName().equals("Sulfuras, Hand of Ragnaros")) {
  22. items[i].setQuality(items[i].getQuality() - 1);
  23. }
  24. }
  25. } else {
  26. if (items[i].getQuality() < 50) {
  27. items[i].setQuality(items[i].getQuality() + 1);
  28. }
  29. }
  30. if (!items[i].getName().equals("Sulfuras, Hand of Ragnaros")) {
  31. items[i].setSellIn(items[i].getSellIn() - 1);
  32. }
  33. if (items[i].getSellIn() < 0) {
  34. if (!items[i].getName().equals("Aged Brie")) {
  35. items[i].setQuality(items[i].getQuality() - 1);
  36. } else {
  37. if (items[i].getQuality() < 50) {
  38. items[i].setQuality(items[i].getQuality() + 1);
  39. }
  40. }
  41. }
  42. */
  43. }
  44. }
  45. public void agedBrieUpdate(int i){
  46. //decrease the sellin by 1 every day
  47. items[i].setSellIn(items[i].getSellIn()-1);
  48. //increase the quality every day (as long as quality is not more than 50)
  49. //increase the quality by 1 if sellin is greater than 0 and by 2 if sellin is 0
  50. if (items[i].getSellIn() > 0 && items[i].getQuality() < 50)
  51. items[i].setQuality(items[i].getQuality()+1);
  52. else if (items[i].getSellIn() <= 0 && (items[i].getQuality() < 49))
  53. items[i].setQuality(items[i].getQuality()+2);
  54. else if (items[i].getSellIn() <= 0 && items[i].getQuality() == 49)
  55. items[i].setQuality(items[i].getQuality()+1);
  56. }
  57. public void regularItemUpdate(int i){
  58. //decrease the sellin by 1 every day
  59. items[i].setSellIn(items[i].getSellIn()-1);
  60. //decrease the quality every day (as long as quality is greater than 0)
  61. //decrease the quality by 1 if sellin is greater than 0 and by 2 if sellin is 0
  62. if (items[i].getQuality() > 0){
  63. if (items[i].getSellIn() > 0){
  64. items[i].setQuality(items[i].getQuality() -1);
  65. }
  66. else {
  67. items[i].setQuality(items[i].getQuality() -2);
  68. }
  69. }
  70. }
  71. }