JavaScript第7回目宿題解答(加藤)
・スロットマシンを作ってください。
コインの配当は、各自で適当に…
タイマー関連のメソッドを使用して、数字に動きを付けてください。
スタートとストップのボタンを作成し、コインがなくなったら、ゲームオーバーで。
---------------------------------------------------------------------------------
<html>
<head><title>スロットマシーン</title>
<script type="text/javascript">
<!--
//スロットの回転速度の初期設定(数値が大きいほど、スロットの回転速度が遅くなる)
var Min=300;//最高スピードの初期設定
var add100=1;//3桁スロット加速度設定
var add10=10;//2桁スロット加速度設定
var add1=20;//1桁スロット加速度設定
var V0=500;//初期スピード
//使用する変数
var Coins; //コイン
var Lock=false; //安全弁
var t_id=new Array(3); //それぞれのスロットのタイマーIDを格納する配列
var acc=new Array(V0,V0,V0); //速度を表す配列
var stopCount=0; //ストップしたスロットの数
var Counter=new Array(0,0,0); //それぞれのスロットの値を管理
//初期設定
function init(){
Coins=10;
document.coin.c1.value=Coins;
result.innerText="";
for(i=0;i<3;i++){
document.form1.elements[i].value="0";
}
}
//スロットをスタート
function startSlot(){
result.innerText="";
if(Lock==false){
if(Coins<1){
//alert('GAME OVER!');
result.innerText="ゲームオーバー!!\nΣ( ̄Д ̄)ガーン(=Д=;)マジー(=_=;)シュン";
}else{
Spin(0,add100);
Spin(1,add10);
Spin(2,add1);
Lock=true;
Coins--;
document.coin.c1.value=Coins;
result.innerText="ワクワク((o(゜▽゜○)(○゜▽゜)o))ドキドキ";
}
}
}
//スロットをストップ
function stopSlot(){
if(Lock){
clearTimeout(t_id[stopCount]); //タイマーを止める
acc[stopCount]=V0; //初期スピードに戻す
stopCount++;
if(stopCount>2){
stopCount=0;
if(Counter[0]==Counter[1] && Counter[0]==Counter[2]){
result.innerText="フィーバー♪|7|7|7|ヾ(・。・ )y─┛~~";
if(Counter[0]==7){
Coins+=1000;
result.innerText+="\n1000コインゲット!!";
}else{
Coins+=200;
result.innerText+="\n200コインゲット!!";
}
}else if(Counter[0]==Counter[1]){
Coins+=20;
result.innerText="|7|7|7|ヾ(^-^v)スロットで当たり〜♪ \n20コインゲット!";
}else{
result.innerText="残念━━(⊃Д`;)━━━!!!! ";
}
for(i=0;i<3;i++){
Counter[i]=0;
}
Lock=false;
document.coin.c1.value=Coins;
}
}
}
//スロットを回す
function Spin(place,speed){
acc[place]-=speed;
if(acc[place]<Min){acc[place]=Min;}
Counter[place]++;
if(Counter[place]>9){
Counter[place]=0;
}
document.form1.elements[place].value=Counter[place];
t_id[place]=setTimeout("Spin("+place+","+speed+")",acc[place]);
}
//-->
</script>
<style type="text/css">
<!--
.cbox{font-size:14px;font-weight:bold;border-style:inset;color:#ffffff;background-color:#333333;text-align:right;}
.tbox{font-size:40px;border-style:ridge;color:#00ff00;background-color:#ffffcc;text-align:center;}
p{font-size:40px;color:#ff3333;}
-->
</style>
</head>
<body onLoad="init()">
<h2>スロットマシーン</h2>
<form name="coin">
コイン <input type="text" size="4" name="c1" class="cbox" value="10">
</form>
<form name="form1">
<input type="text" name="t1" size="1" class="tbox" value="0">
<input type="text" name="t2" size="1" class="tbox" value="0">
<input type="text" name="t3" size="1" class="tbox" value="0">
<br><br>
<input type="button" value="START" onClick="startSlot()">
<input type="button" value="STOP" onClick="stopSlot()">
</form>
<p id="result"></p>
</body>
</html>