■■■■■■■■■■■■■■■■■■■■■ ■ 語り部(Nrrative Speaker)ver0.90以降 ■ ■  マニュアル ver0.3        ■ ■   byまかまか般若波羅蜜      ■ ■■■■■■■■■■■■■■■■■■■■■  現在詳細な説明を行う余裕がありませんので、サンプルとにらめっこしてみてください。CGI、データともに必ず、改行をLF(UNIX形式)に変換してからサーバにあげてください。 注意!! ns09x.lzhの中身は全てSJISコードで書かれていますが、このままお使いになりますと、一部の文字が文字化けします(「ダ」「夕」「誉」などきりがないです)。全てのファイルをEUCコードに変換してお使いになられることを強くお勧めします。 ★★CGIの設定★★ config.cgiを開くと次のような設定部分があります。 #-------------------------ここから設定--------------------------- #-----------------------ページのデザイン------------------------- $title = '語り部(Narrative Speaker)'; #主タイトル(標準で) $title_col = "#999999"; #タイトルカラー $body[0] = '#000000'; #背景色 $body[1] = '#DDDDDD'; #テキスト色 $body[2] = '#44DDFF'; #リンク色 $body[3] = '#FF4488'; #既リンク色 $body[4] = ''; #壁紙 $subtitle_col = "#DD0088"; #サブタイトルの色 $title_siz = 5; #タイトル文字サイズ $okotoba_siz = 5; #言葉の字の大きさ $modoru = './index.html'; #戻るときのページ(標準で) $jcode = './jcode.pl'; #必要ならjcode.plの場所 #---------------------------------------------------------------- 上の部分は問題ないでしょう。jcode.plがなんだかわからない方はCGIリンク集から他のサイトを御覧になれば説明があります。 #-----------------------データファイル--------------------------- $file_p[0] = 'sampl-p1.dat'; #フレーズデータその1 $file_w[0] = 'sampl-w1.dat'; #単語データその1 $modoru[0] = 'sampl1.html'; #このデータで戻るページ $title[0] = "サンプル1"; #このデータでのタイトル 上の例では、$file_p[0]と$file_w[0]がペアになって一つのデータ群を構成しています。ここにデータファイルの名前を入れます。 必ずこの部分だけは設定してください。 $modoru[0]と$title[0]はなくてもよいです。その場合は「ページのデザイン」で設定されている「標準」が利用されます。 複数データを扱わない場合は残りの部分は消してください。 ★★データの作り方★★ ■基本 ・データは「フレーズデータ」と「単語データ」のペアで構成されます。 ・フレーズデータは主に「文」を設定する ・単語データは主に「単語」を設定する ・データは一行につき1個 ・データは全て「#」から始まる「グループ」に属する ・#で始まる行から下を一つのグループとする ・一つのグループにデータが複数ある場合はランダムに選ばれる 以上が基本です。サンプル1を参考にして下さい。 ■フレーズデータについて フレーズデータは文の構成を設定するファイルです。 行の先頭に#と数字をつけることによって1文になります。 #nの次の行から、ランダムに選ばれる「文」です。 #1 これが選ばれるかも これも選ばれるかも #2 _WHOがいる。 あそこにいるのは_WHOです。 _WHOは_DO。 #title はサブタイトルとなります。 #title タイトル これもタイトル ■単語データ フレーズ内の単語(アンダーバー「_」"で始まる半角英数字)及び単語内の単語は単語データに基づいて変換されます。 #WHO 太郎 次郎 花子 とあり、フレーズデータ内に「_WHO」があると、その部分が太郎、次郎、花子のいずれかに置き換わります。単語データ内に置き換え可能な単語があるとそれも変換されます。 例えば #DO _WHOと一緒に踊った _WHOと釣りに出かけた 上の単語は「_WHOは_DO。」というフレーズデータにおいて全て太郎・次郎・花子のいずれかに置き換えられます。「太郎は次郎と一緒に出かけた。」「太郎は太郎と釣りに出かけた。」「花子は次郎と釣りに出かけた。」などなど。 ■初期化処理 単語データで「#^」だけの行から初期化処理の設定なります。かならず「->」という記号を使います。 #^ WHO->SYUJINKOU #WHO 太郎 次郎 花子 これによりWHOグループの中からランダムにSYUJINKOUグループへと単語が一つ設定されます。そしてSYUJINKOUへ移動した単語がWHOグループから削除されます。WHO->WHOならばWHOグループの単語が一つに決定されるということになります。サンプル2を参考にしてください。 ■メモリー 例えば初期化処理で太郎が主人公になった場合と次郎がなった場合、花子がなった場合で様々な特別な文を使用したいということがあるかと思います(言葉遣いだのシチュエーションだのといったことで)。そのような時にメモリーを利用します。 単語の前に「!」と数字を付け、スペースをいれます。 #^ WHO->WHO #WHO !1 太郎 !2 次郎 !3 花子 まず初期化設定でWHOが一つに絞られます。この時、選ばれた単語の冒頭部分の数字がチェックされます。例えば太郎が選ばれたら「1」が記録されます。その後の使い方については次の項目の「条件分岐」の所で説明します。 ■様々な処理 現在、フレーズデータ内で6種類の処理が可能になっています。 #n 後にスペースかタブで区切ります。 ・k=n 改行 k=1で改行します。(1でなくてもよい、0以外なら) ・r=n リピート 繰り返します。r=5  5回繰り返す サンプル5を参考にしてみてください。 ・c=1 カッティング rとともに使い、一度選択されたフレーズを削除していきます。 サンプル5を参考にしてみてください。 ・i="XX->YY" 途中処理 初期化処理を行えます。複数の処理を行う場合は「,」で区切ります。 i="WHO->WHO" や i="WHO->WHO,WHAT->MONO" など ・s=n 条件分岐「ストップ」 初期化処理によってnが記録されている場合、このフレーズを処理します。 ・p=n 条件分岐「パス」 初期化処理によってnが記録されている場合、このフレーズをスキップします。 条件分岐についてはサンプルの4を参考にして下さい。 ■データ選択について sampl-select.html を参考にしてもらうとわかりますが、入力フォームで「name="DATAFILE"」を利用することによって様々なデータファイルを選ぶことができます。ですから単語データにDATAFILEというグループ名はつけないで下さい。 ★★その他★★ とりあえず、今後マニュアルを充実させたいので、感想や質問などがありましたらお気軽にご連絡下さい。忙しくてすぐに答えることはできないかもしれませんが、できるだけ対処したいと思っています。 #----------------------------------------------------------------- 1999/12/8 1999/12/28 2000/02/17 文字の大きさの変更が利かなかったのを修正 壁紙の設定を可能に 単語の変換の不具合を修正 設定ファイルの分離 以上の変更に伴いマニュアルを修正 2000/06/15 漢字コードの問題について