News Maker version1.00 取り扱い説明書 1.概要 「作文ゲーム」というものがあります。「だれが」「何を」「どうした」などの文 の要素を複数の人にばらばらの紙に書いてもらい、それらをでたらめに組み合わせて 変な文章を作って楽しむというもので、遠足のバスの中などでよく行われるレクリエ ーションです。 このNews Maker version1.00(以下、NM)は、それをコンピュータで行うプログ ラムです。あらかじめ作成しておいたデータファイルに基づいて文章を作成します。 このプログラムはMS-DOS汎用です。 2.1.データファイル NMで使うデータファイルはMS-DOS形式のテキストファイルです。その形式 を説明します。(枠は便宜上つけたもので、実際にはありません。) ┌─────────┐ │ │ │ ;sample data │←「;」で始まる行はコメント行として無視されます。 │ │ │ ;title │←タイトル │ サンプルデータ │←タイトル │ │ │ ;流れデータ │ │ 0,1,2,3,4,-2 │←流れデータ1行目 │ 1,2,3,4,-2 │←流れデータ2行目 │ 2,3,4,-1 │←流れデータ3行目 │ │←空行はコメント行と同様に無視されます。 │ ;文章データ │ │ ;block 0 │ │ 昨日 │┓ │ 今日 │┃←文章データブロック0 │ 明日 │┛ │ /e │ │ │ │ ;block 1 │ │ 公園で │┓ │ 道端で │┃←文章データブロック1 │ 家で │┃ │ 駅前で │┛ │ /e │ │ │ │ ;block 2 │ │ 僕は │┓ │ 私は │┃←文章データブロック2 │ 彼は │┃ │ 彼女は │┛ │ /e │ │ │ │ ;block 3 │ │ 走る │┓ │ 歩く │┃←文章データブロック3 │ 座る │┛ │ /e │ │ │ │ ;block 4 │ │ 。 │ ←文章データブロック4 │ /e │ 要素が1つなので必ず「。」が選ばれる。 │ │ └─────────┘ 2.2.タイトル データファイルのタイトル名です。一番初めに表示されます。 2.3.流れデータ 流れデータは作成させる文章の流れを記述するものです。文章データには「/e」を 区切りとして自動的に0から始まるブロック番号が付けられるのでそのブロック番号 を指定します。 (例)ブロック0→ブロック1→ブロック2→ブロック0→終わり 0,1,2,0,-1 流れデータの最後の行には終端に「-1」をつけます。次の行にも別の流れデータが 続く場合には終端に「-2」をつけます。 1つの流れデータを複数の行に分けて書くことはできません。 流れデータにスペースを含むことはできません。 流れデータは100行までです。流れデータ1行につき要素は100個までです。 流れデータが複数あるときは、そのうちの1つが選択されて文章が生成されます。 選択される流れデータは毎回異なります。 2.4.文章データ 前項にあるように、文章データは「/e」を区切りとして自動的に0から始まるブロ ック番号が付けられます。ブロックの数や、1つのブロックの中の要素の数は自由で す。各ブロックの終端には「/e」または「/E」をつけてください。 文章データの中に「/@」があると改行に変換されて出力されます。 1つの文章の要素を複数の行に分けて書くことはできません。 文章データは100ブロックまでです。文章データ1ブロックにつき要素は100 個までです。 3.1.起動の仕方 DOSのプロンプトから次のように入力します。 C:\>news <データファイル名> [<ログファイル名>] ログファイルというのは、画面に表示されたものを記録したファイルです。指定 しなくてもかまいません。ログファイルを取っておくと後から編集して「傑作集」 を作ることもできます。 3.2 使用法 無事にエラーもなくデータファイルの読み込みが終わると、タイトルが表示され、 それに続いてニュースが表示されます。何かキーを押すと延々と続きます。ESCキ ーを押すと終わります。 4.サンプルデータを使ってみましょう。 前項までで、ひと通り説明しましたが、筆者の文章力の無さもあって、いまひとつ ピンとこないかもしれません。しかし、こういうものは習うより慣れろです。サンプ ルデータを使って感覚をつかんでください。ちょっと無責任ですが。 5.バグかな?!と思ったら NMが表示するエラーメッセージと考えられる原因を説明します。 『ファイルが見つかりません』 ファイル名が間違っている。 『ファイルのオープンに失敗しました』 ログファイルが作成できなかった。 ディスクが壊れている。 ディスクの容量が足りない。 『流れデータの中に数字、「-」、「,」以外の文字があります』 流れデータにスペースなどの、数字、「-」、「,」以外の文字が含まれている。 流れデータが「-1」で終わっていない。 流れデータがない。 タイトルデータが抜けている。 『ファイルエラーが発生しました』 (1) データファイルを読み込んでいるとき 文章データが「/e」または「/E」で終わっていない。 ディスクが壊れている。 (2) データファイルを読み終わった後 ディスクが壊れている。 ディスクの容量が足りない。 『流れデータ1行に要素は100個までです』 流れデータ1行の要素の数が100個を超えている。 『流れデータは100行までです』 流れデータが100行を超えている。 流れデータが「-1」で終わっていない。 『文章データは100ブロックまでです』 文章データが100ブロックを超えている。 『文章データは1ブロック100行までです』 文章データ1ブロックの要素が100個を超えている。 『メモリが足りません』 メモリが足りない。 文章データを減らしてください。 『定義されていないブロックαが、流れデータ第β行目の第γ個目で指定されまし た』 存在しない文章データのブロック番号が、流れデータの中で指定されている。 例えばブロック数が5なら、存在するブロック番号は4までですから、流れデ ータの中に5とか6とかがあるとこのエラーが出ます。 6.注意 データファイルのすべての行は1行255文字以内です。これを超えた場合、予期 しないエラーメッセージが出たり、最悪の場合暴走するかもしれませんので、気を付 けてください。 7.このソフトウェアについて このソフトウェアはフリーソフトウェアとします。 自由に使用・複写・配布してかまいません。 転載・書籍等への収録をされる際は、なるべくご連絡ください。 このソフトウェアを使用して生じた、いかなる損害にも作者はその責任を負いませ ん。 8.最後に この手のゲームは、カードゲームとしても、コンピュータソフトとしても比較的古 典的なものです。NM自体もプログラムは100%オリジナルですが、アイディアは 8ビットパソコンの時代に公開されていたソフトを参考にしています。 Windows全盛の時代にDOS汎用のソフトなんて何をいまさらといわれてし まいそうですが、Windows用のソフトウェアを開発する環境が手元に無いので 仕方がありません。どなたか、Visual C++のQuickWinとかTur bo C++のEasyWinとかで再コンパイルしてWindows用のソフトに してくれませんかねぇ。結構本気で期待してます。できたら僕にバイナリメールで送 ってください。 NMにはあえて、シェル(ファイルを選択するメニューのようなもの)はつけませ んでした。下手なシェルより、既に世に出ているファイラーを使ったほうが便利だと 思ったからです。事実、僕自信もそうしてます。それに機能を増やすと、その分文章 データを格納するメモリが減ってしまいますから。 NMをautoexec.batに組み込んでおくとおもしろいかもしれません。意味があるか は別にして。もっともWindows95ではautoexec.batが使われなくなるそうで すが。(これを書いているのは95年8月です。) 皆木 慎吾(VFC02053@nifty.ne.jp) (c) Shingo Minagi 1995