Inventory.java 2.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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].getName().equals("Conjured Item: Thori'dal, the Stars' Fury")){
  16. updateQualityConjuredItems(i);
  17. }else if((items[i].getQuality() > 0)){
  18. updateQualityForOtherItems(i);
  19. }
  20. }
  21. }
  22. public void increaseQualityByOne(int i){
  23. if(items[i].getQuality() < 50){
  24. items[i].setQuality(items[i].getQuality() + 1);
  25. }
  26. }
  27. public void decreaseQualityByOne(int i){
  28. items[i].setQuality(items[i].getQuality() - 1);
  29. }
  30. public void decreaseSellInByOne(int i){
  31. items[i].setSellIn(items[i].getSellIn() - 1);
  32. }
  33. public void updateQualityForBackstagePasses(int i){
  34. if (items[i].getSellIn() < 0){
  35. items[i].setQuality(0);
  36. if(items[i].getQuality() > 0){
  37. decreaseQualityByOne(i);
  38. }
  39. }else{
  40. increaseQualityByOne(i);
  41. if(items[i].getSellIn() < 11) {
  42. increaseQualityByOne(i);
  43. }
  44. if(items[i].getSellIn() < 6){
  45. increaseQualityByOne(i);
  46. }
  47. }
  48. }
  49. public void updateQualityForBrie(int i){
  50. increaseQualityByOne(i);
  51. decreaseSellInByOne(i);
  52. if (items[i].getSellIn() < 0){
  53. increaseQualityByOne(i);
  54. }
  55. }
  56. public void updateQualityForOtherItems(int i){
  57. decreaseQualityByOne(i);
  58. decreaseSellInByOne(i);
  59. if ((items[i].getSellIn() < 0) && (items[i].getQuality() > 0)) {
  60. decreaseQualityByOne(i);
  61. }
  62. }
  63. public void updateQualityConjuredItems(int i){
  64. decreaseQualityByOne(i);
  65. decreaseQualityByOne(i);
  66. decreaseSellInByOne(i);
  67. if ((items[i].getSellIn() < 0) && (items[i].getQuality() > 0)) {
  68. decreaseQualityByOne(i);
  69. decreaseQualityByOne(i);
  70. }
  71. }
  72. }