First, you can't have a card game without shuffling the deck. I found this shuffle function on http://jsfromhell.com/array/shuffle. In just a few lines, it randomizes the order of elements in a given array. Every day I'm shufflin'...
function shuffle(v) {
for(var j, x, i = v.length; i; j = parseInt(Math.random() * i), x = v[--i], v[i] = v[j], v[j] = x);
return v;
}
The second one is the function I use to create game ids. The games are identified by 5-character case-sensitive alphanumeric strings. It's easy to get ids of a different length, just change the number of iterations through the loop.
function makeGameId() {
var text = "";
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
for( var i=0; i < 5; i++ ) {
text += possible.charAt(Math.floor(Math.random() * possible.length));
}
return text;
}
Finally, there is this beautiful function for creating random GUIDs. This one is from http://byronsalau.com/blog/how-to-create-a-guid-uuid-in-javascript/. I use this to generate the unique identifiers for the cards in the game.
function createGuid() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = Math.random()*16|0, v = c === 'x' ? r : (r&0x3|0x8);
return v.toString(16);
});
}
I hope these can be as helpful to you as they have been to me.
| Amphibian.com comic for 10 November 2014 |
No comments:
Post a Comment