HOME
期間限定しりとり改造方法
期間限定しりとりVer.0.7を配布中ですが、その中で、得点単語を回答した方にだけ、スタンプ帳のスタンプを表示する改造方法を説明します。
ただし、得点単語といっても、管理人からのメッセージの設定されている単語のみです。(管理人からのメッセージ欄にスタンプを表示させるため。)
また、スタンプは指定したスタンプの中からランダムに表示されます。

まず、注意ですが、

  • 現在配布しているものについて、説明しています。
    スクリプトshiritori.cgiの最初の方に最終更新日時を示しています。その最終更新日時が2004/2/6であることを確認してください。
    また、ご自身で手を加えている場合は、説明の行数等が違ってきますので、それをふまえて説明をお読み下さい。
  • 記述している行数は論理改行です。
    テキストエディタでは、行幅が決まっていると自動的に折り返され、それも1行と数える設定になっているものがありますが、それでは人によって行数が違って説明しにくい。 ここでは論理改行、つまり改行マークがあるところまでを1行と数えた行数で説明します。
    テキストエディタの環境設定で、論理改行で行数表示する設定があると思いますので、行数表示を論理改行でするようにしてください。
    私の使っている秀丸エディタなら、メニューバーの「その他」→「ファイルタイプ別の設定」→「行番号の計算方法」で、「エディタ的(改行だけを数える)」にチェックです。
  • 必ず、手を加えない状態で動作していることを確認してから、改造してください。
    動作確認せずにいきなり改造した場合、エラーになっても原因がわからなくなります。そうなると設置のアドバイスもできません。
    必ず一度はサーバにアップして動作確認をしてから改造してください。
    また、お使いのパソコン上でCGIが動くよう設定し、ローカルでテストしてからサーバへアップされることをお勧めします。
    あくまでご自分の責任で行ってください。
    "一つないだけでエラーになりますので、タイプミスに注意して、慎重に行ってください。コピー&ペーストするといいです。
  • 説明をご覧になるときのヒント。
    画面幅の関係で折り返して表示されていますが、改行マークのあるところが改行の目印です。
    スクリプトを抜粋して表示します。
    手を加える前

    手を加えた後
    のようにして表示しますので、参考にしてください。
  • では説明します。

    1. shiritori.cgiの566-567行目を次のように変更する。
      	if ($point[4]){改行マーク
      		print "<br><div class=\"pointmessage\"><dl>\n";改行マーク	

      	if ($point[4]){改行マーク
      		print "<br><div class=\"pointwordmsg\">\n";改行マーク
      		print "<a href=\"スタンプ帳CGIのあるディレクトリへのパス/stamps.cgi?stamp=$stampcode\">$stampimage</a><br>\n";改行マーク
      		print "<dl>\n";改行マーク

    2. shiritori.cgiの20行目のあたりに、次の5行を追加する。
      my @stampcode = ('rose','bluerose','yellowrose','pinkish','sakurasakura');改行マーク
      my @stampimage = ('<img src="../stamps/rosestamp.jpg">','<img src="../stamps/bluerose.jpg">','<img src="../stamps/yellowrose.jpg">','<img src="../stamps/pinkish.jpg">','<img src="../stamps/sakura.jpg">');改行マーク
      my $i = int rand(scalar(@stampcode));改行マーク
      my $stampcode = $stampcode[$i];改行マーク
      my $stampimage = $stampimage[$i];改行マーク

            の部分は、ご自分のスタンプ帳の設定にあわせてください。
      my @stampcode = ();の部分には、表示させたいスタンプコードを、'と'で囲んで、,で区切ることで記述する。
      my @stampimage = ();の部分には、表示させたいスタンプ画像を、'と'で囲んで、,で区切ることで記述する。(タグで記述する。)
      また、stampimageの画像の順序は、スタンプコードと対応させておくこと。
    スタンプ帳CGIサンプルへ

    期間限定スタンプ帳CGI Ver.0.3