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);
}