モジュール詳細:カラーモールス
... .- -. ... ..- ..- .... .- - .- -. --- ... .. ..!
- このモジュールには、様々な色の3つの点滅するライトと演算子とそれらを囲む括弧が含まれている。
- それぞれのライトは、モールス信号で一桁の数字か一文字の英字を表している。それらが英字を表している場合、その文字のアルファベットでの位置+9の数字として扱う。(A=10、B=11、など)
- それぞれの数字について、下のテーブルから得られるそのライトの色に応じた操作を適用する。ライトの色が白の場合、その数字には何もしない。
-
新しく得られた数字をそのライトの場所に当てはめたときの数式の数字を計算する。
- 結果が整数でない場合、小数点以下を切り捨て整数にして考える。
- 結果が負である場合、他の数字の前にハイフンを付けなければならない(-0は0となる)。
- 結果の絶対数字の数字が999より大きい場合、下三桁のみを考える。
- これらのルールが複数当てはまる場合、上から順に適用する。先頭の0は無視する。
- ボタンを利用して、結果をモールス信号で入力する。空白のボタンはそれぞれの桁のモールス信号を区切るために利用する。
- ミスが記録された場合、それまでの入力はリセットされる。
数字を参照するルールがある場合、三十六進数の数字を参照している(A=10, ..., Z=35)。 文字を参照するルールがある場合、モールス信号で表現された英字や数字を参照している。
色 | 操作 |
---|---|
赤 (red) |
数字が奇数の場合、倍にする。そうでない場合、半分にする。 |
オレンジ (orange) |
数字が3の倍数の場合、3で割る。そうでない場合、原色*で点滅しているライトの数を加える。 |
黄色 (yellow) |
数字を二乗する。 |
緑 (green) |
括弧が2つ目と3つ目のライトを囲っている場合、1つ目と2つ目のライトを囲っているものとして扱う。1つ目と2つ目のライトを囲っている場合、2つ目と3つ目のライトを囲っているものとして扱う。 |
青 (blue) |
数字を3倍して、その数の数字根**を計算する。 |
紫 (purple) |
10から数字を引く。 |
* 原色は青、赤、黄色である。
** 数字根とは、数字のそれぞれの桁の和を求める操作を1桁の数が得られるまで繰り返したときの数である。