javascriptでスロットゲームを作ろうとしています。
javascriptでスロットゲームを作ろうとしています。
途中まではなんとかできたんですけど、出来ないところがあるんで質問したいと思います。
<html>
<head>
<title>スロットゲーム</title>
</head>
<body>
<h3>スロットゲーム</h3>
<hr>
<form name="slot">
<table border="2">
<tr>
</tr>
<tr bgcolor="#CCCCCC">
<td><div id="dram0">☆</div></td>
<td><div id="dram1">☆</div></td>
<td><div id="dram2">☆</div></td>
</tr>
<tr>
<td><input type="button" value="ストップ" onClick="dramstop(0)"></td>
<td><input type="button" value="ストップ" onClick="dramstop(1)"></td>
<td><input type="button" value="ストップ" onClick="dramstop(2)"></td>
</tr>
<tr>
<td colspan="3"><input type="button" value="スタート" onClick="dramreset()"></td>
</tr>
</table>
</form>
<hr>
<div id="rireki"></div>
<script language="JavaScript">
img = new Array("<img src='0.png'>" ,"<img src='1.png'>","<img src='2.png'>"
,"<img src='3.png'>" ,"<img src='4.png'>","<img src='5.png'>","<img src='6.png'>"
,"<img src='7.png'>","<img src='8.png'>","<img src='9.png'>");
kiroku = new Array();
rrk = "";
rrk_num = 0;
dramreset();
dramstart();
function dramreset() {
var s = "";
for (i=0; i<3; i++) {
s += img[kiroku[i]];
document.slot.elements[i].disabled = false;
}
rrk_num++;
}
function dramstart() {
for (i=0; i<3; i++) {
if (!document.slot.elements[i].disabled) {
r = Math.floor(Math.random() * 10);
document.getElementById("dram" + i).innerHTML = img[r];
}
}
setTimeout("dramstart()",200);
}
function dramstop(btn) {
r = Math.floor(Math.random() * 10);
document.getElementById("dram"+btn).innerHTML = img[r];
document.slot.elements[btn].disabled = true;
kiroku[btn] = r;
}
</script>
</body>
</html>
★絵柄がランダムじゃなくて順番に回転させる。
★各絵柄がすべてそろうと、大当たりとしてページの背景色が変化する。
★大当たり後、再度スタートボタンを押すと、背景色は元の色にもどる。
★すべての絵柄が止まってないのに、大当たりの背景色変化が起こらないようになっている。
お礼
とりあえずランダムで出した係数に、読み込み枚数を何枚か足して、タイムラグをつける方法になりました。 またよろしくお願いします。
補足
ご指導ありがとうございます。 早速新しいプロシージャをつくりSubルーチンをコピペさせていただき、(General)に宣言部分を記述しました。 そして停止タイマー部に Image2(old2).Visible = False Image2(idx2).Visible = True old2 = idx2 If Timer1.Interval = 0 Then waittime = 2 ここを追加し If idx2 = 0 Then Timer2.Interval = 0 ElseIf idx2 = 3 Then Timer2.Interval = 0 ElseIf idx2 = 6 Then Timer2.Interval = 0 以下略 追加部分の数字を変えてみたりしたのですが、思う様に動いていません。記述の仕方がおかしいのでしょうか、それともAPIの使い方やソースの書き方などが根本的に間違ってますか。 ちなみにidx2は絵柄を書き換えてるときに使ってる変数です。