mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2025-12-11 20:02:09 +00:00
* Move "using namespace std;" from header to module file (to no longer pollute the global namespace). * Fix inconsistency of having namespace prefix in test code. * Add include guard to GildedRose.h. * Avoid std::endl. * Have consistent white-space.
83 lines
2.3 KiB
C++
83 lines
2.3 KiB
C++
#include "GildedRose.h"
|
|
|
|
using namespace std;
|
|
|
|
GildedRose::GildedRose(vector<Item> & items) : items(items)
|
|
{}
|
|
|
|
void GildedRose::updateQuality()
|
|
{
|
|
for (int i = 0; i < items.size(); i++)
|
|
{
|
|
if (items[i].name != "Aged Brie" && items[i].name != "Backstage passes to a TAFKAL80ETC concert")
|
|
{
|
|
if (items[i].quality > 0)
|
|
{
|
|
if (items[i].name != "Sulfuras, Hand of Ragnaros")
|
|
{
|
|
items[i].quality = items[i].quality - 1;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (items[i].quality < 50)
|
|
{
|
|
items[i].quality = items[i].quality + 1;
|
|
|
|
if (items[i].name == "Backstage passes to a TAFKAL80ETC concert")
|
|
{
|
|
if (items[i].sellIn < 11)
|
|
{
|
|
if (items[i].quality < 50)
|
|
{
|
|
items[i].quality = items[i].quality + 1;
|
|
}
|
|
}
|
|
|
|
if (items[i].sellIn < 6)
|
|
{
|
|
if (items[i].quality < 50)
|
|
{
|
|
items[i].quality = items[i].quality + 1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if (items[i].name != "Sulfuras, Hand of Ragnaros")
|
|
{
|
|
items[i].sellIn = items[i].sellIn - 1;
|
|
}
|
|
|
|
if (items[i].sellIn < 0)
|
|
{
|
|
if (items[i].name != "Aged Brie")
|
|
{
|
|
if (items[i].name != "Backstage passes to a TAFKAL80ETC concert")
|
|
{
|
|
if (items[i].quality > 0)
|
|
{
|
|
if (items[i].name != "Sulfuras, Hand of Ragnaros")
|
|
{
|
|
items[i].quality = items[i].quality - 1;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
items[i].quality = items[i].quality - items[i].quality;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (items[i].quality < 50)
|
|
{
|
|
items[i].quality = items[i].quality + 1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|