2004年10月06日

ゼロチャンネルに青箱機能を実装する。

先日書いたゼロチャンネルの改造案。

改造した事でも書いてみる。
といっても、内容は簡単。
書き換える内容が多いだけ。

使った物:ゼロチャンネル おみくじver
       http://san12.s12.xrea.com/omikuji/ こちらで配布されてる物

変更したファイル:/test/module/galadriel.pl
                          メモ帳辺りで開けばいいでしょう。
           私はこのようなソフトを使っています。

使ったプログラム:TeraPad http://www5f.biglobe.ne.jp/~t-susumu/library/tpad.html
           perlやCに対応していてかなり楽に作業が出来ました。

変更した箇所:
1:
おみくじ機能を残したまま、新しい機能を作ってみましょう。

まず、ConvertTrip関数を探しましょう。467行目にあります。
473行目のif文から494行目の}までコピーします。
それを、495行目に貼り付けちゃいましょう。
その後、貼り付けた文章を
            if ($name =~ /#(.+)/) → if ($name =~ /#aobako/)
に変更しちゃいましょう。
これで、#omikuji と#aobako の文字列を名前欄に打ち込んだ場合の変換処理が出来るようになりました。

2:
ConvertOmikuji関数を探します。初期設定で533行目にあります。
539行目のif文から567行目までの}をコピー。
それを568行目に貼り付けましょう。
その後貼り付けた文章を
           if ($name =~ /#omikuji/){ → if ($name =~ /#aobako/){
に、変更してとりあえずは完成。

後は関数の中身を弄っていくだけです。
さて、何処を弄ればいいか。Cを触った事のある人ならばすぐにわかるでしょう。

○$k=int(rand(1000)); 
これは、kという場所に 1000 の中からランダムに選んだ一つの数を代入します。

○if ($k < 3){ $o = q|<b><font color=red>カ</font><font color=green>ラ</font><font color=blue>フ</font><font color=yellow>ル</font></b>| }
これは先ほど述べたkという場所に入っている数が3より少なかった場合、
という文字を表示させます。 背景が背景なので少々見難いかも・・・
表示関数はq||という間らしいのですが、そこにはHTMLタグが使えるっぽいです。

以下のelsifはifと同じような役割りだと考えてください
elsif( $k < ○){ ・・・
ランダムに選んだ数が○より少なかった場合・・・の処理を実行する。

これらを考えた場合、
  elsif ($k < 28) { $o = q|赤ハーブ| }
  elsif ($k < 32) { $o = q|黄ハーブ| }
  elsif ($k < 36) { $o = q|白ハーブ| }
  elsif ($k < 40) { $o = q|緑ハーブ| }
と、言ったように書き込んでいけばそれぞれのアイテムを表示してくれるわけです。

残り作業は二つです。
○の値を変える事で確率を変える事ができるわけですが、
必ず最後に $k=int(rand(○)); と、この関数を変更することを忘れないようにしましょう。
忘れたままだと、いつまでたっても表示されない部分があることになります。

また、このようなelsif文を書くと名前の所に表示されるのが
【赤ハーブ】といったように味気ないものになってしまいます。

そこで変更するのが
$name = $n . '</b>【' . $o . '】<b>';
の部分。
これを
$name = $n . '</b>【' . $o . 'を獲得した】<b>';
と変更するだけで
【赤ハーブ】 → 【赤ハーブを獲得した】
と、変わってくれます。

わからない事あったら質問どうぞ。
パールの教科書などなしで、全て独学でやった為、変な関数になるかもしれません。

posted by 幸之助 at 22:01 | 群馬 ☁ | Comment(0) | TrackBack(0) | プログラム
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのTrackBack URL

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。