負荷の軽減を実感するを実行します。コードサイズがWebProg4と較べて95行から80行に縮小されていることをご確認ください。
サンプルプログラムコード5
<!DOCTYPE html> <!-- 運試し5 -->
<html> <!-- Fortune-05 -->
<head>
<script type="text/javascript">
var img0 = new Image(); //はずれ画像、当たり画像、大当たり画像
img0.src = "https://aidesign.lolipop.jp/wp-content/uploads/2015/07/hit012.png";
var img3 = new Image();
img3.src = "https://aidesign.lolipop.jp/wp-content/uploads/2015/08/SlotMCN.png";//回転ドラム画像、0~9
var onsei = ['hazure', 'atari', 'ooata']; //はずれ、当たり、大当たり音声
var ctx;
var timerid = setInterval('draw()', 50);
var i = [-1, -1, -1]; //Count
var x = [122, 232, 342]; //x-position
var y = 106; //y-position
function draw(){
var canvas = document.getElementById('tutorial');
if (canvas.getContext){
ctx = canvas.getContext('2d');
ctx.font = "96px Arial"; //フォントにArial,96pxを指定
NumericDisplay(0);
NumericDisplay(1);
NumericDisplay(2);
}
}
function StopStart(target){ //timeridが1以上で確定処理
if(timerid){ //確定処理
var stepVal = document.getElementById(target).value;
var chr = 0; //はずれ音声
var j1 = i[1]*10+i[2]; //x77
var j2 = i[0]*100+i[2]; //7x7
var j3 = i[0]*100+i[1]*10; //77x
if((j1==77)||(j2==707)||(j3==770)){//当たり、ファンファーレを鳴らす
chr = 2; //大当たり音声
}
else{
if((i[0]==stepVal)||(i[1]==stepVal)||(i[2]==stepVal)){
chr = 1; //当たり音声
}
}
ctx.drawImage(img0, 265*chr,0, 265,191, 150,y+10, 265,191); //当たり、はずれ画像を描画
ring(onsei[chr]); //音声を鳴らす
ctx.fillStyle = 'deeppink'; //Copyright
ctx.font = "16px Arial"; //フォントに16pxを指定
ctx.fillText("version 1.0.0.4 copyright Aidesign, 2015", 10, 324); //Version, (c)
clearInterval(timerid);
timerid = 0;
}
else{ //再開処理
ctx.clearRect(150,y+10, 415,y+201);//当たり、はずれ画像を消す,201=10+191
ctx.clearRect(10, 308, 380, 324); //Version Numberを消す
timerid = setInterval('draw()', 50);
}
}
function NumericDisplay(n){ //n:0~2
i[n] = Math.floor(Math.random()*10); //0~9までの乱数を発生させる
ctx.clearRect(x[n], y-96, x[n]+96, y+15);//前描画文字を消す
var k = Math.floor(i[n] / 5); //0~1
var j = i[n] % 5; //0,1,2,3,4
ctx.drawImage(img3, j*150,k*150, 150,150, x[n],y-96 , 96,96);//回転ドラム画像
}
function ring(tune){
document.getElementById(tune).play();
}
</script>
<style type="text/css">
canvas { border: 1px solid #999; }
</style>
</head>
<body onload="draw();">
<canvas id="tutorial" width="560" height="330"></canvas>
<BR><input type="number" id="step1" name="step1" min="0" max="9" value="7"/>
<input type="button" onClick="StopStart('step1')" value="Stop(確定) Start(再開)"/>
</body>
<div><audio id="hazure" preload="auto">
<source src="https://aidesign.lolipop.jp/wp-content/uploads/2015/07/se6.mp3"/> </audio> </div>
<div><audio id="atari" preload="auto">
<source src="https://aidesign.lolipop.jp/wp-content/uploads/2015/02/ji_023.mp3"/> </audio> </div>
<div><audio id="ooata" preload="auto">
<source src="https://aidesign.lolipop.jp/wp-content/uploads/2014/09/fanfare5.mp3"/> </audio> </div>
</html>
関連ページ
➊Webプログラミング書法
➋あみだくじ作成法