• ベストアンサー

おみくじの

おせわになります。スコンチョです。<(_ _)> (前回は質問の仕方が悪かったため、再度質問しています) とあるサイトで使用するのに、おみくじのフリーCGI を探しております。「おみくじ」で検索すれば沢山ある のですが、今回探しているのは、おみくじの結果及び 一行メッセージをこちらで入力して使用できるものです。 イメージとしては、おみくじボタンをクリックすると プチ吉 「来世はきっと良いことあるかも」  ↑    ↑ こういう内容が20~30種類程度引ける というふうに、自分で作った内容を引けるようにしたい のです。かなり探したのですが、発見できませんでした。 ご存じの方がおられましたら、ご教授ください。よろしく お願い致します。<(_ _)> なお、前回はおみくじの結果が何種類必要ということを 書いておりませんでしたので、5~6種類の結果を表示 できるものをご紹介頂きました。その為、20~30種対応 できるものを探しての再質問です。

質問者が選んだベストアンサー

  • ベストアンサー
noname#9431
noname#9431
回答No.2

>僕も、そのサイトの運営者も、あまりCGIに明るくない ので、教えて頂いた内容でできるかどうか・・・  やることはちょー簡単なので、CGIの設置ができる程度に知識があれば必ずできますよ! とりあえず、20こ、等確率に出すなら、 http://yama2-db.cside.com/download/omikuji.html からダウンロードして出来るezomikuji.cgiにおいt、 下のようにするだけです。 # おみくじの定義 を $omi[0] = "0吉"; $msg[0] ="あなたは0吉です。"; $omi[1] = "1吉"; $msg[1] ="あなたは1吉です。"; $omi[2] = "2吉"; $msg[2] ="あなたは2吉です。"; $omi[3] = "3吉"; $msg[3] ="あなたは3吉です。"; $omi[4] = "4吉"; $msg[4] ="あなたは4吉です。"; $omi[5] = "5吉"; $msg[5] ="あなたは5吉です。"; $omi[6] = "6吉"; $msg[6] ="あなたは6吉です。"; $omi[7] = "7吉"; $msg[7] ="あなたは7吉です。"; $omi[8] = "8吉"; $msg[8] ="あなたは8吉です。"; $omi[9] = "9吉"; $msg[9] ="あなたは9吉です。"; $omi[10] = "10吉"; $msg[10] ="あなたは10吉です。"; $omi[11] = "11吉"; $msg[11] ="あなたは11吉です。"; $omi[12] = "12吉"; $msg[12] ="あなたは12吉です。"; $omi[13] = "13吉"; $msg[13] ="あなたは13吉です。"; $omi[14] = "14吉"; $msg[14] ="あなたは14吉です。"; $omi[15] = "15吉"; $msg[15] ="あなたは15吉です。"; $omi[16] = "16吉"; $msg[16] ="あなたは16吉です。"; $omi[17] = "17吉"; $msg[17] ="あなたは17吉です。"; $omi[18] = "18吉"; $msg[18] ="あなたは18吉です。"; $omi[19] = "19吉"; $msg[19] ="あなたは19吉です。"; とし、 # 確率計算 を srand(time|$$); $rand = rand(1); if ($rand > 0.95) {$i = 0;} elsif ($rand > 0.90) {$i = 1;} elsif ($rand > 0.85) {$i = 2;} elsif ($rand > 0.80) {$i = 3;} elsif ($rand > 0.75) {$i = 4;} elsif ($rand > 0.70) {$i = 5;} elsif ($rand > 0.65) {$i = 6;} elsif ($rand > 0.60) {$i = 7;} elsif ($rand > 0.55) {$i = 8;} elsif ($rand > 0.50) {$i = 9;} elsif ($rand > 0.45) {$i = 10;} elsif ($rand > 0.40) {$i = 11;} elsif ($rand > 0.35) {$i = 12;} elsif ($rand > 0.30) {$i = 13;} elsif ($rand > 0.25) {$i = 14;} elsif ($rand > 0.20) {$i = 15;} elsif ($rand > 0.15) {$i = 16;} elsif ($rand > 0.10) {$i = 17;} elsif ($rand > 0.05) {$i = 18;} else {$i = 19;} としてください。 あとはメッセージの部分をお好きなように。上の例では0.05の等確率で20このメッセージがでますので確率を変えたかったら、ここを適当に変えて下さい。#2で述べたように上から順に条件判定されます。

その他の回答 (2)

回答No.3

ありますよ 「おみくじの鉄人」 くじの種類がいくらでも追加できる おみくじのスクリプト

参考URL:
http://alchemy.sakura.ne.jp/cgi/omikuji.html
skoncho
質問者

お礼

ご回答ありがとうございます。<(_ _)>

noname#9431
noname#9431
回答No.1

それだけなら、先の質問ですでに紹介されているcgiスクリプトをちょっといじればできるのではないでしょうか。 たとえば、先の質問で#1の方が紹介されているcgiでは、 ezomikuji.cgi の # おみくじの定義 を20~30種に増やして、それにともなって # 確率計算 をちょっといじります。 確率計算の部分は $rand = rand(1); で0~1までの乱数を発生させて、それ以下の if文で順に条件判定させています。 初めに0.8より大きいかどうか判断、 もし大きいなら大吉($i=0)となり、以下のelseifは飛ばされます。 もし0.8以下なら次は0.55より大きいかどうか判定し、 大きいなら吉($i=1)となり以下のelseifは飛ばされ、... のくりかえしです。 $i=0,1,2,3,4,5 は# おみくじの定義の $omi[0]~$omi[5]、($mes[0]~$mes[5]) に対応します。 これを20~30、お好きな数だけ定義して、 乱数による条件判定もそれと同じ数だけ条件分岐の式を書いてあげれば好いと思います。(20もあると少したいへんですが。)

skoncho
質問者

お礼

ご回答ありがとうございます。 僕も、そのサイトの運営者も、あまりCGIに明るくない ので、教えて頂いた内容でできるかどうか・・・ とり あえずはやってみるように伝えます。(^_^;)

関連するQ&A

専門家に質問してみよう