MS-DOS 汎用
盤面の数字を全て「ゼロ」にすればクリア。とてもシンプルなパズルです。
カーソル移動 | 8246、IMJK、カーソルキー |
---|---|
パネルの数字を+1する | Z、5、スペースキー |
パネルの数字を−1する | X、0、リターンキー |
ギブアップし、終了する | Q、G、エスケープキー |
起動オプションは以下の通りSオプションとLオプションがあり、盤面のサイズとループ個数を設定できます。引数無しのデフォルトでは、5行5列で4ループの盤面になります。
A:\> ALLZERO.COM S[2-9] L[1-9] 例)> allzero S3 L3
ゲームを起動すると、数字がずらっと並んだ行列が現れます。この数字を全てゼロにすることがゲームの目的です。
数字を変えるには、カーソルキーのある場所でスペースキー(またはZキーか5キー)を押します。するとカーソルキーがあるのと同じ行・列すべての数字(将棋の飛車の効きスジ全て、と言った方が分かりやすいでしょうか)がプラス1されます。この際、数字の値がループの上限に達している場合はゼロに戻ります。デフォルトでは1→2→3→4→0→1……とループするわけですね。
こうして数字をプラス1もしくはマイナス1しながら、盤面すべてをゼロにすれば良いわけです。下の2x2盤面の例ですと、左下にカーソルを合わせてプラス1すれば「4」が全て「0」になるため、これで盤面すべてがゼロになってゲームクリアです。
ゲームのルールは簡単ですが、これがなかなかむつかしい。クセモノなのが上下左右すべての数字が変わってしまう、ということで、感覚や当てずっぽうでやってみても全くと言っていいほど上手く行きません。この、「意図しないところも変わってしまう」というのがなんだかルービックキューブみたい。
ゲームの解は、これはかなり数学的に形式化して書けそう。i行j列の行列Aに対する操作をσi,jと書けば、これはj行の1列めからn列めまですべてプラス1し、かつ、i列の1行めからn行めまでをプラス1(i行j列を2回足さないよう注意)する操作……として、あとは群論で全て扱えそうです。(たとえばその場でスペースキーを押し続けると、5回押して元の盤面に戻るので一つの巡回群を作っていますね)。
画面はとてもシンプルなゲームですが、なかなか楽しめました。今でもWebでJavaScript onlyのコーディングで作れそうですね。
「AllZero」Ver 1.12 (付属ドキュメントに転載可と記述あり)
=============================================================================== 【名 称】 暇つぶし用パズル「AllZero」 【登 録 名】 ALLZERO.LZH ( 11,611 bytes ) 【制作者名】 workless(枡屋航) 【掲載者名】 workless(枡屋航) (GCG02761) 【動作環境】 MS-DOS汎用 【掲載月日】 1993/11/15 【作成方法】 LHA X ALLZERO 【検索キー】 ALLZERO.LZH %GCG02761 $MSDOS #PUZZLE ------------------------------------------------------------------------------- MS−DOS上なら殆どの機種で動く ちょっとした暇つぶし用のパズルです。 画面はテキスト表示なので非常に寂しいモノがありますが、 けっこうムズカシかったりします。 ファイルサイズも小さいので、パズル好きの方は ぜひ遊んでやって下さい。 ===============================================================================