JSFiddle - React, Tailwind, and code Playground
by takezi
HTML
<script src="https://www.google.com/jsapi"></script>
<div id="chart" style="width: 900px; height: 500px;"></div>
<pre id="result"></pre>
CSS
#win {
color: red;
}
JavaScript
var max=30;
var a_win = 0, b_win = 0;
var plot = [['num', 'A', 'B', 'draw']];
function janken(pt,ct) {
ct[ct.length] = 0;
for(var i=pt.length; i>0; i--) {
pt[i] = pt[i-1] - 1;
ct[i] = ct[i-1] * 2 + ct[i];
}
pt[0] = pt[0] + 2;
}
function print(str) {
$("#result").append(str+"<br>");
}
function battle(num) {
var pt = [ 2, -1 ];
var ct = [ 1, 2 ];
for(var l=0; l<num-1; l++) {
janken(pt, ct);
}
var a = 0, b = 0, e = 0, s = 0;
for(var i=0; i<pt.length; i++) {
if( pt[i] > 0 ) {
a = a + ct[i];
} else if( pt[i] < 0 ) {
b = b + ct[i];
} else {
e = ct[i];
}
s = s + ct[i];
}
a = a/s*100;
b = b/s*100;
e = e/s*100;
if( a > b ) {
print("num="+num+" <span id=win>"+a+"</span> : "+b+" : "+e);
} else {
print("num="+num+" "+a+" : <span id=win>"+b+"</span> : "+e);
}
plot.push([num, a, b, e]);
if( a > b ) {
a_win = a_win + 1;
} else if( a < b ) {
b_win = b_win + 1;
}
}
$(function(){
for(n=1; n<=max; n++) {
battle(n);
}
print("------------------------------------------------");
print("a_win="+a_win+" b_win="+b_win);
});
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable(plot);
var chart = new google.visualization.LineChart($('#chart').get(0));
chart.draw(data);
}