Advertisement
Guest User

JavaScript shuffle visualizer

a guest
Aug 27th, 2014
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /************ CoffeeScript source: ************
  2. deckSize = 52
  3. deck = [0...deckSize]
  4.  
  5. rand = (min = 0, max = 51) ->
  6.   Math.floor(Math.random() * (max - min + 1)) + min
  7.  
  8. swap = (a, b) ->
  9.   [deck[a], deck[b]] = [deck[b], deck[a]]
  10.  
  11. testCount = 52
  12. test = (deck) ->
  13.     document.write '<table>'    
  14.     for [1..testCount]
  15.         do shuffle
  16.         plot deck        
  17.     document.write '</table>'
  18.  
  19. plot = (deck) ->
  20.     document.write '<tr>'    
  21.     for i in [0...deck.length]
  22.         bg = 5 * deck[i] % 256
  23.         document.write """
  24.             <td style='background-color:rgb(#{bg},#{bg},#{bg});'>
  25.                 &nbsp;
  26.             </td>"""            
  27.     document.write '</tr>'
  28. *********************************************/
  29.  
  30. var deck, deckSize, plot, rand, swap, test, testCount, _i, _results;
  31. deckSize = 52;
  32.  
  33. deck = (function() {
  34.   _results = [];
  35.   for (var _i = 0; 0 <= deckSize ? _i < deckSize : _i > deckSize; 0 <= deckSize ? _i++ : _i--){ _results.push(_i); }
  36.   return _results;
  37. }).apply(this);
  38.  
  39. rand = function(min, max) {
  40.   if (min == null) min = 0;
  41.   if (max == null) max = 51;
  42.   return Math.floor(Math.random() * (max - min + 1)) + min;
  43. };
  44.  
  45. swap = function(a, b) {
  46.   var _ref;
  47.   return _ref = [deck[b], deck[a]], deck[a] = _ref[0], deck[b] = _ref[1], _ref;
  48. };
  49.  
  50. testCount = 52;
  51.  
  52. test = function(deck) {
  53.   var _j;
  54.   document.write('<table>');
  55.   for (_j = 1; 1 <= testCount ? _j <= testCount : _j >= testCount; 1 <= testCount ? _j++ : _j--) {
  56.     shuffle();
  57.     plot(deck);
  58.   }
  59.   return document.write('</table>');
  60. };
  61.  
  62. plot = function(deck) {
  63.   var bg, i, _j, _ref;
  64.   document.write('<tr>');
  65.   for (i = _j = 0, _ref = deck.length; 0 <= _ref ? _j < _ref : _j > _ref; i = 0 <= _ref ? ++_j : --_j) {
  66.     bg = 5 * deck[i] % 256;
  67.     document.write("<td style='background-color:rgb(" + bg + "," + bg + "," + bg + ");'>\n    &nbsp;\n</td>");
  68.   }
  69.   return document.write('</tr>');
  70. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement