1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123 | /**
* 5 dice vs. 10 dice
* by Kazuki Maeda
* Last-Modified: Mar. 9, 2021
*/
let mode = ''
let numgame = 0;
let thread;
let playerwin = 0;
let kingwin = 0;
let draw = 0;
window.onload = function(){
document.getElementById('game').addEventListener('click', game, true);
document.getElementById('endless').addEventListener('click', endless, true);
document.getElementById('reset').addEventListener('click', reset, true);
}
function dice(d){
if(d == 1){
return '<span style="color: red;">⚀</span>';
}
if(d == 2){
return '⚁';
}
if(d == 3){
return '⚂';
}
if(d == 4){
return '⚃';
}
if(d == 5){
return '⚄';
}
if(d == 6){
return '⚅';
}
}
function game(){
++numgame;
let player = [];
let playersum = 0;
let gametext = ' あなた:';
for(let i = 0; i < 5; ++i){
player.push(Math.floor(Math.random()*6)+1);
playersum += player[i];
gametext += dice(player[i]);
}
gametext += ':' + playersum + '<br>';
let king = [];
let kingsum = 0;
gametext += 'キングボンビー:';
for(let i = 0; i < 10; ++i){
king.push(Math.floor(Math.random()*6)+1);
kingsum += king[i];
gametext += dice(king[i]);
}
gametext += ':' + kingsum + '<br>';
if(kingsum > playersum){
++kingwin;
gametext += 'キングボンビーの勝ち!';
} else if(kingsum < playersum){
++playerwin;
gametext += '<strong>あなたの勝ち!</strong>';
} else {
++draw;
gametext += '<em>引き分け!</em>';
}
gametext += '<br>あなたは' + playerwin + '勝' + kingwin + '敗' + draw + '引き分け<strong>(勝率:' + (playerwin/numgame*100).toFixed(6) + '%)</strong>'
document.getElementById('result').innerHTML = gametext;
}
function endless(){
if(mode != 'endless'){
mode = 'endless';
thread = setInterval("endlessupdate();", 1000/60);
document.getElementById('game').disabled = true;
document.getElementById('reset').disabled = true;
document.getElementById('endless').value = 'もう飽きた';
} else {
mode = 'inendless';
document.getElementById('game').disabled = false;
document.getElementById('reset').disabled = false;
document.getElementById('endless').value = '飽きるまで勝負し続ける';
clearInterval(thread);
}
}
function endlessupdate(){
let speed = Math.floor(document.getElementById('speed').value);
speed = speed <= 0 ? 1 : speed;
for(let k = 0; k < speed-1; ++k){
++numgame;
let playersum = 0;
for(let i = 0; i < 5; ++i)
playersum += Math.floor(Math.random()*6)+1;
let kingsum = 0;
for(let i = 0; i < 10; ++i)
kingsum += Math.floor(Math.random()*6)+1;
if(kingsum > playersum){
++kingwin;
} else if(kingsum < playersum){
++playerwin;
} else {
++draw;
}
}
game();
}
function reset(){
document.getElementById('result').innerHTML = '勝負!!';
numgame=0;
playerwin=0;
kingwin=0;
draw=0;
}
|