WEST MiRa(1,739 Byte)
JavaScript(1,601 Byte)

■ JavaScript - サンプル集(257種類) - ゲーム
   - スロットゲーム Ver2

スロットゲームVer2です。
コインが揃ったり連番になると、コインを獲得できます。
リセットを押すと初期状態に返ります。
コインがゼロになると、その旨伝えるダイアログが出ます。

サンプルを見る
ソースを保存する
(右クリック→「対象をファイルに保存」or「リンクを名前を付けて保存」して下さい。)
ソースを見る
解説を見る





[ ソース ]

<html>
<head>
<script language="JavaScript">
<!--//Copyright (C) WEST MiRa http://www.west-mira.jp

	//スロットが回る早さを指定する
	hayasa=30;

	//初期状態のコインの枚数を指定する
	coin=50;

	//コインを使い果たした時のメッセージを指定する
	mes='貴方はコインを使い果たしてしまいました。';

	//ぞろ目時の賞金の倍率を指定する
	//2だったら揃った数の2倍、3だったら揃った数の3倍
	rate1=2;

	//連番時の賞金の倍率を指定する
	//2だったら揃った数の2倍、3だったら揃った数の3倍
	rate2=3;


	kekka=coin;
	nums=new Array('','','');
	timers=0;
	e1=0;e2=0;e3=0;
	function hajime()
		{
		kekka=coin;
		document.form1.kekka.value=coin;
		document.form1.text1.value=" ";
		document.form1.text2.value=" ";
		document.form1.text3.value=" ";
		}

	function srot()
		{
		if(e1 < 1000)
			{
			nums[0]=Math.floor(Math.random()*46);
			for(i1=0,j1=9,k1=j1; i1 < 10; i1++)
				{
				if(nums[0] < k1 || nums[0] == 45)
					{
					if(i1+1 == 10)nums[0]=0;
					else nums[0]=i1+1;
					break;
					}
				j1--;
				k1+=j1;
				}
			document.form1.text1.value=nums[0];
			e1++;
			clearTimeout(timers);
			timers=setTimeout('srot()',hayasa);
			}

		if(e2 < 1000)
			{
			nums[1]=Math.floor(Math.random()*46);
			for(i2=0,j2=9,k2=j2; i2 < 10; i2++)
				{
				if(nums[1] < k2 || nums[1] == 45)
					{
					if(i2+1 == 10)nums[1]=0;
					else nums[1]=i2+1;
					break;
					}
				j2--;
				k2+=j2;
				}
			document.form1.text2.value=nums[1];
			e2++;
			clearTimeout(timers);
			timers=setTimeout('srot()',hayasa);
			}

		if(e3 < 1000)
			{
			nums[2]=Math.floor(Math.random()*46);
			for(i3=0,j3=9,k3=j3; i3 < 10; i3++)
				{
				if(nums[2] < k3 || nums[2] == 45)
					{
					if(i3+1 == 10)nums[2]=0;
					else nums[2]=i3+1;
					break;
					}
				j3--;
				k3+=j3;
				}
			document.form1.text3.value=nums[2];
			e3++;
			clearTimeout(timers);
			timers=setTimeout('srot()',hayasa);
			}

		if(e1 >= 1000)stop();
		else if(e2 >= 1000)stop();
		else if(e3 >= 1000)stop();
		}

	function stop()
		{
		document.form1.text1.value=nums[0];
		document.form1.text2.value=nums[1];
		document.form1.text3.value=nums[2];
		if(e1 >= 1000 && e2 >= 1000 && e3 >= 1000)
			{
			if(nums[0] == nums[1] && nums[1] == nums[2])
				{
				if(nums[0] == 0)kekka+=10*rate1;
				else kekka+=nums[0]*rate1;
				}
			else if(nums[0] == nums[1]+1 && nums[1] == nums[2]+1)
				{
				if(nums[0] == 0)kekka+=10*rate2;
				else kekka+=nums[0]*rate2;
				}
			else if(nums[2] == nums[1]+1 && nums[1] == nums[0]+1)
				{
				if(nums[0] == 0)kekka+=10*rate2;
				else kekka+=nums[0]*rate2;
				}
			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 
				{
				kekka--;
				document.form1.kekka.value=kekka;
				e1=0;e2=0;e3=0;
				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="text1"></td>
<td align="center"><input type="text" size="1" name="text2"></td>
<td align="center"><input type="text" size="1" name="text3"></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>


[ 解説 ]

初期コインの枚数や倍率を変更したい方は、ソース内の注釈を参考に色々と指定してみて下さい。


バナー、リンクについて  ,   利用規約  ,   ヘルプ

Copyright (C) 1998-2007 WEST MiRa. All rights reserved.