Chinese zodiac: Difference between revisions

Content added Content deleted
(Added solution for Action!)
Line 137: Line 137:


=={{header|Action!}}==
=={{header|Action!}}==
<lang Action!>DEFINE PTR="CARD"
<lang Action!>CARD ARRAY animals(12),elements(5),stems(10),branches(12),yinYangs(2)

PTR ARRAY animals(12),elements(5),stems(10),branches(12),yinYangs(2)


PROC Init()
PROC Init()
Line 163: Line 165:
RETURN
RETURN


CARD FUNC GetAnimal(INT y)
PTR FUNC GetAnimal(INT y)
RETURN (animals((y-4) MOD 12))
RETURN (animals((y-4) MOD 12))


CARD FUNC GetElement(INT y)
PTR FUNC GetElement(INT y)
RETURN (elements(((y-4) MOD 10)/2))
RETURN (elements(((y-4) MOD 10)/2))


CARD FUNC GetStem(INT y)
PTR FUNC GetStem(INT y)
RETURN (stems((y-4) MOD 10))
RETURN (stems((y-4) MOD 10))


CARD FUNC GetBranch(INT y)
PTR FUNC GetBranch(INT y)
RETURN (branches((y-4) MOD 12))
RETURN (branches((y-4) MOD 12))


CARD FUNC GetYinYang(INT y)
PTR FUNC GetYinYang(INT y)
RETURN (yinYangs(y MOD 2))
RETURN (yinYangs(y MOD 2))