14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
# File 'lib/copycats/reports/traits.rb', line 14
def build
buf = ""
buf << "# Traits\n\n"
buf << "| Tier | Kai |"
TRAITS.values[0,6].each do |trait|
buf << " #{trait[:name]} |"
end
buf << "\n"
buf << "|----|----|----|----|----|----|----|----|\n"
buf << "| | |"
TRAITS.values[0,6].each do |trait|
buf << " #{trait[:genes]} |"
end
buf << "\n"
Kai::ALPHABET.each_char do |kai|
tier = ROMAN[ Gene::TIER[kai] ]
tier = '?' if tier.nil?
buf << "| #{tier} | #{kai} |"
TRAITS.values[0,6].each do |trait|
value = trait[:kai][kai]
value = '?' if value.nil? || value.empty?
buf << " #{value} |"
end
buf << "\n"
end
buf << "\n\n"
buf << "| Tier | Kai |"
TRAITS.values[6,6].each do |trait|
buf << " #{trait[:name]} |"
end
buf << "\n"
buf << "|----|----|----|----|----|----|----|----|\n"
buf << "| | |"
TRAITS.values[6,6].each do |trait|
buf << " #{trait[:genes]} |"
end
buf << "\n"
Kai::ALPHABET.each_char do |kai|
tier = ROMAN[ Gene::TIER[kai] ]
tier = '?' if tier.nil?
buf << "| #{tier} | #{kai} |"
TRAITS.values[6,6].each do |trait|
value = trait[:kai][kai]
value = '?' if value.nil? || value.empty?
buf << " #{value} |"
end
buf << "\n"
end
buf << "\n\n"
buf += "## Mutations / Mewtations\n\n16 Mutation Pairs (16 x 2 = 32)\n\n```\nTier I Tier II Tier III Tier IIII Tier V\n (1-g) (h-p) (q-t) (u,v) (w)\n1+2 = h h+i = q q+r = u u+v = w\n3+4 = i j+k = r s+t = v\n5+6 = j m+n = s\n7+8 = k o+p = t\n9+a = m\nb+c = n\nd+e = o\nf+g = p\n```\n\nNote: It's impossible for a mutation to reach `x` e.g. `w+x = x`.\n\n## Kai (Base32) Notation\n\n|Kai |Binary |Num|Kai |Binary |Num|Kai |Binary |Num|Kai |Binary |Num|\n|-------|-------|---|-------|-------|---|-------|-------|---|-------|-------|---|\n| **1** | 00000 | 0 | **9** | 01000 | 8 | **h** | 10000 |16 | **q** | 11000 |24 |\n| **2** | 00001 | 1 | **a** | 01001 | 9 | **i** | 10001 |17 | **r** | 11001 |25 |\n| **3** | 00010 | 2 | **b** | 01010 | 10| **j** | 10010 |18 | **s** | 11010 |26 |\n| **4** | 00011 | 3 | **c** | 01011 | 11| **k** | 10011 |19 | **t** | 11011 |27 |\n| **5** | 00100 | 4 | **d** | 01100 | 12| **m** | 10100 |20 | **u** | 11100 |28 |\n| **6** | 00101 | 5 | **e** | 01101 | 13| **n** | 10101 |21 | **v** | 11101 |29 |\n| **7** | 00110 | 6 | **f** | 01110 | 14| **o** | 10110 |22 | **w** | 11110 |30 |\n| **8** | 00111 | 7 | **g** | 01111 | 15| **p** | 10111 |23 | **x** | 11111 |31 |\n\nNote: The digit-0 and the letter-l are NOT used in kai.\n\n"
puts buf
buf
end
|