Inventory.java 2.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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("Backstage passes to a TAFKAL80ETC concert")){
  10. updateQualityForBackstagePasses(i);
  11. }else if(items[i].getName().equals("Aged Brie")){
  12. updateQualityForBrie(i);
  13. }else if(items[i].getName().equals("Sulfuras, Hand of Ragnaros")){
  14. continue;
  15. }else if((items[i].getQuality() > 0)){
  16. updateQualityForOtherItems(i);
  17. }
  18. }
  19. }
  20. public void increaseQualityByOne(int i){
  21. if(items[i].getQuality() < 50){
  22. items[i].setQuality(items[i].getQuality() + 1);
  23. }
  24. }
  25. public void decreaseQualityByOne(int i){
  26. items[i].setQuality(items[i].getQuality() - 1);
  27. }
  28. public void decreaseSellInByOne(int i){
  29. items[i].setSellIn(items[i].getSellIn() - 1);
  30. }
  31. public void updateQualityForBackstagePasses(int i){
  32. if (items[i].getSellIn() < 0){
  33. items[i].setQuality(0);
  34. if(items[i].getQuality() > 0){
  35. decreaseQualityByOne(i);
  36. }
  37. }else{
  38. increaseQualityByOne(i);
  39. if(items[i].getSellIn() < 11) {
  40. increaseQualityByOne(i);
  41. }
  42. if(items[i].getSellIn() < 6){
  43. increaseQualityByOne(i);
  44. }
  45. }
  46. }
  47. public void updateQualityForBrie(int i){
  48. increaseQualityByOne(i);
  49. decreaseSellInByOne(i);
  50. if (items[i].getSellIn() < 0){
  51. increaseQualityByOne(i);
  52. }
  53. }
  54. public void updateQualityForOtherItems(int i){
  55. decreaseQualityByOne(i);
  56. decreaseSellInByOne(i);
  57. if ((items[i].getSellIn() < 0) && (items[i].getQuality() > 0)) {
  58. decreaseQualityByOne(i);
  59. }
  60. }
  61. }