JSFiddle - React, Tailwind, and code Playground

by tJener

HTML

<form id="form">
    Total particles: <input id="particleCount" type="number" min="0" step="100" value="1000"><br />
    Scale: <input id="globalScale" type="number" min="1" step="1" value="100"><br />
    Particles emitted per frame: <input id="emissionRate" min="1" step="1" value="5"><br />
    <input id="startTest" type="submit" value="Start Tests">
</form>

JavaScript

function testShit(particleCount, scale, particleEmissionRate, duration) {
    $('#particleCount').val(particleCount);
    $('#globalScale').val(scale);
    $('#emissionRate').val(emissionRate);

    particleCount += 100;
    if (particleCount > 2000) {
        particleCount = 100;
        scale += 25;
        if (scale > 200) {
            scale = 50;
            return;
        }
    }

    window.setTimeout(function() {
        testShit(particleCount, scale, particleEmissionRate, duration);
    }, duration);
}

var testRunning = false;
$('#form').submit(function() {
    if (!testRunning) {
        // start test
        testShit(100, 50, 10, 5000);
        testRunning = true;
    }
    return false;
});