ブラウザで遊べる 1 人用パズル

リレーから CPU へ、
できるだけ小さく

マス目の盤面にリレーと配線を置いて回路を作る。できた回路は部品として登録でき、作ったときの大きさのまま次のステージで使える。スコアは盤面の面積。小さいほどよい。

28 ステージ・インストール不要・進み具合はこのブラウザに保存

oncinoutoncinoutabout
XOR / 4×3、面積 12(パー 12)。a=0 b=1 のとき out=1

作る、登録する、次で使う

回路パズルとしては、リレー 2 種類から始まるところは nandgame と同じ。違うのは、作った部品の大きさが次のステージにそのまま効くこと。

1

作る

oncinoutoffcinoutdstq

盤面にリレーと配線を置いて、テストを全部通す。この D latch は 4×3、面積 12。

2

登録する

D latch 4×34×3 ・ 面積 12

通ったら部品として登録できる。大きさは作ったときのまま。名前は自分で付ける。

3

次で使う

D latch 4×3dstqD latch 4×3dstqNOT 2×1aoutdclkq

次のステージで置ける。この D flip-flop は D latch 2 個と NOT 1 個、10×6 で面積 60。

同じ機能でも大きさ違いを何個でも登録できる。あとで狭いところに入れたくなったら、小さい版を作りに戻ればいい。置くときは回転も反転もできる。

スコアは面積

幅かける高さ。それだけ。速さも部品の数も数えない。

同じ回路でも、端子の向きを変えれば入るところが変わる。配線を 1 本引き回すのをやめれば 1 列詰められる。パーは参考解の面積で、下回ると実績が付く。

4×3
6×2
12×1

どれも面積 12。入る場所が違うので、同じ XOR を何通りも作って持っておける。

盤面を縮めると、空いている行や列から削られる。次に消える行と列は赤く出る。

ステージパー

NOT2

AND3

NAND6

OR6

XOR12

SR latch12

Negative (8-bit)16

Half adder30

D flip-flop60

NOT から 8 ビット CPU まで、28 ステージ

最後の 3 つで、命令を読んで動く 8 ビット CPU になる。テストは 3 本のプログラムが最後まで正しく走ること。

論理NOT・NAND・AND・OR・XOR・Selector・Switch7

加算Half adder・Full adder2

記憶SR latch・D latch・D flip-flop・1-bit register4

8 ビットNegative (8-bit)・Zero (8-bit)・Selector (8-bit)・Adder (8-bit)・Increment (8-bit)・Subtract (8-bit)・Register (8-bit)・Counter (8-bit)8

演算Logic unit (8-bit)・Arithmetic unit (8-bit)・ALU (8-bit)・Condition (8-bit)4

CPURAM (4 words)・Control unit・CPU3

ステージ一覧と自己ベスト

要るのはブラウザだけ

インストールも登録もない。開いたら遊べる。

保存はこのブラウザの中

進み具合と作った部品はブラウザに残る。JSON で書き出して別のブラウザへ移せる。

実績は任意

game-center に記録できる。記録するかどうかは押すまで起こらない。

ソースは公開

エンジンもステージも GitHub にある。

最初のステージは NOT

定数 1 とリレー 1 個。面積 2 で作れる。ここから 28 段のぼると CPU になる。

NOT から始める