JavaScript
ランダムイベントジェネレータその32017/07/18
こちらの改良版。
折れ線グラフではなく棒グラフで表示するように変更。
drawGraphaが少しシンプルに。
グラフ位置 =
0の個数 = 0
1の個数 = 0
乱数履歴 ->
reg-3.js
const H = 500;
var d = 0;
var result = document.getElementById("result");
var log = document.getElementById("log");
var cnt = 1;
var cnt0 = document.getElementById("cnt0");
var cnt1 = document.getElementById("cnt1");
var c0, c1;
var point = [];
point[0] = 0;
c0 = c1 = 0;
var canvas = document.getElementById("can");
var ctx = canvas.getContext("2d");
drawLine();
setInterval(function(){
canvas.setAttribute("width", cnt);
var r = 2 * (Math.floor(Math.random()*2)) - 1;
if(r == 1){
c1++;
cnt1.innerHTML = c1;
}else {
c0++;
cnt0.innerHTML = c0;
}
d = d + r;
point.unshift(d);
result.innerHTML = d;
log.innerHTML = (r==1?1:0) + log.innerHTML;
drawGrapha();
drawLine();
cnt += 1;
}, 1000);
function drawLine(){
ctx.beginPath();
ctx.strokeStyle = 'rgb(0, 0, 0)';
ctx.strokeRect(0, 0, cnt, H);
ctx.beginPath();
ctx.moveTo(0, H/2);
ctx.lineTo(cnt, H/2);
ctx.stroke();
}
function drawGrapha(){
ctx.beginPath();
ctx.strokeStyle = 'rgb(192, 80, 77)';
for(var i=0; i<point.length; i++){
ctx.moveTo(i, (H/2));
ctx.lineTo(i, (H/2) - point[i]);
}
ctx.stroke();
}