Ando as voltas com um ficheiro de excel que calcule a produção em função do nivel de uma mina
Vamos por partes:
XML
Aqui encontram-se as funções principais usadas para a produção:
(Os dados de produção base e inflação de produção do planet são os dados no XML)
//Recebe a produção base, o nível, o rácio de produção do planeta e (1 + (nível da tecnologia de energia * 0.02))
function getProduction($bp, $level, $planetRacio, $renergy) {
$racioValues = array(1.13, 1.13, 1.125, 1.122, 1.15, 1.127);
for($i = 0; $i < count($racioValues); $i++) { //Para cada economia
$prod = $bp[$i] * ($level + 1);
if($level < 5) $prod *= pow(($racioValues[$i] * 2) - 1, $level);
else $prod *= pow(($racioValues[$i] * 2) - 1, 4) * pow($racioValues[$i], ($level - 4));
if($i != 5) { //Não é a energia
//As produções positivas são afectadas segundo os rácios dos Planetas
if($prod > 0) $prod *= $planetRacio[$i];
} else {
if($prod > 0) $prod *= $renergy;
}
$production[$i] = round($prod, 5);
}
return $production;
}
//Os paineis solares são tratados de modo diferente
//Recebe o número do planeta, o nível dos paineís e (1 + (nível da tecnologia de energia * 0.02))
function getSolarPlantProduction($numplanet, $level, $renergy) {
$solarplant = array(0, 80, 15, 20, 10, 0, 0, 0, 0, 0);
$racio = 1.127;
$prod = $renergy * $solarplant[$numplanet] * ($level + 1);
if($level < 0) return 0;
elseif($level < 5) $prod *= pow(($racio * 2) - 1, $level);
else $prod *= pow(($racio * 2) - 1, 4) * pow($racio, ($level - 4));
return array(0, 0, 0, 0, 0, round($prod, 5));
}
Algum voluntário para traduzir isto?
Aguns dados:
- Produção base de metal é 20
- Racio da terra é 1
- Inflacção é 1,5
- Racio interno é 1,3
Produção de uma mina de metal na terra, por nivel:
1 20
2 50
3 95
4 160
5 252
6 342
7 451
8 582
9 740
10 929