;************************************************************ NEC モバイルギア(MC-MKシリーズ)で「ののぐらむ」を解く MGNONO.EXE 1998.6.26 Version 1.51 yk_kawa(at)sannet.ne.jp ゆき ;************************************************************ ;************************************************************ 1.「ののぐらむ」とは? ;************************************************************  ののぐらむとは縦横の方眼紙状のマス目をヒントの数字に従って塗り潰して 絵を完成させるパズルです。「お絵かきロジック」「イラストロジック」「ロ ジックアート」「ピクロス」等の呼び名もあるようですがすべて同じものです。  このパズルは、「E.T.への手紙」として電波望遠鏡から発信したビット 列をヒントにして、「いしだ のん」さんが考案、イギリスで発表したのが最 初のようです。日本では毎日新聞に1991年9月に掲載されたのが最初とか。 (現在も日曜版に掲載中。)  以下、ここではこのパズルの考案者 いしだ のん さんに敬意を表して 「ののぐらむ」の表記を使わせていただきます。  では、簡単にルールを説明しましょう。 ○例題 ヒント:動物(のつもり) 1,1□□□□□ 5□□□□□ 3□□□□□ 3□□□□□ 3□□□□□ 1 5 4 5 1  という問題があります。マス目の外の数字は黒マス「■」が続いている数を 示します。(以下、数字ヒントと呼ぶ。「動物(のつもり)」は文字ヒントと する。) 3□□□□□ とあった場合、連続して3つのマス目をぬりつぶします。しかし、まだ ■■■□□ と塗ったらよいか □■■■□ と塗るか □□■■■ と塗るかはわか りません。縦方向も同じルールで数字がふられていますのでそれらから推理 してマス目を塗って行きます。  例題の 1,1□□□□□ の部分は黒マス1個と1個が離れて2ヶ所にあることを示します。  上の例題では、 5の行(列)があります。この数は行(列)の幅と同じなので その行(列)はすべて黒マスで埋めることができます。 1,1□■□■□ 5■■■■■ 3□■□■□ 3□■□■□ 3□■□■□ 1 5 4 5 1  つぎに 3の行を見てみましょう。 3□■□■□    ↑ ↑ となっています。矢印のマスは黒であることが確定しており、更に3個の黒マス が連続しているわけですから、この場合は 3□■■■□ となります。従って、 1,1□■□■□ 5■■■■■ 3□■■■□ 3□■■■□ 3□■■■□ 1 5 4 5 1 と塗り潰すことができ、牛の顔(と思ってください(^^;)が出てきました。この ようにして問題を解くとヒントに対応する絵が出てきます。  ルールは単純ですが、サイズが大きくなると級数的に難しくなって行きます。 苦労の末、絵が出てきたときの感動は格別です。 ;************************************************************ 2.MGNONO.EXEとは? ;************************************************************  CGA版ののぐらむ「CNONO.EXE」を、DOS化したモバイルギア用に移植したもの です。CNONO.EXEは CGAエミュレータ上でなら動作しますが、MGNONO.EXEは エミュレータなしの環境で動作します。ただし、UNISHELL上では動作しません。  キー入力待ちの状態では CPUスピードを約1.6MHzに落としてパワーセーブします。 長考に入ってもバッテリーをそれほど消費しません。  MGNONO.EXE はパソコンにののぐらむを解かせるのでも、ののぐらむの問題を 作るのでもなく、自分で問題を解いて楽しむためのものです。言ってみれば単に 解答用紙の代わりをパソコンにさせるものです。問題はサンプル程度しか用意 していませんので、全部解いてしまったら雑誌などから探して入力するか、拙作 NONOCONV.EXE で他のソフトの問題を変換して使うようお願いします。m(__)m 今は星の数ほど専門誌が出版されています。  村上卓弥さんの作成された WinNONO.EXE (Windows版ののぐらむ解析・制作・実 行ソフト)の出力するテキスト形式のファイルを読み込めるようにしました。 Windows が使える環境をお持ちの方はそちらで問題を作って MGNONO.EXE で実行す ることができます。拡張子は .TXT にして「エクスポート」でセーブしてくださ い。  また、このフォーマットは Nifty FQUIZ の 会議室などでも使われていた フォーマットです。エディターなどでその部分を切り出して .TXT の拡張子で テキストセーブすると MGNONO.EXEの問題として使うことができます。  逆に WinNONO.EXE で読み込めるようなテキスト形式のセーブもできます。拡張 子を .TXT としてセーブしたものは「インポート」で読み込めます。 ;************************************************************ 3.インストール ;************************************************************  MGNONO.EXE を適当なディレクトリにコピーしてください。本格的に遊びだすと 問題ファイルや途中経過ファイルが増えると思いますのでディレクトリを新しく 作ることをお薦めします。  拡張子が .NNO のファイルが問題ファイルです。これも同じディレクトリに入 れてください。MGNONO.EXE と同じディレクトリに MGNONO.ENV というファイルが自 動的に作成されます。これは現在の各種設定を記録したファイルですので消さな いでください。 ・MGNONO.EXE で直接扱うファイル: *.NNO 問題ファイル *.NNA 問題を解いた解答ファイル(途中経過) *.NN0〜*.NN9 途中セーブファイル *.TXT FQUIZ テキスト形式の問題ファイル MGNONO.ENV MGNONO.EXE の各種設定を記録したファイル MGNONO.FIN 解きおわったファイルの一覧 ;************************************************************ 4.起動 ;************************************************************  コマンドラインから  MGNONO [RETRUN] で起動できます。はじめての起動ならファイラーが起動します。二回目以降の起 動なら、前回の続きから実行します。  また、  MGNONO ファイル名[RETRUN] で、問題ファイルを指定できます。 ●オプションスイッチ  MGNONO.EXEは次のオプションスイッチが追加されました。通常はこれらの スイッチなしで起動して問題ないはずです。 -C 機種チェックをしない(デフォルトは、する)  MGNONO.EXEは機種チェックをしてモバイルギア以外では動作しないように なっています。これが誤動作して起動しない場合にこのスイッチをつけて下さい。 -P CPUスピードを変更しない(デフォルトは、する)  キー入力待ちの時に CPUスピードを約1.6MHzに落としていますが、これが なんらかのパワーマネジメントソフトと相性が悪い場合はこれをつけて下さい。 ;************************************************************ 5.問題の解き方 ;************************************************************  USHI.NNO を選ぶと次のような画面が出ます。(だいたいこんな雰囲気。) ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ < MG ののぐらむ Ver. 1.51 > (C)JR0DBK Yuki,1995-1998 file:USHI.NNO 初心者練習問題:牛(?) 1 1口□□□□ 5□□□□□ 3□□□□□ 3□□□□□ 3□□□□□ 1 5 4 5 1   [Picture]   □ [F1]:Help ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑  基本は ・カーソルキーでカーソル移動 ・スペースキーでマス目の白黒反転 ・[X] か [.] キーで白マス確定(ドット打ち) となります。  カーソルキーを押すとマス目の中を四角の反転カーソルが動いて行きます。ス ペースキーを押すとマス目が白黒反転します。また、[.] か [X] キーを押すとマ ス目の中央に点を打ちます。これは、「このマスは白であることが確定した」と いう印として使います。内部的には白マスと同じ扱いになります。  数字ヒントと文字ヒントから推理してマス目を埋めていきます。問題が解ける とベルが鳴り、点マスがクリアされて Congratulations! と表示されます。  バージョン 1.34以降より、[SHIFT]キーを押しながらカーソル移動すると、 マス目をコピーするようにしました。広い部分を塗りつぶしたり、点を打つ時 に便利です。 [Q] キーを押すと MGNONO.EXE が終了します。終了時に解答の途中経過を自動的に セーブしますので、再び MGNONO.EXE を起動すると続きから始められます。終了時 だけでなく、MGNONO.EXE は必要なときには自動的に解答の途中経過をセーブしま すので特にセーブ操作をする必要がありません。 [L] キーで別の問題をロードできます。ファイラーが起動しますので画面に表示 されたファイルを選んでください。ファイラーはマイクロソフトのソフトのファ イラーと同様の操作を行います。[TAB] キーで ファイル名の編集→ファイルの 選択→ディレクトリの選択→ファイル名の編集 と切り替わります。  ファイル名の前に '*' がついているものは一度解きおわったものです。  特にセーブコマンドは設けていませんが、ファイルのロード直前に自動的に途 中経過をセーブしますので気軽に別の問題をロードできます。 [S] キーでパズル途中経過を1問につき10個までセーブすることができます。 キーを押すと Save file No.:0123456789 と表示されます。ここで 数字1文字[RETRUN] を入力すると現在の解答内容が その番号でセーブされます。:(コロン)の後の数字は使われていない番号を示 します。既に使われている番号は表示されません。 [R] キーで途中セーブした内容を呼び戻せます。キーを押すと input file No.:0 と表示されます。: (コロン)の後の数字はセーブ済みのファイルを示します。 [S] キーで0、1、2、3の4回セーブしたなら input file No.:0123 と表示されます。0〜4の数字を入力すると、数字に応じてセーブした内容が復 帰します。 [C] キーでマス目を全てクリアできます。 All Clear. OK? (y/n) と確認メッセージが出ます。y[RETRUN] と入力するとすべて消去します。n[RETRUN] で消去せずに続けることができます。 [O] キーはオプション設定です。数字ヒントの上下左右の位置変更と縮小ピク チャー表示の縦横比とファイラーのソーティング方法を変更できます。それぞ れの項目を変更しない場合はそのまま [RETRUN] キーを押してください。 (1)数字ヒントの左右位置の変更 number Left or Right ? と、数字ヒントを左側にするか右側にするかを聞いてきます。L[RETRUN] か R[RETRUN]を入力してください。 (2)数字ヒントの上下位置の変更 number Up or Down ? と、数字ヒントの上下位置を聞いてきます。やはり、U[RETRUN] か D[RETRUN] を 入力してください。 (3)ファイルのソーティング方法の変更 file sort ? Filename Time Size Non と表示されますので次の中から好みの方法を選んでください。 Filename ファイル名をABC順でソートします。 Time ファイルの作成時間が古い順にソートします。 Size ファイルの大きさが小さい順にソートします。 Non 特にソートしません。  以上でオプション設定は終わりです。 [N] キーは縮小ピクチャー表示のネガポジ反転をします。ヘルプが表示されてい るときは無視されます。 [F1] キーで簡単なヘルプが表示されます。表示したままパズルを実行できます。 そのかわりに縮小ピクチャー表示がされなくなります。戻すときはもう一度 [F1] キーを押してください。 ;************************************************************ 6.問題の入力 ;************************************************************  雑誌などの問題を入力します。画面がそれほど広くないので大きなものは はいりきりません。最大、幅40・高さ30までマス目は作成できますが、 この場合ヒントの数字がほとんど入りません。実際には幅35、高さ25 くらいが限界でしょう。  起動して、解答画面で [E] キーを押すと問題の編集モードになります。以下、 次のように入力して行きます。 (1)新規・既存問題をオープンして編集・現在の問題の編集の選択 画面左中央に以下のような表示が出ます。 New / Open / Current?  ここでは、新しく問題を作るか、ファイルを開いて編集するか、現在読み込ん でいる問題を編集するか選びます。N か O か C の1文字入力して [RETRUN] キー を押してください。O(ファイルを開く)の場合はファイラー画面になり、編集す るファイルを選びます。C(既存の問題の編集)の場合は現在の問題を編集するこ とになります。 (2)問題のマス目のサイズと文字ヒントを入力(新規入力のみ)  新しく問題を作る場合は続けて次の表示が出ます。 data width? (3-40)  ここでは、問題のマス目の幅を入力します。最少3マスから最大40マスの問 題が入力できます。数字を入力して [RETRUN] を押してください。  問題が大きすぎて90度回転させて入力する場合は、元の問題を90度反時計 回りに回転させて入力することになります。その場合、元の問題の高さを入力し ます。(あくまでも MGNONO.EXE の画面の横方向のマス目の数を入力することに注 意。)  次に、 data height? (3-30) と聞いてきます。問題のマス目の高さを入力します。マス目の範囲は3〜30で す。数字を入力して [RETRUN] を押してください。  90度回転させて入力する場合は、元の問題の幅を入力します。  次に、新しく問題を作る場合は画面がいったんクリアされて次のような表示が 出ます。 Hint? (max 49characters. kanji:24characters.) /end point ここでは文字ヒントを入力してください。FEPが使えるのなら漢字で入力して もかまいません。半角文字なら49桁、全角文字なら24桁までにしてください。 「/end point」の最初の「/」のところまで入力できます。 (3)縮小ピクチャーの回転指示  問題がある程度大きく、横長の場合、マス目が表示しなおされた後に左中央に 次の表示が出ます。 rotate ?(Y/N) ここでは縮小ピクチャー表示を回転して表示するかどうかを入力します。問題を 普通の向きで入力する場合は N[RETRUN] と入力してください。問題を90度反時 計回りに向きを変えてある場合のみ Y[RETRUN] を入力してください。  問題が小さかったり、縦長の場合はこの入力は省略されます。 (4)数字ヒントの入力位置を選ぶ  マス目の外がわに横長のカーソルが現れます。このカーソルはカーソルキーで 移動できます。カーソルを入力したい位置まで移動させてから [RETRUN] キーを押すとその位置に数字ヒントを入力することができます。 (5)数字ヒントの入力  やはり画面左中央に input number と表示されます。ここで数字ヒントを入力します。数が複数ある場合はコンマや ピリオド、スペースで区切ってください。 例: input number 1.2.12.4 数字を入力して最後に [RETRUN] キーを押します。するとカーソル位置に数字が入 力されます。 (6)すべてのヒント数を入力する  (4)と(5)を繰り返してすべての数字ヒントを入力します。 (7)数字ヒントの集計  数字ヒントを全て入力しおわったら [ESC] キーを押します。  すると、プログラム内部で自動的に数字ヒントの集計を行います。数字ヒントに ミスがある場合は check sum error! continue? (Y/N) と表示されます。Y[RETRUN] で編集を続けます。N[RETRUN]で、そのままセーブでき ますが、このエラーが出た問題は解くことができません。  入力ミスが無いと思われる場合は何も表示せず、次に進みます。 (8)ファイルのセーブ  次に、ファイラーが起動します。新規入力の場合はファイル名が _NEW_.NNO に なっていますので [BS] キーでいったん消去して新しいファイル名を入力 します。  既存のファイルを編集している場合は、そのまま [RETRUN] キーを押します。す ると画面中央に 「Overwrite OK?(Y/N)」 と表示が出ます。Y を押すとファイル を上書きします。N を押した場合はファイル名入力に戻りますので、別のファイ ル名を入力しなおすこともできます。  セーブするディレクトリやドライブを変更する場合は [Tab] キーを押して右下 の [Directories] の部分にカーソルを移動してください。そのあと、カーソルの 上下キーでディレクトリやドライブを選んで [RETRUN] キーを押すとディレクトリ やドライブ移動ができます。ここの部分に .. と、ピリオド2つが出る場合があ ります。これを選んで [RETRUN] キーを押すと上のディレクトリに戻ります。  なお、拡張子は省略できます。(と、いうより省略してください。)この場合、 拡張子は .NNO になります。  拡張子を .TXT にしてセーブすると自動的に FQUIZ テキスト形式でセーブしま す。FQUIZ テキスト形式とは、Nifty-serve の FQUIZ フォーラムで使われている フォーマットをもとにした形式です。このファイルを紙にプリントするとそのま ま問題用紙になります。  これで入力が終わりました。 ;************************************************************ 7.注意事項 ;************************************************************  UNISHELL上のアプリケーションではありません。DOS化した状態でのみ動作 します。  動作にはフォントドライバーが必要です。モバイルギアでは ROMの CONFIG.SYS で登録されていますので普通はそのままで動作可能です。カードブートされ ている方も、通常はなにか組み込んでいるでしょうから問題無いと思います。  このソフトでは、入力ミス等で問題に矛盾が生じても検出できません。どうし ても解けない場合は入力ミスの可能性もありますので元の問題と照らし合わせて みてください。  バージョン 1.30 より、データ入力時にチェックサムを導入しました。縦方向 の数字ヒントの総和と横方向の数字ヒントの総和を比較することで入力ミスを検 出します。これにより、数字の打ち間違いなどの単純なミスは検出できるように なりました。しかし、原理上、数字の入れ代わりは検出できません。 ○ 1 1 2 | × 11 2 |数字が間違っている場合は検出できる ○ 1 2 3 | × 2 1 3 |数字の順番が入れ変わっている場合は検出できない  雑誌等を見て入力した問題は個人で使用するにとどめておいてください。雑誌 の問題を、問題の作者の了解なくネットのような公の場に発表すると著作権上問 題になると思います。もちろん、自分で作った問題であればなんの不都合もあり ません。問題を作ったらどんどんアップしてくださいね。  このプログラムは「ノコウェア」です。「ノコさん」こと、谷山浩子さんを応 援するソフトです。(*^^*) べつに大変なことが書いてあるわけではないので、 詳しいことは同梱の規約を読んでください。コピーは自由です。転載は事後連絡 でもかまいませんので連絡してください。 ;************************************************************ 8.最後に ;************************************************************  このプログラムはエル・エス・アイ ジャパン(株)の LSI C-86 Ver.3.30c 試食版でコンパイルされています。完全に実用になるCコンパイラーをフリーで 公開してくださったエル・エス・アイ ジャパン(株)の皆様に感謝します。  ののぐらむの由来は 旅する黒猫 さんに教えていただきました。それだけでな く、「ノコウェア」についてもご指導いただきました。(^^;どうもありがとうご ざいました。  このプログラムの動作確認は、MC-MK32で行っています。ディスプレイドライバ は主に MOGDで確認していますが、時々 MGDISPH, MGDISP2でも簡単なチェックを しています。  バグレポート、意見や自作の問題等は大歓迎です。よろしくお願いします。 yk_kawa(at)sannet.ne.jp ゆき [EOF]