SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

「全自動4コマ」で4コママンガを作る

「全自動4コマ」で4コママンガを作る3~検索・占いetc. 便利な予約語の利用~

インターネットを利用した動的なコンテンツの生成


予約語を使った「名詞」「形容詞」「格言」への置換

 「予約語」を利用することで、「_meisi.txt」(名詞リスト)、「_keiyousi.txt」(形容詞リスト)、「_kakugen.txt」(格言リスト)の中身を、ランダムで台詞に挿入できます。

 それぞれの「予約語」は、以下のようになります。nには数値が入ります。通常、nには0を代入します。

リストからデータを挿入する予約語
予約語 置換内容
$rndm_noun[n] ランダム名詞
$rndm_adjctv[n] ランダム形容詞
$rndm_proverb[n] ランダム格言

 以下に例を示します。

置換前
s(ねえ $keyって$rndm_adjctv[0]もの?);
s(そうだな $rndm_proverb[0]ような存在だな);
置換後
s(ねえ CodeZineって頼もしいもの?);
s(そうだな 石橋を叩いて渡るような存在だな);

 このように、それぞれの「予約語」は、リストから取得されたランダムな言葉に置換されます。

 また、同じ4コママンガ内で同じ数値を指定した場合は、同じ「名詞」や「形容詞」「格言」を出力します。以下、数値に01を指定した場合の例を示します。

置換前
s(ねえ $keyって$rndm_adjctv[0]もの?);
s(うーん $rndm_adjctv[0]というよりは$rndm_adjctv[1]ものよね);
置換後
s(ねえ CodeZineって逞しいもの?);
s(うーん 逞しいというよりは格好いいものよね);

 このように、同じ0を指定した場所には同じ結果が入ります。この出力のされ方を利用して、会話を自由に組み立てることができます。

 デフォルトで用意されている「_meisi.txt」「_keiyousi.txt」「_kakugen.txt」には、会話が面白くなりそうな名詞や形容詞、格言を、辞書から調べてまとめています。

 また、形容詞は、語尾を活用させることができます。形容詞では、数字の後ろに+記号を付けることで、語尾を「~い」から「~くて」に変化させることができます。

 以下、例を示します。

置換前
s(ねえ $keyって$rndm_adjctv[0+] $rndm_adjctv[1]もの?);
置換後
s(ねえ CodeZineって甘酸っぱくて 初々しいもの?);

 この仕様を利用することで、自然な文章を作ることができます。

 名詞と格言には、このような語尾の変化はありません。この2つは、単純な言葉と、ある程度意味を持ったセンテンスを挿入するために使い分けてください。

 以下、形容詞のリストを使った4コママンガの出力例を示します。

出力例
出力例
出力例のスクリプト
//
//$list_title=○○って△△?
//
bg(255,200,200);
bs(b,r);
p(km_big0.gif,3,-10,67);
s(ねえ ハモちゃん\n$keyって$rndm_adjctv[0]物?);
f(7,10,50);
    bg(255,244,192);
    bs(b,l);
    p(hm_ha2s.gif,3,-3);
    s(あなた $rndm_adjctv[0]物って 本気で思っているの?);
    f(50,10,93);
        bg(212,255,212);
        fl();
        bs(b,r);
        p(hm_ban0.gif,5,-7,95);
        s($keyは$hkw_res[0]よ);
        f(7,10,50,n);
            bg(175,215,255);
            bs(b,r);
            p(km_namida0s.gif,5,-5,95);
            s(あ……\nあんまり\n虐めない\nでよ……);
            f(7,10,33);

次のページ
予約語を使ったインターネット上のデータへの置換

この記事は参考になりましたか?

「全自動4コマ」で4コママンガを作る連載記事一覧

もっと読む

この記事の著者

柳井 政和(ヤナイ マサカズ)

クロノス・クラウン合同会社 代表社員http://crocro.com/オンラインソフトを多数公開。プログラムを書いたり、ゲームを作ったり、記事を執筆したり、マンガを描いたり、小説を書いたりしています。「めもりーくりーなー」でオンラインソフト大賞に入賞。最近は、小説家デビューして小説も書いています(『裏切りのプログラム』他)。面白いことなら何でもOKのさすらいの企画屋です。 

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/2066 2008/09/04 17:53

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー