Dice roller
How do I make an dice roller?
What is a dice roller? How do you make a dice roller? This script and codes were developed by Dave on 17 September 2022, Saturday.
Dice roller - Script Codes HTML Codes
<!DOCTYPE html>
<html >
<head> <meta charset="UTF-8"> <title>Dice roller</title> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css"> <link rel="stylesheet" href="css/style.css">
</head>
<body> <div id="wrapper">
<div id="background"> <header> <img id="battle" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/124215/Battle Dice.png" alt="Battle dice logo"> </header> <div id="scroll"> <div class="js-test-roll-area"></div> <form class="js-dice-roll"> <fieldset> <legend>Number of dice</legend> <div> <button class="js-die" data-type="amount" value="0" type="button">0</button> <button class="js-die" data-type="amount" value="1" type="button">1</button> <button class="js-die" data-type="amount" value="2" type="button">2</button> <button class="js-die" data-type="amount" value="3" type="button">3</button> <button class="js-die" data-type="amount" value="4" type="button">4</button> <button class="js-die" data-type="amount" value="5" type="button">5</button> <button class="js-die" data-type="amount" value="6" type="button">6</button> <button class="js-die" data-type="amount" value="7" type="button">7</button> <button class="js-die" data-type="amount" value="8" type="button">8</button> <button class="js-die" data-type="amount" value="9" type="button">9</button> </fieldset> <fieldset> <legend>Type of dice</legend> <div> <button class="js-die" value="4" type="button">d4</button> <button class="js-die" value="6" type="button">d6</button> <button class="js-die" value="8" type="button">d8</button> <button class="js-die" value="10" type="button">d10</button> <button class="js-die" value="12" type="button">d12</button> <button class="js-die" value="20" type="button">d20</button> <button class="js-die" value="100" type="button">d100</button> </fieldset> <button type="button" class="js-die" value="clear">Clear</button><button>Roll</button> </form> </div> <div id="footer"><p>© 2017 Dice To The Face</p></div> </div> <script src="js/index.js"></script>
</body>
</html>
Dice roller - Script Codes CSS Codes
button { cursor: pointer;
}
fieldset { border: 0;
}
#wrapper { background: -webkit-linear-gradient(grey, black); background: linear-gradient(grey, black); margin: 0 auto; text-align: center; width: 100%; height: 100%;
}
#scroll { height: 100%; max-width: 650px; background-color: #efefef; border-radius: 10px; margin: 0 auto;
}
#battle { height: 200px; margin: -40px 0 0 -20px;
}
#footer { background-color: #efefef; padding: 10px; margin: 10px;
}
Dice roller - Script Codes JS Codes
"use strict";
// Utils
var findAll = function findAll(selector) { var context = arguments.length <= 1 || arguments[1] === undefined ? document : arguments[1]; return context.querySelectorAll(selector);
};
var find = function find(selector) { var context = arguments.length <= 1 || arguments[1] === undefined ? document : arguments[1]; return context.querySelector(selector);
};
var each = function each(array, func) { for (var i = 0; i < array.length; i++) { func(array[i], i); }
};
// App
var canvas = find(".js-test-roll-area");
var getRandom = function getRandom(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min;
};
var roll = function roll(d) { return getRandom(1, d);
};
var sum = function sum(array) { return array.reduce(function (a, b) { return a + b; });
};
var rollDie = function rollDie(e) { e.preventDefault(); var total = []; var form = e.target; var quantity = form.elements["number-of-dice"].value; var type = form.elements["type-of-dice"].value; for (var i = 0; i < quantity; i++) { total.push(roll(type)); } canvas.innerHTML = "Roll: " + total.join(" + ") + " || Total: " + sum(total);
};
var diceToRoll = [];
var currentNumber = { quantity: "", sides: ""
};
var reset = function reset() { currentNumber = { quantity: "", sides: "" };
};
var displayText = "";
var appendToRoll = function appendToRoll(e) { var value = e.target.value; var type = e.target.dataset.type; if (value === "clear") { displayText = ""; diceToRoll = []; reset(); } else if (type === "amount") { displayText += currentNumber.quantity === "" && diceToRoll.length ? " + " + value : value; currentNumber.quantity += value; } else { currentNumber.sides += value; displayText += " d" + value; diceToRoll.push(currentNumber); reset(); } canvas.innerHTML = displayText;
};
var buttons = findAll(".js-die");
each(buttons, function (el) { return el.addEventListener("click", appendToRoll);
});
var form = find(".js-dice-roll");
form.addEventListener("submit", rollDice);
Developer | Dave |
Username | DaveOrDead |
Uploaded | September 17, 2022 |
Rating | 3 |
Size | 4,109 Kb |
Views | 26,312 |
Find the perfect freelance services for your business! Fiverr's mission is to change how the world works together. Fiverr connects businesses with freelancers offering digital services in 500+ categories. Find Developer!
Name | Size |
Words at War | 32,346 Kb |
React Tic Tac Toe | 28,062 Kb |
Email validation | 3,528 Kb |
React Calculator | 30,708 Kb |
Colour Swatches | 3,409 Kb |
Cors | 1,831 Kb |
Toggle component | 29,331 Kb |
Blank slates | 2,666 Kb |
A Pen by Dave | 1,728 Kb |
Flexbox Grid - Custom Properties | 2,975 Kb |
Jasper is the AI Content Generator that helps you and your team break through creative blocks to create amazing, original content 10X faster. Discover all the ways the Jasper AI Content Platform can help streamline your creative workflows. Start For Free!
Name | Username | Size |
Animated Donut Chart | Jplhomer | 3,808 Kb |
Headroom.js demo | WickyNilliams | 3,982 Kb |
FCC - Tribute Page | Cmwebby | 0 Kb |
Weather App | Kw7oe | 3,162 Kb |
Toolbar | Onsen | 5,414 Kb |
TigerWoods Freecodecamp Page | Baileytj | 2,869 Kb |
No Vacancy 404 CSS Only | Sethkontny | 0 Kb |
A form arranged using automatic placement. | Vikasford | 2,103 Kb |
Material design buttons | Fischaela | 4,381 Kb |
Personal Website Redesign v2.0 | DevItWithDavid | 5,168 Kb |
Surf anonymously, prevent hackers from acquiring your IP address, send anonymous email, and encrypt your Internet connection. High speed, ultra secure, and easy to use. Instant setup. Hide Your IP Now!