JSFiddle - React, Tailwind, and code Playground
by Tenderfeel
JavaScript
function createStatus(level){
var table = {
base:{
'A':5,
'B' :4,
'C':4,
'D' :4,
'E' :3,
'F' :3,
'G' :2,
},
gain:{
'A':0.5,
'B' :0.45,
'C':0.4,
'D' :0.35,
'E' :0.3,
'F' :0.25,
'G' :0.2,
}
};
var keys = ['energy', 'attack', 'speed', 'guard', 'cost'];
var ranks = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
var status = {
energy: level * Number.random(5, 10),
attack: level * Number.random(5, 10),
speed : level * Number.random(5, 10),
guard : level * Number.random(5, 10),
cost : level * Number.random(5, 10)
};
var fit = {
energy: ranks.getRandom(),
attack: ranks.getRandom(),
speed : ranks.getRandom(),
guard : ranks.getRandom(),
cost : ranks.getRandom()
};
Array.map(keys, function(k){
var r = fit[k];
var d = (table.base[r] + (table.gain[r] * level));
if(k !== 'cost'){
status[k] *= Math.ceil(d);
}else{
var c = Math.ceil(status[k] / d);
status[k] = Math.ceil(status[k] * c);
}
});
status['rank'] = calcRank(status, level);
return status;
};
function calcRank(status, level){
var total = Object.values(status).reduce(function(previousValue, currentValue, index, array){
return previousValue + currentValue;
});
var ave = (total/5)/level;
if(ave > level*15){
return 'S2';
}else if(ave > level*12){
return 'S';
}else if(ave > level*10){
return 'A2';
}else if(ave > level*8){
return 'A'
}else if(ave > level*5){
return 'B';
}else if(ave > level*3){
return 'C';
}else{
return 'D';
}
}
var result = [], unitNum = 0;
var teams =...