Skip to content

Instantly share code, notes, and snippets.

Created March 19, 2018 20:26
Show Gist options
  • Save anonymous/bc7605e99678273e1f13b560642512c6 to your computer and use it in GitHub Desktop.
Save anonymous/bc7605e99678273e1f13b560642512c6 to your computer and use it in GitHub Desktop.
<div id="qunit"></div>
<div id="qunit-fixture"></div>
function splitHitDice(input) {
let dices = input.toLowerCase().split('d');
return [...Array(parseInt(dices[0]))].map(_ => parseInt(dices[1]));
}
function calcHitDice(input) {
return [].concat.apply([], input.replace(' ','').split('+').map(splitHitDice));
}
QUnit.test( "1d6", function( assert ) {
assert.deepEqual(calcHitDice("1d6"), [6], "Passed!" );
});
QUnit.test( "1d8", function( assert ) {
assert.deepEqual(calcHitDice("1d8"), [8], "Passed!" );
});
QUnit.test( "1D8", function( assert ) {
assert.deepEqual(calcHitDice("1D8"), [8], "Passed!" );
});
QUnit.test( "2d8", function( assert ) {
assert.deepEqual(calcHitDice("2d8"), [8,8], "Passed!" );
});
QUnit.test( "3d8", function( assert ) {
assert.deepEqual(calcHitDice("3d8"), [8,8,8], "Passed!" );
});
QUnit.test( "1d6+3d8", function( assert ) {
assert.deepEqual(calcHitDice("1d6+3d8"), [6,8,8,8], "Passed!" );
});
QUnit.test( "2d6+3d8", function( assert ) {
assert.deepEqual(calcHitDice("2d6+3d8"), [6,6,8,8,8], "Passed!" );
});
QUnit.test( "1d4+2d6+3d8", function( assert ) {
assert.deepEqual(calcHitDice("1d4+2d6+3d8"), [4,6,6,8,8,8], "Passed!" );
});
QUnit.test( "1d6 + 3d8", function( assert ) {
assert.deepEqual(calcHitDice("1d6 + 3d8"), [6,8,8,8], "Passed!" );
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment