diff --git a/cpp/src/GildedRose.cc b/cpp/src/GildedRose.cc index 39d7a6f6..8aaaf302 100644 --- a/cpp/src/GildedRose.cc +++ b/cpp/src/GildedRose.cc @@ -14,56 +14,48 @@ void updateQuality(int q, int value) void GildedRose::update() { - for (int i = 0; i < items.size(); i++) + for (auto &item: this->items) { - items[i].sellIn -= (items[i].name == "Sulfuras, Hand of Ragnaros") ? 0 : 1; - - if (items[i].name == "Aged Brie") + item.sellIn -= (item.name == "Sulfuras, Hand of Ragnaros") ? 0 : 1; + + if (item.name == "Aged Brie") { - updateQuality(items[i].quality, 1); + updateQuality(item.quality, 1); + if (item.sellIn < 0) + { + updateQuality(item.quality, 1); + } } - else if (items[i].name == "Backstage passes to a TAFKAL80ETC concert") + else if (item.name == "Backstage passes to a TAFKAL80ETC concert") { - if (items[i].sellIn < 5) + if (item.sellIn < 0) { - updateQuality(items[i].quality, 3); - } - else if (items[i].sellIn < 10) + updateQuality(item.quality, -item.quality); + } + else if (item.sellIn < 5) { - updateQuality(items[i].quality, 2); + updateQuality(item.quality, 3); + } + else if (item.sellIn < 10) + { + updateQuality(item.quality, 2); } else { - updateQuality(items[i].quality, 1); + updateQuality(item.quality, 1); } } - else if (items[i].name == "Sulfuras, Hand of Ragnaros") + else if (item.name == "Sulfuras, Hand of Ragnaros") { - updateQuality(items[i].quality, 0); + updateQuality(item.quality, 0); + } + else if (item.sellIn < 0) + { + updateQuality(item.quality, -2); } else { - updateQuality(items[i].quality, -1); - } - - if (items[i].sellIn < 0) - { - if (items[i].name == "Aged Brie") - { - updateQuality(items[i].quality, 1); - } - else if (items[i].name == "Backstage passes to a TAFKAL80ETC concert") - { - updateQuality(items[i].quality, -items[i].quality); - } - else if (items[i].name == "Sulfuras, Hand of Ragnaros") - { - updateQuality(items[i].quality, 0); - } - else - { - updateQuality(items[i].quality, -1); - } + updateQuality(item.quality, -1); } } }