mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2025-12-12 20:32:15 +00:00
99 lines
2.6 KiB
C
99 lines
2.6 KiB
C
#include <string.h>
|
|
#include "GildedRose.h"
|
|
#include <stdio.h>
|
|
|
|
Item*
|
|
init_item(Item* item, const char *name, int sellIn, int quality)
|
|
{
|
|
item->sellIn = sellIn;
|
|
item->quality = quality;
|
|
item->name = strdup(name);
|
|
|
|
return item;
|
|
}
|
|
|
|
extern char*
|
|
print_item(char* buffer, Item* item)
|
|
{
|
|
sprintf(buffer, "%s, %d, %d", item->name, item->sellIn, item->quality);
|
|
}
|
|
|
|
void
|
|
update_quality(Item items[], int size)
|
|
{
|
|
int i;
|
|
|
|
for (i = 0; i < size; i++)
|
|
{
|
|
if (strcmp(items[i].name, "Aged Brie") && strcmp(items[i].name, "Backstage passes to a TAFKAL80ETC concert"))
|
|
{
|
|
if (items[i].quality > 0)
|
|
{
|
|
if (strcmp(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 (!strcmp(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 (strcmp(items[i].name, "Sulfuras, Hand of Ragnaros"))
|
|
{
|
|
items[i].sellIn = items[i].sellIn - 1;
|
|
}
|
|
|
|
if (items[i].sellIn < 0)
|
|
{
|
|
if (strcmp(items[i].name, "Aged Brie"))
|
|
{
|
|
if (strcmp(items[i].name, "Backstage passes to a TAFKAL80ETC concert"))
|
|
{
|
|
if (items[i].quality > 0)
|
|
{
|
|
if (strcmp(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;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|