Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /************ CoffeeScript source: ************
- deckSize = 52
- deck = [0...deckSize]
- rand = (min = 0, max = 51) ->
- Math.floor(Math.random() * (max - min + 1)) + min
- swap = (a, b) ->
- [deck[a], deck[b]] = [deck[b], deck[a]]
- testCount = 52
- test = (deck) ->
- document.write '<table>'
- for [1..testCount]
- do shuffle
- for i in [0...deckSize]
- if deck.indexOf(i) is -1 then throw "#{i} is not in the deck"
- if deck.length isnt 52 then throw "deck length is #{deck.length}; should be 52"
- plot deck
- document.write '</table>'
- plot = (deck) ->
- document.write '<tr>'
- for i in [0...deck.length]
- bg = 5 * deck[i] % 256
- document.write """
- <td style='background-color:rgb(#{bg},#{bg},#{bg});height:20px;width:20px'>
-
- </td>"""
- document.write '</tr>'
- *********************************************/
- //Usage:
- //1. Declare your shuffle() function
- //2. Run `test(deck)`
- var deck, deckSize, plot, rand, swap, test, testCount, _i, _results;
- deckSize = 52;
- deck = (function() {
- _results = [];
- for (var _i = 0; 0 <= deckSize ? _i < deckSize : _i > deckSize; 0 <= deckSize ? _i++ : _i--){ _results.push(_i); }
- return _results;
- }).apply(this);
- rand = function(min, max) {
- if (min == null) min = 0;
- if (max == null) max = 51;
- return Math.floor(Math.random() * (max - min + 1)) + min;
- };
- swap = function(a, b) {
- var _ref;
- return _ref = [deck[b], deck[a]], deck[a] = _ref[0], deck[b] = _ref[1], _ref;
- };
- testCount = 52;
- test = function(deck) {
- var i, _j, _k;
- document.write('<table>');
- for (_j = 1; 1 <= testCount ? _j <= testCount : _j >= testCount; 1 <= testCount ? _j++ : _j--) {
- shuffle();
- for (i = _k = 0; 0 <= deckSize ? _k < deckSize : _k > deckSize; i = 0 <= deckSize ? ++_k : --_k) {
- if (deck.indexOf(i) === -1) throw "" + i + " is not in the deck";
- if (deck.length !== 52) {
- throw "deck length is " + deck.length + "; should be 52";
- }
- }
- plot(deck);
- }
- return document.write('</table>');
- };
- plot = function(deck) {
- var bg, i, _j, _ref;
- document.write('<tr>');
- for (i = _j = 0, _ref = deck.length; 0 <= _ref ? _j < _ref : _j > _ref; i = 0 <= _ref ? ++_j : --_j) {
- bg = 5 * deck[i] % 256;
- document.write("<td style='background-color:rgb(" + bg + "," + bg + "," + bg + ");height:20px;width:20px'>\n \n</td>");
- }
- return document.write('</tr>');
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement