Roll dice (eg Asphodice) and show outcomes https://rpg.bertieb.org/dice-roller/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

43 lines
1.4 KiB

  1. import { RollStats } from "./rollstats"
  2. import { Outcomes } from "./asphodice"
  3. let rollstats = new RollStats();
  4. function getResults():void {
  5. console.log("getting results");
  6. $("#results").empty();
  7. rollstats.doRolls();
  8. $("#results").append(`<div class="card my-4">`);
  9. $("#results").append(`<div class="card-body">`);
  10. $("#results").append(`<p>
  11. <strong>Rerolled:</strong> ${rollstats.rerollCounts.true} <br/>
  12. <strong>Not rerolled:</strong> ${rollstats.rerollCounts.false}
  13. </p>`);
  14. $("#results").append(`<table class="table" id="balanceTable">
  15. <thead><td>Balance</td> <td>Count</td> <td>Percentage</td></thead>
  16. <tbody></tbody>
  17. </table>`);
  18. //
  19. let bc = rollstats.balanceCounts;
  20. let keys = Object.keys(bc);
  21. keys.sort(function(a: string, b: string){return Number(a) - Number(b)});
  22. //for (let balance in rollstats.balanceCounts) {
  23. for (var i = 0; i < keys.length; i++) {
  24. let tb = $("#balanceTable").find("tbody");
  25. tb.append(`<tr> <td>${keys[i]}</td>
  26. <td>${rollstats.balanceCounts[keys[i]]}</td>
  27. <td>${(rollstats.balanceCounts[keys[i]] / rollstats.numRolls * 100).toFixed(2)}</td>
  28. </tr>`);
  29. }
  30. $("#results").append(`</div>`);
  31. $("#results").append(`</div>`);
  32. }
  33. function setupHandlers(): void {
  34. console.log("adding event handler");
  35. $("#mainRoll").click(getResults);
  36. }
  37. document.addEventListener("DOMContentLoaded", setupHandlers);