RosettaCodeData/Task/Chinese-zodiac/Lua/chinese-zodiac.lua
2023-07-01 13:44:08 -04:00

34 lines
718 B
Lua

local ANIMALS = {"Rat","Ox","Tiger","Rabbit","Dragon","Snake","Horse","Goat","Monkey","Rooster","Dog","Pig"}
local ELEMENTS = {"Wood","Fire","Earth","Metal","Water"}
function element(year)
local idx = math.floor(((year - 4) % 10) / 2)
return ELEMENTS[idx + 1]
end
function animal(year)
local idx = (year - 4) % 12
return ANIMALS[idx + 1]
end
function yy(year)
if year % 2 == 0 then
return "yang"
else
return "yin"
end
end
function zodiac(year)
local e = element(year)
local a = animal(year)
local y = yy(year)
print(year.." is the year of the "..e.." "..a.." ("..y..")")
end
zodiac(1935)
zodiac(1938)
zodiac(1968)
zodiac(1972)
zodiac(1976)
zodiac(2017)