From acf5389ff70f27ae8ff5fec0cc6290c4b2de2e4a Mon Sep 17 00:00:00 2001 From: Douglas Muth Date: Tue, 31 Jan 2017 23:36:24 -0500 Subject: [PATCH] Added convertBase6ToDice(). --- main.js | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/main.js b/main.js index 0812912..01db141 100644 --- a/main.js +++ b/main.js @@ -85,6 +85,42 @@ Diceware.getBase6 = function(roll, num_dice) { } // End of getBase6() +/** +* Convert a base-6 number to a dice roll +* +* @param array roll An array of integers in base-6 notation +* @param integer num_dice The number of dice rolled +* +* @return array An array of integers representing dice rolls +*/ +Diceware.convertBase6ToDice = function(roll, num_dice) { + + var retval = []; + + if (roll.length != num_dice) { + throw("Mismatch between size of roll (" + roll.length + ") and number of dice (" + num_dice + ")"); + } + + for (var k in roll) { + var num = roll[k]; + + if (num < 0) { + throw("Value " + num + " is negative!"); + } + + if (num > 5) { + throw("Value " + num + " is too large!"); + } + + num++; + retval.push(num); + } + + return(retval); + +} // End of convertBase6ToDice() + + /** * Roll a die. * @@ -138,6 +174,7 @@ Diceware.roll_dice = function() { * @return string The word from the dicelist */ Diceware.get_word = function(wordlist, index) { + var retval = wordlist[index]; if (retval) {