Little Game 5x5
Little Game
by Konstantin Cryman
HTML
<button id="openChest"> test </button>
<br>
<div id="chestResult"> test </div>
JavaScript
var Util = (function(){
function Util(){
}
Util.Chanser = function( arrayToChance ){
// chanser received array of arrays [
// element: any,
// chanceWeight: Float || Integer
// ]
var totalChances = 0;
for( var i = 0; i < arrayToChance.length; i++ ){
totalChances += arrayToChance[ i ][1];
}
var ChanceMap = [];
var nextStartPoint = 0;
for( var i = 0; i < arrayToChance.length; i++ ){
var nextItem = {
item: arrayToChance[ i ][0],
from: nextStartPoint,
to: nextStartPoint + ( arrayToChance[ i ][1] / totalChances )
};
nextStartPoint += ( nextItem.to - nextItem.from ) ;
ChanceMap.push( nextItem );
}
let nextRandomNum = Math.random();
let resultItem = false;
for( var i = 0; i < ChanceMap.length; i++ ){
if( nextRandomNum > ChanceMap[i].from && nextRandomNum < ChanceMap[i].to ){
resultItem = ChanceMap[i];
break;
}
}
return resultItem.item;
};
return Util;
})();
var Filed = (function(){
function Field(){
}
return Field;
})();
var Game = (function(){
function Game(){
}
return Game;
})();
var Unit = (function(){
function Unit(){
}
return Unit;
})();
var Element = (function(){
var elementsList = [
[ "EARTH", 35 ],
[ "WIND", 5 ],
[ "FIRE", 5 ],
[ "LIGHT", 1 ],
[ "DARK", 1 ],
[ "GOD", 0.5 ]
];
var elementsConfig = {
"EARTH": {
chance: 35,
color: '#444411'
},
"WIND": {
chance: 5,
color: '#eeeeff'
},
"FIRE": {
chance: 5,
color: '#ff3300'
},
"LIGHT": {
chance: 1,
color: '#ffff66'
},
"DARK": {
chance: 1,
color: '#550055'
},
"GOD": {
chance: 0.5,
color: '#eeeeee'
}
};
function Element(){
}
Element.listForChanser = function(){
var arrToReturn = [];
for( var key in elementsConfig ){
arrToReturn.push( [
key,
elementsConfig[ key ]
] );
}
arrToReturn.sort( function( a, b ){
return a[1] - b[1]
} );
return...