お使いの端末のJavaScriptで動作します。サーバに所持金額が送信されることはありません。
アイテム
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
経験値は4の倍数、所持金は256の倍数に切り下げられます。
SAVEデータ作成 → 可読文字化 → チェックサム計算 の順に処理される。
(1)SAVEデータ作成
可読文字は7bit値であるため、下記の順序で詰め込んでいる。
チェックサム
後で計算する。
薬
薬は最大で4個持てるため、3ビット×10種=30ビット必要。
1文字に使用できるビット数は7のため、4バイト+2ビットの領域を使用する。それならば最大各7個持てるようにしてもよかったのではなかろうか…
特に、高位のビットが変動する場合、パスワードの入力時に↑or↓を何回も押す必要が出てくる。不用意に薬を持つと入力に手間取ってしまう。あいむ・かりうは持たないようにしたい。
イベントSW
同じ理由で、メモは木下に渡すべきではない。最高位のbitが立ってしまう。
bit位置 | 対象イベント |
A | 発電所:古びた発電機電源ON |
B | でうす:治療 |
C | 行政区:マックスのことを聞いてどうなる。あいつは死んでしまった! |
D | 病院:ナターシャが知っている |
E | 居住区:ナターシャ「あーさに会ってみて |
F | 警備室:このメモを木下に渡してくれ |
G | 病院:マックスに会ってきなさい |
H | ラボ:右下シャチ「地球を発見した。 |
I | コックピット:左側イルカ「お前たちの代表と話がしたい |
J | ラボ:左上イルカ「お前たちには2つの道が残されている~代表権を授けよう |
アイテム
所持している個数でパスワード長が変動する。もちろん何も所持していなければ短くなる。
アイテムIDを3ビットにする都合により、アイテムIDが2以上の場合のみ、アイテムIDを1引いて(3ビットにして)格納する、という変則的な処理を行っている。そのためアイテムIDが1のBOMBはSAVEされない。
アイテムは2個ペアで1文字となる。SAVE対象のアイテムを奇数個しか持っていない場合、ペアの欄には000が入る。が、CONTINUE時にはIDを+1されることで、BOMBに化ける。
不要なアイテム所持もパスワードが長くなる要因となる。
セパレータ/フィニッシャ
アイテムが可変長のため、©の手前までをアイテム定義としている。パスワードには必ず©の文字が入る。同じく、FINも必要。
キャラクタ
仲間が増えるごとにパスワードが5文字長くなる。
所持金は下8ビットが削られる。経験値は下2ビットが削られる。(★ごーるどは、おおくて255ごーるど引かれます。けいけんちは、おおくて3引かれることがあります。)
現在HP,MPは保存されないため、再開時に全回復する。(★ひっと力・さいこ力・けいけんちは、そのときのレベルの最大値になります。)経験値がそのときのレベルの最大値になるのではなく、レベルがそのときの経験値の最大になる。
(2)可読文字化
得られたデータの各バイトに対し、+65(2進数表記で+01000001)を行う。
値に対応する文字は以下の通り。
10進数 | 2進数 | 字 |
65 | 01000001 | A |
66 | 01000010 | B |
67 | 01000011 | C |
68 | 01000100 | D |
69 | 01000101 | E |
70 | 01000110 | F |
71 | 01000111 | G |
72 | 01001000 | H |
73 | 01001001 | I |
74 | 01001010 | J |
75 | 01001011 | K |
76 | 01001100 | L |
77 | 01001101 | M |
78 | 01001110 | N |
79 | 01001111 | O |
80 | 01010000 | P |
81 | 01010001 | Q |
82 | 01010010 | R |
83 | 01010011 | S |
84 | 01010100 | T |
85 | 01010101 | U |
86 | 01010110 | V |
87 | 01010111 | W |
88 | 01011000 | X |
89 | 01011001 | Y |
90 | 01011010 | Z |
91 | 01011011 | あ |
92 | 01011100 | い |
93 | 01011101 | う |
94 | 01011110 | え |
95 | 01011111 | お |
96 | 01100000 | か |
|
10進数 | 2進数 | 字 |
97 | 01100001 | き |
98 | 01100010 | く |
99 | 01100011 | け |
100 | 01100100 | こ |
101 | 01100101 | さ |
102 | 01100110 | し |
103 | 01100111 | す |
104 | 01101000 | せ |
105 | 01101001 | そ |
106 | 01101010 | た |
107 | 01101011 | ち |
108 | 01101100 | つ |
109 | 01101101 | て |
110 | 01101110 | と |
111 | 01101111 | な |
112 | 01110000 | に |
113 | 01110001 | ぬ |
114 | 01110010 | ね |
115 | 01110011 | の |
116 | 01110100 | は |
117 | 01110101 | ひ |
118 | 01110110 | ふ |
119 | 01110111 | へ |
120 | 01111000 | ほ |
121 | 01111001 | ま |
122 | 01111010 | み |
123 | 01111011 | む |
124 | 01111100 | め |
125 | 01111101 | も |
126 | 01111110 | や |
127 | 01111111 | ゆ |
128 | 10000000 | よ |
|
10進数 | 2進数 | 字 |
129 | 10000001 | ら |
130 | 10000010 | り |
131 | 10000011 | る |
132 | 10000100 | れ |
133 | 10000101 | ろ |
134 | 10000110 | わ |
135 | 10000111 | を |
136 | 10001000 | ん |
137 | 10001001 | ゃ |
138 | 10001010 | ゅ |
139 | 10001011 | ょ |
140 | 10001100 | ア |
141 | 10001101 | イ |
142 | 10001110 | ウ |
143 | 10001111 | エ |
144 | 10010000 | オ |
145 | 10010001 | カ |
146 | 10010010 | キ |
147 | 10010011 | ク |
148 | 10010100 | ケ |
149 | 10010101 | コ |
150 | 10010110 | サ |
151 | 10010111 | シ |
152 | 10011000 | ス |
153 | 10011001 | セ |
154 | 10011010 | ソ |
155 | 10011011 | タ |
156 | 10011100 | チ |
157 | 10011101 | ツ |
158 | 10011110 | テ |
159 | 10011111 | ト |
160 | 10100000 | ナ |
|
10進数 | 2進数 | 字 |
161 | 10100001 | ニ |
162 | 10100010 | ヌ |
163 | 10100011 | ネ |
164 | 10100100 | ノ |
165 | 10100101 | ハ |
166 | 10100110 | ヒ |
167 | 10100111 | フ |
168 | 10101000 | ホ |
169 | 10101001 | マ |
170 | 10101010 | ミ |
171 | 10101011 | ム |
172 | 10101100 | メ |
173 | 10101101 | モ |
174 | 10101110 | ヤ |
175 | 10101111 | ユ |
176 | 10110000 | ヨ |
177 | 10110001 | ラ |
178 | 10110010 | ル |
179 | 10110011 | ロ |
180 | 10110100 | ワ |
181 | 10110101 | ヲ |
182 | 10110110 | ン |
183 | 10110111 | 0 |
184 | 10111000 | 1 |
185 | 10111001 | 2 |
186 | 10111010 | 3 |
187 | 10111011 | 4 |
188 | 10111100 | 5 |
189 | 10111101 | 6 |
190 | 10111110 | 7 |
191 | 10111111 | 8 |
192 | 11000000 | 9 |
|
10進数 | 2進数 | 字 |
193 | 11000001 | © |
194 | 11000010 | FIN |
|
(3)チェックサム計算
1文字目は奇数番目(3,5,7,9,...)、2文字目は偶数番目(4,6,8,10,...)の、(+65された後の)各バイト値の総和を取り、 &0x7fで下位7bitを取得し、そこに+65し自身を可読文字化する。
FINの文字はチェックサムの計算に含まない。