-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathutilities.js
More file actions
39 lines (30 loc) · 1.01 KB
/
utilities.js
File metadata and controls
39 lines (30 loc) · 1.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Function.prototype.extend = function(parent) {
this.prototype=Object.create(parent.prototype);
this.prototype.constructor = this;
return this;
};
Game.Utilities = {};
Game.Utilities.randomRange = function(min, max){
return Math.random() * (max - min) + min;
}
Game.randomize = function(array) {
let currentIndex = array.length, temporaryValue, randomIndex;
// While there remain elements to shuffle...
while (0 !== currentIndex) {
// Pick a remaining element...
randomIndex = Math.floor(Math.random() * currentIndex);
currentIndex -= 1;
// And swap it with the current element.
temporaryValue = array[currentIndex];
array[currentIndex] = array[randomIndex];
array[randomIndex] = temporaryValue;
}
return array;
}
Game.pickRandomElement = function(array){
let element = array[Math.floor(Math.random() * array.length)];
return element;
}
Game.sleep = function(timeInMS) {
return new Promise(resolve => setTimeout(resolve, timeInMS));
}