- ベストアンサー
プログラムで困っています!
- プログラムでスロット形式の表示を横にする方法について教えてください。
- また、スロットの回転を停止するボタンを追加したいですが、どうすれば実現できますか?
- 次回はサンプルプログラムIIをお楽しみに!
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ANo.1 の Interest です。 動く例をここに書いてもいい、などといってしまった手前、引き下がるわけにも行かず、簡単な例を作ってみました。 ボタンを押せば動きが止まること、restartを押せば再開することまで実装・確認済みです。そろったら点数が出るような判定は入れていません。好きなように入れてください。完全オリジナルですが、著作権は主張しません。(このレベルじゃ恥ずかしくて主張できない) ろくに設計もしてないコピペプログラムなので、お手本にはあまりして欲しくないですね(汗) 構造体やクラスが使えればもう少しましな設計になるのですが・・・ いや、いい訳です、すみません>エキスパートな方々 <html> <head> <title>JavaScriptによるスロットマシーン</title> </head> <!-- ============================================= --> <script language="JavaScript"> var col0=new Array("A", "B", "C", "D", "E", "F" ); var col1=new Array("B", "C", "D", "E", "F" ,"A" ); var col2=new Array("C", "D", "E", "F", "A", "B" ); var col0ShiftTime = 800; var col1ShiftTime = 600; var col2ShiftTime = 450; var col0TimeID; var col1TimeID; var col2TimeID; function printCol0(){ document.MyForm.slot[0].value = col0[0]; document.MyForm.slot[3].value = col0[1]; document.MyForm.slot[6].value = col0[2]; } function printCol1(){ document.MyForm.slot[1].value = col1[0]; document.MyForm.slot[4].value = col1[1]; document.MyForm.slot[7].value = col1[2]; } function printCol2(){ document.MyForm.slot[2].value = col2[0]; document.MyForm.slot[5].value = col2[1]; document.MyForm.slot[8].value = col2[2]; } function shiftCol0(){ var swap; col0TimeID = setTimeout("shiftCol0()", col0ShiftTime); printCol0(); swap = col0[0]; for(i=0; i<col0.length-1; i++){ col0[i] = col0[i+1]; } col0[ col0.length-1 ] = swap; } function shiftCol1(){ var swap; col1TimeID = setTimeout("shiftCol1()", col1ShiftTime); printCol1(); swap = col1[0]; for(i=0; i<col1.length-1; i++){ col1[i] = col1[i+1]; } col1[ col1.length-1 ] = swap; } function shiftCol2(){ var swap; col2TimeID = setTimeout("shiftCol2()", col2ShiftTime); printCol2(); swap = col2[0]; for(i=0; i<col2.length-1; i++){ col2[i] = col2[i+1]; } col2[ col2.length-1 ] = swap; } function restart(){ col0TimeID = setTimeout("shiftCol0()", col0ShiftTime); col1TimeID = setTimeout("shiftCol1()", col1ShiftTime); col2TimeID = setTimeout("shiftCol2()", col2ShiftTime); } </script> <body> <script language="JavaScript"> var i, j; document.write("<form name='MyForm'>"); for(i=0; i<3; i++){ for(j=0; j<3; j++){ document.write("<input size=1 name='slot'>"); } document.write("<br>"); } document.write("<input type='button' value='c0' onClick='clearTimeout(col0TimeID)'>"); document.write("<input type='button' value='c1' onClick='clearTimeout(col1TimeID)'>"); document.write("<input type='button' value='c2' onClick='clearTimeout(col2TimeID)'>"); document.write("<br>"); document.write("<input type='button' value='restart' onClick='restart()'>"); document.write("</form>"); shiftCol0(); shiftCol1(); shiftCol2(); </script> </body> </html>
その他の回答 (1)
- Interest
- ベストアンサー率31% (207/659)
タグを入れるとかの問題以前に、JavaScriptの書き方になっていませんね。 それから、質問に関係ない記述が多すぎます。本当に質問したい部分に絞って投稿しましょう。 > 横に3つ記号が回るようにしようとしたら 記号は星が二つと、スペード、ダイヤ、ハート、クラブの6種類ですよね。 この6種類を組にして、3組ならべてそれぞれ違うスピードでまわす、ということでいいですか? スロットマシーンとして動くプログラム例をここに書いてもいいのですが、sho-ckさんが果たして理解できるかどうか疑問です。
補足
すみません。とりあえず全部書いてしまえ!と思ったもので・・・ 例をここに書いてもらえますか?
お礼
なかなかおk!(評価する立ち場じゃないケド・・・) 思っていた以上に、なかなかいいと思います。短時間でできるとは・・・