スロットゲームVer3です。
コインが揃ったり連番になると、コインを獲得できます。
9マスありますので、縦横斜めが勝利条件に含まれます。
リセットを押すと初期状態に返ります。
コインがゼロになると、その旨伝えるダイアログが出ます。
・サンプルを見る
・ソースを保存する (右クリック→「対象をファイルに保存」or「リンクを名前を付けて保存」して下さい。)
・ソースを見る ・解説を見る
[ ソース ]
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<script language="JavaScript"><!--//
//=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=//
//= =//
//= Copyright (C) 1998-2007 WEST MiRa. All rights reserved. =//
//= WEST MiRa http://www.west-mira.jp/ =//
//= =//
//=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=//
//スロットが回る早さを指定する
hayasa=30;
//初期状態のコインの枚数を指定する
coin=50;
//コインを使い果たした時のメッセージを指定する
mes='貴方はコインを使い果たしてしまいました。';
//ぞろ目時の賞金の倍率を指定する
//2だったら揃った数の2倍、3だったら揃った数の3倍
rate1=2;
//連番時の賞金の倍率を指定する
//2だったら揃った数の2倍、3だったら揃った数の3倍
rate2=3;
//スロットのリールの長さを指定する
reels_len=15;
kekka=coin;
kekka_moji='';
nums=new Array('','','','','','','','','');
reels=new Array();
timers=0;
e1=0;e2=0;e3=0;
now1=0;now2=0;now3=0;
function hajime()
{
kekka=coin;
document.form1.kekka.value=coin;
for(i = 0; i < 9; i++)
document.form1.elements[i].value=" ";
}
function srot()
{
if(e1 < 1000)
{
if(now1+1 >= reels_len)
{
nums[0]=reels[0].charAt(1);
nums[1]=reels[0].charAt(0);
nums[2]=reels[0].charAt(now1);
}
else if(now1+2 >= reels_len)
{
nums[0]=reels[0].charAt(0);
nums[1]=reels[0].charAt(now1+1);
nums[2]=reels[0].charAt(now1);
}
else
{
nums[0]=reels[0].charAt(now1+2);
nums[1]=reels[0].charAt(now1+1);
nums[2]=reels[0].charAt(now1);
}
document.form1.text11.value=nums[0];
document.form1.text12.value=nums[1];
document.form1.text13.value=nums[2];
e1++; now1++;
if(now1 >= reels_len)now1=0;
clearTimeout(timers);
if(e1 < 1000)timers=setTimeout('srot()',hayasa);
}
else if(e1 == 1000)stop();
if(e2 < 1000)
{
if(now2+1 >= reels_len)
{
nums[3]=reels[1].charAt(1);
nums[4]=reels[1].charAt(0);
nums[5]=reels[1].charAt(now2);
}
else if(now2+2 >= reels_len)
{
nums[3]=reels[1].charAt(0);
nums[4]=reels[1].charAt(now2+1);
nums[5]=reels[1].charAt(now2);
}
else
{
nums[3]=reels[1].charAt(now2+2);
nums[4]=reels[1].charAt(now2+1);
nums[5]=reels[1].charAt(now2);
}
document.form1.text21.value=nums[3];
document.form1.text22.value=nums[4];
document.form1.text23.value=nums[5];
e2++; now2++;
if(now2 >= reels_len)now2=0;
clearTimeout(timers);
if(e2 < 1000)timers=setTimeout('srot()',hayasa);
}
else if(e2 == 1000)stop();
if(e3 < 1000)
{
if(now3+1 >= reels_len)
{
nums[6]=reels[2].charAt(1);
nums[7]=reels[2].charAt(0);
nums[8]=reels[2].charAt(now3);
}
else if(now3+2 >= reels_len)
{
nums[6]=reels[2].charAt(0);
nums[7]=reels[2].charAt(now3+1);
nums[8]=reels[2].charAt(now3);
}
else
{
nums[6]=reels[2].charAt(now3+2);
nums[7]=reels[2].charAt(now3+1);
nums[8]=reels[2].charAt(now3);
}
document.form1.text31.value=nums[6];
document.form1.text32.value=nums[7];
document.form1.text33.value=nums[8];
e3++; now3++;
if(now3 >= reels_len)now3=0;
clearTimeout(timers);
if(e3 < 1000)timers=setTimeout('srot()',hayasa);
}
else if(e3 == 1000)stop();
}
function stop()
{
for(i = 0; i < 9; i++)
document.form1.elements[i].value=nums[i];
if(e1 == 1000)e1=2000;
else if(e2 == 1000)e2=2000;
else if(e3 == 1000)e3=2000;
kekka_moji='';
if(e1 == 2000 && e2 == 2000 && e3 == 2000)
{
for(i=0 , j=0 , k=0; i < 3; i++)
{
if(nums[j] == nums[j+1] && nums[j] == nums[j+2])
{
if(nums[j] == 0)kekka+=10*rate1;
else kekka+=nums[j]*rate1;
kekka_moji+=nums[j]+''+nums[j+1]+''+nums[j+2]+'\n';
}
if(nums[k] == nums[k+3] && nums[k] == nums[k+6])
{
if(nums[j] == 0)kekka+=10*rate1;
else kekka+=nums[j]*rate1;
kekka_moji+=nums[k]+''+nums[k+3]+''+nums[k+6]+'\n';
}
if(nums[j] == nums[j+1]+1 && nums[j] == nums[j+2]+2)
{
if(nums[j] == 0)kekka+=10*rate2;
else kekka+=nums[j]*rate2;
kekka_moji+=nums[j]+''+nums[j+1]+''+nums[j+2]+'\n';
}
if(nums[j] == nums[j+1]-1 && nums[j] == nums[j+2]-2)
{
if(nums[j] == 0)kekka+=10*rate2;
else kekka+=nums[j]*rate2;
kekka_moji+=nums[j]+''+nums[j+1]+''+nums[j+2]+'\n';
}
if(nums[k] == nums[k+3]+1 && nums[k] == nums[k+6]+2)
{
if(nums[j] == 0)kekka+=10*rate2;
else kekka+=nums[j]*rate2;
kekka_moji+=nums[k]+''+nums[k+3]+''+nums[k+6]+'\n';
}
if(nums[k] == nums[k+3]-1 && nums[k] == nums[k+6]-2)
{
if(nums[j] == 0)kekka+=10*rate2;
else kekka+=nums[j]*rate2;
kekka_moji+=nums[k]+''+nums[k+3]+''+nums[k+6]+'\n';
}
j+=3;
k++;
}
if(nums[0] == nums[4] && nums[4] == nums[8])
{
if(nums[0] == 0)kekka+=10*rate1;
else kekka+=nums[0]*rate1;
kekka_moji+=nums[0]+''+nums[4]+''+nums[8]+'\n';
}
if(nums[6] == nums[4] && nums[4] == nums[2])
{
if(nums[6] == 0)kekka+=10*rate1;
else kekka+=nums[6]*rate1;
kekka_moji+=nums[6]+''+nums[4]+''+nums[2]+'\n';
}
if(kekka_moji != '')alert(kekka_moji+'\nYou Win!');
document.form1.kekka.value=kekka;
}
}
function starts(e)
{
e=eval(e);
if(e == 0)
{
if(kekka < 1)
{
alert(mes);
document.form1.kekka.value=0;
}
else
{
for(m = 0; m < 3; m++)
{
reels[m]='';
j=9; k=j; l=0;
while(reels[m].length < reels_len)
{
tmp=Math.floor(Math.random()*46);
if(tmp < k || tmp == 45)
{
if(l+1 == 10)reels[m]+=''+0;
else reels[m]+=''+(l+1);
}
j--;
k+=j;
l++;
if(l > 9){ j=9; k=j; l=0; }
}
}
kekka--;
document.form1.kekka.value=kekka;
e1=0;e2=0;e3=0;
for(i = 0; i < 9; i++)
document.form1.elements[i].value=" ";
srot();
}
}
else if(e == 1)e1=1000;
else if(e == 2)e2=1000;
else if(e == 3)e3=1000;
}
//-->
</script>
</head>
<body onLoad="hajime();">
<form name="form1">
<table border="1" align="center"><tr>
<td align="center">
<input type="text" size="1" name="text11"><br>
<input type="text" size="1" name="text12"><br>
<input type="text" size="1" name="text13">
</td>
<td align="center">
<input type="text" size="1" name="text21"><br>
<input type="text" size="1" name="text22"><br>
<input type="text" size="1" name="text23">
</td>
<td align="center">
<input type="text" size="1" name="text31"><br>
<input type="text" size="1" name="text32"><br>
<input type="text" size="1" name="text33">
</td>
</tr>
<tr>
<td align="center"><input type="button" value="Stop!" onClick="starts(1);"></td>
<td align="center"><input type="button" value="Stop!" onClick="starts(2);"></td>
<td align="center"><input type="button" value="Stop!" onClick="starts(3);"></td>
<tr>
<td colspan="3" align="center">
<input type="button" value="Start!" onClick="starts(0);">
<input type="button" value="Reset" onClick="hajime();">
</td>
</tr>
<tr>
<td colspan="3">手持ちコインはあと<input type="text" size="3" name="kekka">枚。</td>
</tr>
</table>
</form>
</body>
</html>
[ 解説 ]
初期コインの枚数や倍率を変更したい方は、ソース内の注釈を参考に色々と指定してみて下さい。
|