• 締切済み

【掲示板の機能】投稿時に、サイコロをふれるようにするには?

こんにちは。 「したらば」の掲示板をタイトルのようにしたいのですがどうしたらいいでしょう。 イメージとしては、 振らない、2個、4個、6個、8個、10個からを選べ、 投稿すると書き込みの一番下に、(2)(2)=4 (3)(4)=7 と2個セットで表示されるかんじにしたいです。 <script> function SAIKORO(6){ return 1 + Math.floor(Math.random()*Dnum); } </script> 今は、上のをヘッダに張ることしか分かっていません。 今の設定は、下で公開されているJBBSの基本設定どおりです。 http://www.geocities.jp/pukka0020/jbbs0.html よろしくおねがいします。

みんなの回答

回答No.4

>書き込みした発言の一行下に表示 このご要望を見落としてましたので最初に付加していました。 最後に付け加えるように直しました。 もし、1行あけるなら"\r\n"を"\r\n\r\n"に直してください。 <html> <head> <script> function xx(){ var rd_value; var skr=new Array() for(i=0;i<10;i++){ skr[i]=1+Math.floor(Math.random()*6); } for(i=0;i<fcs.rd.length;i++){ if(fcs.rd[i].checked) rd_value=eval(fcs.rd[i].value); } var str=fcs.MESSAGE.value; switch(rd_value){ case 0:break; case 1:str=str+"\r\n"+"サイコロ結果:("+skr[0]+")("+skr[1]+")="+(skr[0]+skr[1]);break; case 2:str=str+"\r\n"+"サイコロ結果:("+skr[0]+")("+skr[1]+")="+(skr[0]+skr[1])+":("+skr[2]+")("+skr[3]+")="+(skr[2]+skr[3]);break; case 3:str=str+"\r\n"+"サイコロ結果:("+skr[0]+")("+skr[1]+")="+(skr[0]+skr[1])+":("+skr[2]+")("+skr[3]+")="+(skr[2]+skr[3])+":("+skr[4]+")("+skr[5]+")="+(skr[4]+skr[5]);break; case 4:str=str+"\r\n"+"サイコロ結果:("+skr[0]+")("+skr[1]+")="+(skr[0]+skr[1])+":("+skr[2]+")("+skr[3]+")="+(skr[2]+skr[3])+":("+skr[4]+")("+skr[5]+")="+(skr[4]+skr[5])+":("+skr[6]+")("+skr[7]+")="+(skr[6]+skr[7]);break; case 5:str=str+"\r\n"+"サイコロ結果:("+skr[0]+")("+skr[1]+")="+(skr[0]+skr[1])+":("+skr[2]+")("+skr[3]+")="+(skr[2]+skr[3])+":("+skr[4]+")("+skr[5]+")="+(skr[4]+skr[5])+":("+skr[6]+")("+skr[7]+")="+(skr[6]+skr[7])+":("+skr[8]+")("+skr[9]+")="+(skr[8]+skr[9]);break; } //以下は確認用スクリプト:削除のこと!! alert(str); //確認用スクリプト:ここまで fcs.MESSAGE.value=str; } </script> </head> <body> <form method="POST" action="/bbs/write.cgi/****/****/10298*****/" name="fcs" onsubmit="xx()"> <input type="hidden" name="BBS" value="***"> <input type="hidden" name="KEY" value="10298*****"> <input type="hidden" name="DIR" value="****"> <input type="hidden" name="TIME" value="************"> <input type="submit" value="書き込む"> <span style="font-size:11pt;"> 名前: <input type="text" name="NAME" size="19"> E-mail(省略可): <input type="text" name="MAIL" size="19"><br> 投稿時にサイコロを振る: <input type="radio" name="rd" value="0" id="rd0" /><label for="rd0">振らない</label> <input type="radio" name="rd" value="1" id="rd1" checked /><label for="rd1">2個</label> <input type="radio" name="rd" value="2" id="rd2" /><label for="rd2">4個</label> <input type="radio" name="rd" value="3" id="rd3" /><label for="rd3">6個</label> <input type="radio" name="rd" value="4" id="rd4" /><label for="rd4">8個</label> <input type="radio" name="rd" value="5" id="rd5" /><label for="rd5">10個</label> </span><br> <textarea rows="5" cols="70" wrap="OFF" name="MESSAGE">ああああああああああ</textarea> </form> <a href="http://www.livedoor.com/">livedoor</a> </body> </html> .

crusader5
質問者

補足

ありがとうございます。 今日これからか試させてもらいたいと思います。楽しみです。 御礼だけ先にすみません。 わからなかったらまたおしえてください。(ぁ

回答No.3

掲示板の雰囲気で作ってみました・・・ 実際には自分で加工して、CGIのヘッダ部分とスレッドのボディ部分に 必要なスクリプトとHTMLを挿入するようにして下さい。 <html> <head> <script> function xx(){ var rd_value; var skr=new Array() for(i=0;i<10;i++){ skr[i]=1+Math.floor(Math.random()*6); } for(i=0;i<fcs.rd.length;i++){ if(fcs.rd[i].checked) rd_value=eval(fcs.rd[i].value); } var str=fcs.MESSAGE.value; switch(rd_value){ case 0:break; case 1:str="サイコロ結果:("+skr[0]+")("+skr[1]+")="+(skr[0]+skr[1])+"\r\n"+str;break; case 2:str="サイコロ結果:("+skr[0]+")("+skr[1]+")="+(skr[0]+skr[1])+":("+skr[2]+")("+skr[3]+")="+(skr[2]+skr[3])+"\r\n"+str;break; case 3:str="サイコロ結果:("+skr[0]+")("+skr[1]+")="+(skr[0]+skr[1])+":("+skr[2]+")("+skr[3]+")="+(skr[2]+skr[3])+":("+skr[4]+")("+skr[5]+")="+(skr[4]+skr[5])+"\r\n"+str;break; case 4:str="サイコロ結果:("+skr[0]+")("+skr[1]+")="+(skr[0]+skr[1])+":("+skr[2]+")("+skr[3]+")="+(skr[2]+skr[3])+":("+skr[4]+")("+skr[5]+")="+(skr[4]+skr[5])+":("+skr[6]+")("+skr[7]+")="+(skr[6]+skr[7])+"\r\n"+str;break; case 5:str="サイコロ結果:("+skr[0]+")("+skr[1]+")="+(skr[0]+skr[1])+":("+skr[2]+")("+skr[3]+")="+(skr[2]+skr[3])+":("+skr[4]+")("+skr[5]+")="+(skr[4]+skr[5])+":("+skr[6]+")("+skr[7]+")="+(skr[6]+skr[7])+":("+skr[8]+")("+skr[9]+")="+(skr[8]+skr[9])+"\r\n"+str;break; } //以下は確認用スクリプト:削除のこと!! alert(str); //確認用スクリプト:ここまで fcs.MESSAGE.value=str; } </script> </head> <body> <form method="POST" action="/bbs/write.cgi/****/****/10298*****/" name="fcs" onsubmit="xx()"> <input type="hidden" name="BBS" value="***"> <input type="hidden" name="KEY" value="10298*****"> <input type="hidden" name="DIR" value="****"> <input type="hidden" name="TIME" value="************"> <input type="submit" value="書き込む"> <span style="font-size:11pt;"> 名前: <input type="text" name="NAME" size="19"> E-mail(省略可): <input type="text" name="MAIL" size="19"><br> 投稿時にサイコロを振る: <input type="radio" name="rd" value="0" id="rd0" /><label for="rd0">振らない</label> <input type="radio" name="rd" value="1" id="rd1" checked /><label for="rd1">2個</label> <input type="radio" name="rd" value="2" id="rd2" /><label for="rd2">4個</label> <input type="radio" name="rd" value="3" id="rd3" /><label for="rd3">6個</label> <input type="radio" name="rd" value="4" id="rd4" /><label for="rd4">8個</label> <input type="radio" name="rd" value="5" id="rd5" /><label for="rd5">10個</label> </span><br> <textarea rows="5" cols="70" wrap="OFF" name="MESSAGE">fgasgdagadgadgg</textarea> </form> <a href="http://www.livedoor.com/">livedoor</a> </body> </html> .

回答No.2

了解しました。しばし・・・

回答No.1

サイコロを振るだけなら簡単ですが、振った結果はどこに表示するんでしょうか。 掲示板への投稿内容に付加するのだと、CGIに投げる前にtextを横取りして 加工してから送信させる必要があるので、難易度が少し高くなりますし その掲示板の仕組みを一応理解してないと無理ですよね。

crusader5
質問者

補足

ありがとうございます。 掲示板の投稿内容に付加する形で、書き込みした発言の一行下に表示できたらと思っています。 perlをよく分かってないながら実験を繰り返して改造できたことがあるので、 掲示板の仕組みはなんとなくなら読めていると思っています。 よろしくおねがいします。

関連するQ&A