JSFiddle - React, Tailwind, and code Playground
HTML
<form name="form" method="post" action="">
<input name="one" type="button" id="sone" value="1" onclick="selectDoor(1)">
<input name="two" type="button" id="stwo" value="2" onclick="selectDoor(2)">
<input name="three" type="button" id="sthree" value="3" onclick="selectDoor(3)">
<input name="random" type="button" id="srnd" value="random" onclick="selectDoor(4)">
<input name="switch" type="button" id="bsw" value="switch" onclick="switchDoor()">
<input name="commit" type="button" id="bcm" value="commit" onclick="commitDoor()">
<input name="reset" type="button" id="bcm" value="reset" onclick="resetDoors()">
<br>
<input name="chsw" type="checkbox" id="chsw"> Auto Switch
<input name="chaut" type="checkbox" id="chaut"> Auto Play
<input name="chrst" type="checkbox" id="chrst"> Auto Reset
<input name="chsh" type="checkbox" id="chshow"> Show
<input name="chth" type="checkbox" id="chth"> x1000
</form>
<div id="win">Pick a door.</div>
<div id="show"></div>
<div id="tally">0/0</div>
<script type="text/javascript">resetDoors();</script>
JavaScript
var doors = [],
hdoors = [],
openDoor = undefined,
winDoor = 0,
picked = false,
currentDoor,
score = 0,
plays = 0;
var resetDoors = function(){
winDoor = Math.floor(Math.random() * 3);
openDoor = undefined;
picked = false;
for ( var i = 0; i <= 2; i++) {
doors[i] = ((i === winDoor) ? "Car " : "Goat");
hdoors[i] = 'Door';
}
var sh = document.getElementById('chshow').checked;
document.getElementById('show').innerHTML = sh ? doors: hdoors;
document.getElementById('win').innerHTML = 'Pick a door.'
};
var selectDoor = function(inputV){
var selDoor;
if (document.getElementById('chth').checked) {
for(var i = 0; i < 1000; i++) {
if (inputV == 4) {
selDoor = Math.ceil(Math.random() * 3);
sOnce(selDoor);
} else{
sOnce(inputV);
}
}
} else {
if (inputV == 4) {
selDoor = Math.ceil(Math.random() * 3);
sOnce(selDoor);
} else {
sOnce(inputV);
}
}
};
var sOnce = function(sDoor) {
var opOptions = [];
picked = true;
currentDoor = sDoor - 1;
for(var i = 0; i <= 2; i++) {
if ( i === currentDoor ) {
hdoors[i] = 'Curr';
} else if ( i !== currentDoor && i !== winDoor) {
opOptions[opOptions.length] = i;
} else {
hdoors[i] = 'Door';
}
}
var j = Math.floor(Math.random() * opOptions.length)
i = opOptions[j];
hdoors[i] = doors[i];
openDoor = i;
i = opOptions[1-j];
hdoors[i] = 'Door';
document.getElementById('show').innerHTML = hdoors;
document.getElementById('win').innerHTML = 'Door ' + (currentDoor + 1) + ' chosen.';
if (document.getElementById('chsw').checked) {
switchDoor();
}
if (document.getElementById('chth').checked || document.getElementById('chaut').checked) {
commitDoor();
...