JSFiddle - React, Tailwind, and code Playground
by XarX
HTML
<pre id=painted></pre>
JavaScript
var output = "";
var motivation_each_round = 5;
var mod1 = 5;
var mod2 = 1;
var mod3 = 3;
var _painted = 0, $painted = document.getElementById('painted');
var max_contestants = 10000;
var result = [];
for (var i=0;i<9999;i++) result[i] = 0;
for (var contestant=0;contestant<max_contestants;contestant++) {
var motivation = motivation_each_round;
var hp_loss = 0;
var hp_loss_min = 0;
/*
Challenge 1
*/
for (var round=0;round<3;round++) {
var rolled = roll(2);
if (rolled[0]+mod1 < 13+round) hp_loss = 13+round - (rolled[0]+mod1);
if (rolled[1]+mod2 < 13+round) hp_loss = 13+round - (rolled[1]+mod2);
hp_loss-=motivation;
if (hp_loss < hp_loss_min) {
hp_loss = hp_loss_min;
hp_loss_min = hp_loss;
}
motivation = Math.floor(motivation / 2)+motivation_each_round;
}
/*
Challenge 2
*/
for (var round=0;round<3;round++) {
var rolled = roll(3);
if (rolled[0]+mod1 < 12+2*round) hp_loss = 12+2*round - (rolled[0]+mod1);
if (rolled[1]+mod2 < 12+2*round) hp_loss = 12+2*round - (rolled[1]+mod2);
if (rolled[2]+mod3 < 12+2*round) hp_loss = 12+2*round - (rolled[2]+mod3);
hp_loss-=motivation;
if (hp_loss < hp_loss_min) {
hp_loss = hp_loss_min;
hp_loss_min = hp_loss;
}
motivation = Math.floor(motivation / 2)+motivation_each_round;
}
/*
Challenge 3
*/
var climbed = 0;
while (climbed < 90) {
var rolled = roll(1);
if (rolled[0]+mod1 < 10) hp_loss+=drop(climbed);
else if (rolled[0]+mod1 < 12) climbed-=10;
else if (rolled[0]+mod1 < 15) climbed-=0;
else if (rolled[0]+mod1 < 19) climbed+=10;
else if (rolled[0]+mod1 >= 19) climbed+=20;
if (climbed < 0) climbed = 0;
}
motivation = Math.floor(motivation / 2)+motivation_each_round;
/*
Challenge 4 Schießen
*/
/*
Challenge 5 Parkour
*/
/*
Challenge 6 Rutschen
*/
result[hp_loss]++;
}
$painted.textContent="";
var total_perc = 0;
for (var i=0;i<9999;i++) {
total_perc +=...