root/2d/chinese-zodiac.gd

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
extends Control

var data = []

func _ready():
	init_zodiac("Monkey",  "\u29492", "猴", "(hóu)", 0)
	init_zodiac("Rooster", "\u40481", "鸡", "(jī)", 1)
	init_zodiac("Dog",     "\u29399", "狗", "(gǒu)", 2)
	init_zodiac("Pig",     "\u29482", "猪", "(zhū)", 3)
	init_zodiac("Rat",     "\u40736", "鼠", "(shǔ)", 4)
	init_zodiac("Ox",      "\u29275", "牛", "(niú)", 5)
	init_zodiac("Tiger",   "\u34382", "虎", "(hǔ)", 6)
	init_zodiac("Rabbit",  "\u20820", "兔", "(tù)", 7)
	init_zodiac("Dragon",  "\u40857", "龙", "(lóng)", 8)
	init_zodiac("Snake",   "\u34503", "蛇", "(shé)", 9)
	init_zodiac("Horse",   "\u39532", "马", "(mǎ)", 10)
	init_zodiac("Goat",    "\u32650", "羊", "(yang)", 11)
	var year = OS.get_date().year
	var zodiac = data[(year % 12)]
	get_node("Label").text = str(year) + " - year of the " + zodiac.name + " " + zodiac.glyph

func init_zodiac(name, unicode_escape, glyph, loud, modulation):
	data.push_back({"name": name, "unicode_escape": unicode_escape, "glyph": glyph, "loud": loud, "modulation": modulation})