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 += <<TXT
## Mutations / Mewtations
16 Mutation Pairs (16 x 2 = 32)
```
Tier I Tier II Tier III Tier IIII Tier V
(1-g) (h-p) (q-t) (u,v) (w)
1+2 = h h+i = q q+r = u u+v = w
3+4 = i j+k = r s+t = v
5+6 = j m+n = s
7+8 = k o+p = t
9+a = m
b+c = n
d+e = o
f+g = p
```
Note: It's impossible for a mutation to reach `x` e.g. `w+x = x`.
## Kai (Base32) Notation
|Kai |Binary |Num|Kai |Binary |Num|Kai |Binary |Num|Kai |Binary |Num|
|-------|-------|---|-------|-------|---|-------|-------|---|-------|-------|---|
| **1** | 00000 | 0 | **9** | 01000 | 8 | **h** | 10000 |16 | **q** | 11000 |24 |
| **2** | 00001 | 1 | **a** | 01001 | 9 | **i** | 10001 |17 | **r** | 11001 |25 |
| **3** | 00010 | 2 | **b** | 01010 | 10| **j** | 10010 |18 | **s** | 11010 |26 |
| **4** | 00011 | 3 | **c** | 01011 | 11| **k** | 10011 |19 | **t** | 11011 |27 |
| **5** | 00100 | 4 | **d** | 01100 | 12| **m** | 10100 |20 | **u** | 11100 |28 |
| **6** | 00101 | 5 | **e** | 01101 | 13| **n** | 10101 |21 | **v** | 11101 |29 |
| **7** | 00110 | 6 | **f** | 01110 | 14| **o** | 10110 |22 | **w** | 11110 |30 |
| **8** | 00111 | 7 | **g** | 01111 | 15| **p** | 10111 |23 | **x** | 11111 |31 |
Note: The digit-0 and the letter-l are NOT used in kai.
TXT
puts buf
buf
end
|