const percent = 6; const chance = percent / 100; const dreamDrops = 42; const dropsPerIteration = 263; const iterationsPerTick = 1000000; let maxDrop = 0; let ticks = 0; iterationBatch(); function iterationBatch() { for(let x = 0; x < iterationsPerTick; x++) { iteration(); } ticks++; console.log(`[${ticks}m]: max = ${maxDrop}`) setTimeout(() => iterationBatch(), 0); } function iteration() { let drops = 0; for(let i = 0; i < dropsPerIteration; i++) { if ( Math.random() <= chance) { drops++; } } maxDrop = Math.max(drops, maxDrop); }