SHOEISHA iD

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

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

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

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

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


  • X ポスト
  • このエントリーをはてなブックマークに追加

予約語を使った占い

 「全自動4コマ」では、特殊な「予約語」も存在しています。その中で、今回は姓名判断を行う「予約語」について説明します。

 「予約語」$seimei[s]を利用すれば、$keyの文字列の画数を判定して、各種姓名判断を行うことができます。姓名判断用の「予約語」$seimei[s]は、sの位置に指定する文字列によって、違う結果に置換されます。

 以下、sに代入する文字列と、置換結果を表で示します。

姓名判断のデータへの置換
置換結果
ten_str 天格 文字
ten_no 天格 画数
ten_res 天格 結果
ti_str 地格 文字
ti_no 地格 画数
ti_res 地格 結果
jin_str 人格 文字
jin_no 人格 画数
jin_res 人格 結果
gai_str 外格 文字
gai_no 外格 画数
gai_res 外格 結果
sou_str 総格 文字
sou_no 総格 画数
sou_res 総格 結果

 姓名判断を知らない人のために、一般的に行なわれる姓名判断の処理手順(アルゴリズム)を説明します。

 姓名判断では、まず名前を「姓」と「名」の2つのブロックに分けます。その際、1つのブロックに1文字しかない場合は、仮字と呼ばれる「画数が1の仮想の文字」を追加します。

 そして、2つのブロックの各文字列の画数を求めます。次に、その画数の組み合わせで、天格、地格、人格、外格、総格の5つのパターンの合計画数を求めます。最後に、それぞれの画数を元に運命表を参照して結果を取得します。

 運命表は、画数にあたる1~nの整数と、その数字に対応する占い結果をまとめた表です。これは、画数がnを超えた場合は1に戻って計算をしなおすループ処理になっています。例えば、nが50の場合で画数の合計が53の場合は、運命表の3の場所を参照します。運命表は流派によって違いがあり、nの数字も50や60などのバリエーションがあります。

 以下、姓名判断の処理手順(アルゴリズム)を、流れに沿って示します。

  1. 名前を、姓と名の2つのブロックに分割する。
  2. 各ブロックの文字が1文字の場合は、仮字(○)を外側に(姓の場合は文字列の先頭に、名の場合は文字列の末尾に)追加する。
  3. 各文字の画数を求める。
  4. 天・地・人・外・総の各格の画数を計算する。
    1. 天格として、姓ブロックの文字列の画数を合計する。
    2. 地格として、名ブロックの文字列の画数を合計する。
    3. 人格として、姓ブロックの末尾の文字と、名ブロックの先頭の文字列の画数を合計する。
    4. 外格として、姓ブロックの先頭の文字と、名ブロックの末尾の文字列の画数を合計する。
    5. 総格として、すべての文字列の画数を合計する。
  5. 天・地・人・外・総の各格の画数を元に、運命表を参照して占い結果を取得する。

 天・地・人・外・総それぞれの格の意味は、次のとおりです。

姓名判断の各格の意味
占いの意味
天格 成功運
地格 人生の前半の運勢
人格 人生の全般の運勢
外格 人格の補助として利用
総格 人生の後半の運勢

 これらの処理手順や画数の数え方、運命表の吉凶の結果は流派によって異なります。「全自動4コマ」の姓名判断では、いくつかの流派の方法を参照して、大体標準的な結果になるように、プログラムと運命表を作っています。

 また、外格を利用するには、人間の微妙な判断が必要になりますので、「全自動4コマ」では割愛しています。

 以下、記述例と、その結果を示します。

置換前(実際には1行)
s($keyの成功運を表す天格は「$seimei[ten_str]」で
$seimei[ten_no]画\n$seimei[ten_res]);
置換後(実際には1行)
s(翔泳 太郎の成功運を表す天格は「翔泳」で
20画\n優秀な指導者になる 大吉);

 また、実際に出力した例を示します。

出力例
出力例
出力例のスクリプト
//
//$list_title=姓名判断 簡易編
//
bg(255,255,167);
bs(b,r);
p(ura_5.gif,0,0);
s(姓名判断だ!\n$keyを占うぞ!);
f(7,50,45,n);
s(今日は本格的に\n占いをしよう);
f(7,10,50);
    bg(255,185,185);
    fl(80,50);
    p(ura_2.gif,0,0);
    s(成功運を表す天格は「$seimei[ten_str]」で$seimei[ten_no]画\n$seimei[ten_res]);
    f(7,10,55);
        bg(168,227,255);
        fl(80,50);
        p(ura_2.gif,0,0);
        s(人生の前半を表す地格は「$seimei[ti_str]」で$seimei[ti_no]画\n$seimei[ti_res]);
        f(7,10,55);
            bg(255,209,165);
            fl(80,50);
            p(ura_6_s.gif,0,0);
            s(人生の後半を表す総画は$seimei[sou_no]画で\n$seimei[sou_res]\n今後の参考に\nしてくれたまえ!);
            f(7,10,55);

 この機能を利用して、簡単に占いコンテンツを作成できます。

次のページ
おわりに

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

  • X ポスト
  • このエントリーをはてなブックマークに追加
「全自動4コマ」で4コママンガを作る連載記事一覧

もっと読む

この記事の著者

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

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

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

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

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/2066 2008/09/04 17:53

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング