mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-10-14 18:15:41 +00:00
add Lua lang
This commit is contained in:
1 parent
e000f865fe
commit
d8f30fa8d3
9 files changed
+186
No files matched your search
@@ -0,0 +1,63 @@
|
||||
local GildedRose = {}
|
||||
|
||||
function GildedRose:new(items)
|
||||
return {
|
||||
items = items,
|
||||
updateQuality = self.updateQuality,
|
||||
}
|
||||
end
|
||||
|
||||
function GildedRose:updateQuality()
|
||||
for i, _ in pairs(self.items) do
|
||||
if self.items[i].name ~= "Aged Brie" and
|
||||
self.items[i].name ~= "Backstage passes to a TAFKAL80ETC concert" then
|
||||
if self.items[i].quality > 0 then
|
||||
if self.items[i].name ~= "Sulfuras, Hand of Ragnaros" then
|
||||
self.items[i].quality = self.items[i].quality - 1
|
||||
end
|
||||
end
|
||||
else
|
||||
if self.items[i].quality < 50 then
|
||||
self.items[i].quality = self.items[i].quality + 1
|
||||
|
||||
if self.items[i].name == "Backstage passes to a TAFKAL80ETC concert" then
|
||||
if self.items[i].sell_in < 11 then
|
||||
if self.items[i].quality < 50 then
|
||||
self.items[i].quality = self.items[i].quality + 1
|
||||
end
|
||||
end
|
||||
if self.items[i].sell_in < 6 then
|
||||
if self.items[i].quality < 50 then
|
||||
self.items[i].quality = self.items[i].quality + 1
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if self.items[i].name ~= "Sulfuras, Hand of Ragnaros" then
|
||||
self.items[i].sell_in = self.items[i].sell_in - 1
|
||||
end
|
||||
|
||||
if self.items[i].sell_in < 0 then
|
||||
if self.items[i].name ~= "Aged Brie" then
|
||||
if self.items[i].name ~= "Backstage passes to a TAFKAL80ETC concert" then
|
||||
if self.items[i].quality > 0 then
|
||||
if self.items[i].name ~= "Sulfuras, Hand of Ragnaros" then
|
||||
self.items[i].quality = self.items[i].quality - 1
|
||||
end
|
||||
end
|
||||
else
|
||||
self.items[i].quality = self.items[i].quality - self.items[i].quality
|
||||
end
|
||||
else
|
||||
if self.items[i].quality < 50 then
|
||||
self.items[i].quality = self.items[i].quality + 1
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
return self.items
|
||||
end
|
||||
|
||||
return GildedRose
|
||||
@@ -0,0 +1,7 @@
|
||||
local Item = {}
|
||||
|
||||
function Item:new(name, sell_in, quality)
|
||||
return { name = name, sell_in = sell_in, quality = quality }
|
||||
end
|
||||
|
||||
return Item
|
||||
@@ -0,0 +1,30 @@
|
||||
local Item = require("src/item")
|
||||
local GildedRose = require("src/gilded_rose")
|
||||
|
||||
local items = {
|
||||
Item:new("+5 Dexterity Vest", 10, 20),
|
||||
Item:new("Aged Brie", 2, 0),
|
||||
Item:new("Elixir of the Mongoose", 5, 7),
|
||||
Item:new("Sulfuras, Hand of Ragnaros", 0, 80),
|
||||
Item:new("Sulfuras, Hand of Ragnaros", -1, 80),
|
||||
Item:new("Backstage passes to a TAFKAL80ETC concert", 15, 20),
|
||||
Item:new("Backstage passes to a TAFKAL80ETC concert", 10, 49),
|
||||
Item:new("Backstage passes to a TAFKAL80ETC concert", 5, 49),
|
||||
|
||||
-- This Conjured item does not work properly yet
|
||||
Item:new("Conjured Mana Cake", 3, 6),
|
||||
};
|
||||
|
||||
local days = arg[1] or 2;
|
||||
local gilded_rose = GildedRose:new(items);
|
||||
|
||||
print("OMGHAI!");
|
||||
for day = 0, days do
|
||||
print("-------- day " .. day .. " --------");
|
||||
print("name, sellIn, quality");
|
||||
for _, item in pairs(items) do
|
||||
print(item.name .. ", " .. item.sell_in .. ", " .. item.quality);
|
||||
end
|
||||
gilded_rose:updateQuality();
|
||||
print("")
|
||||
end
|
||||
Reference in new issue
Block a user