diff --git a/index.html b/index.html index 36ee312..db6c035 100644 --- a/index.html +++ b/index.html @@ -11,6 +11,8 @@ + + @@ -49,6 +51,61 @@

+ + +
@@ -77,17 +134,9 @@

-
+
- - -

- - - -

-

diff --git a/main.js b/main.js index 872e849..fd11975 100644 --- a/main.js +++ b/main.js @@ -14,17 +14,17 @@ function die_roll() { /** -* Roll a die n times. +* Roll a die 5 times. * -* @return integer a 5-digit integer representing 5 dice rolls. +* @return array an Array of 5 dice rolls */ function roll_dice() { - var retval = - String(die_roll()) + String(die_roll()) - + String(die_roll()) + String(die_roll()) - + String(die_roll()) - ; - retval = parseInt(retval); + var retval = new Array(); + retval.push(die_roll()); + retval.push(die_roll()); + retval.push(die_roll()); + retval.push(die_roll()); + retval.push(die_roll()); return(retval); } @@ -58,29 +58,87 @@ jQuery(".dice_button").on("click", function(e) { // jQuery("#roll_dice").on("click", function(e) { - jQuery(".results_words_key").hide(); - jQuery(".results_words_value").hide(); - jQuery(".results_phrase_key").hide(); - jQuery(".results_phrase_value").hide(); + // + // Remove any old results + // + jQuery(".results").empty(); + // + // Make our dice rolls + // var num_dice = jQuery(".dice_button.active").html(); var passphrase = new Array(); + var rolls = new Array(); for (var i=0; i
"); + + for (key2 in roll) { + var die = roll[key2]; + var classname = ".source .dice" + die; + jQuery(classname).clone().appendTo(row); + } + + rows.push(row); + + } + + // + // This function goes through our rows, calling itself and + // displaying each row after a delay. + // + function process_row(rows) { + + if (rows.length) { + var row = rows.shift(); + row.hide().appendTo(".results").fadeIn(500, function() { + jQuery(".results").append("
"); + process_row(rows); + }); + + } else { + display_results(); + + } + + } + + process_row(rows); + + // + // Display the actual results + // + function display_results() { + jQuery(".results_words_key").hide().clone().appendTo(".results"); + jQuery(".results_words_value").hide().clone().appendTo(".results"); + jQuery(".results").append("
"); + jQuery(".results_phrase_key").hide().clone().appendTo(".results"); + jQuery(".results_phrase_value").hide().clone().appendTo(".results"); + + jQuery(".results_words_key").fadeIn(500, function() { + jQuery(".results_words_value").fadeIn(500, function() { + jQuery(".results_phrase_key").fadeIn(500, function() { + jQuery(".results_phrase_value").fadeIn(500); + }); + }); + }); + + } });