The Gallery is deprecated. No new Gallery components may be submitted, and modifying existing components is disabled. For more information please read the Gallery Deprecation blog post. This is a static snapshot of the Gallery for archive purposes.
See 42 more by this user. Created: 07/14/12
Last CDN Push: 05/2/13
Build Tag: gallery-2013.05.02-22-59
Project: YUI 3
License: YUI BSD
YUI Version: 3.5.1
Free for use.
Y.Alea is a better pseudorandom number generator than Math.random.
gallery-alea is a slightly modified version of the Alea algorithm released by Johannes Baagoe.
Copyright (C) 2010 by Johannes Baagoe baagoe@baagoe.org
http://baagoe.org/en/wiki/Better_random_numbers_for_javascript#License
The Y.Alea constructor accepts any number of optional arguments to be used as seed values. If no seed values are passed in then Y.Lang.now() is used as the seed value.
Instances of Y.Alea will have three public methods.
random: Generates a random number that is greater than or equal to zero and less than one. The number will be a 32-bit fraction.
fract53: Generates a random number that is greater than or equal to zero and less than one. The number will be a 53-bit fraction.
uint32: Generates a random 32-bit unsigned integer.
<script src="http://yui.yahooapis.com/3.5.1/build/yui/yui-min.js"></script>
YUI({
//Last Gallery Build of this module
gallery: 'gallery-2013.05.02-22-59'
}).use('gallery-alea', function(Y) {
var random = new Y.Alea().random,
randomInteger = function (max, min) {
return Math.floor(min + random() * (max - min + 1));
},
rollD6 = function (count) {
var sum = 0;
while (count > 0) {
count -= 1;
sum += randomInteger(6, 1);
}
return sum;
};
// The result of rolling two 6-sided dice:
alert(rollD6(2));
});
All code on this site is licensed under the BSD License unless stated otherwise.