Simpletrixx-LearningJS/gaussDice.js

22 lines
1.2 KiB
JavaScript

function gaussianDiceRoll(ev) {
const assocField = ev.target.id.replace("Button", "Output")
const assocDam = ev.target.id.replace("Button", "Input")
let u = 0, v = 0;
while(u === 0) u = Math.random();
while(v === 0) v = Math.random();
const mean = parseInt(document.getElementById(assocDam).value)
const storeGaussVal = Math.sqrt( -2.0 * Math.log( u ) ) * Math.cos( 2.0 * Math.PI * v );
const elementToChange = document.getElementById(assocField)
elementToChange.innerHTML = storeGaussVal*mean/3.6+mean
return elementToChange.innerHTML
}
function selfSpellDamage(ev) {
const Mana = document.getElementById("Mana").value
const Time = document.getElementById("Time").value
const assocDam = ev.target.id.replace("Press", "Field")
const elementToChange = document.getElementById(assocDam)
elementToChange.innerHTML = Math.round((Time**3-3*Mana*Time**2+3*Mana**2*Time-Mana**3)/3/Mana*100)/100
} //Ich hab da ne Formel gefunden, but I suspect it's not correct...
document.getElementById("DamageButton").addEventListener("click", gaussianDiceRoll);
document.getElementById("HealthPress").addEventListener("click", selfSpellDamage);