262 lines
8.2 KiB
JavaScript
262 lines
8.2 KiB
JavaScript
function vitesse() {
|
||
var vi;
|
||
vi = document.getElementsByName("vitesse")[0].value;
|
||
vi = vi / 10;
|
||
return(vi);
|
||
}
|
||
|
||
function target() {
|
||
var galaxie;
|
||
var systeme;
|
||
var planete;
|
||
|
||
galaxie = document.getElementsByName("galaxie_arr")[0].value;
|
||
systeme = document.getElementsByName("systeme_arr")[0].value;
|
||
planete = document.getElementsByName("planete_arr")[0].value;
|
||
|
||
return("["+galaxie+":"+systeme+":"+planete+"]");
|
||
}
|
||
|
||
function setTarget(galaxie, ss, planete) {
|
||
document.getElementsByName('galaxie_arr')[0].value = galaxie;
|
||
document.getElementsByName('systeme_arr')[0].value = ss;
|
||
document.getElementsByName('planete_arr')[0].value = planete;
|
||
}
|
||
|
||
function setMission(mission) {
|
||
document.getElementsByName('ordre')[0].selectedIndex = mission;
|
||
return;
|
||
}
|
||
|
||
function setUnion(unionid) {
|
||
document.getElementsByName('union2')[0].selectedIndex = unionid;
|
||
}
|
||
|
||
function setTargetLong(galaxie, ss, planete, categorie, mission, cnt) {
|
||
setTarget(galaxie, ss, planete, categorie);
|
||
setMission(mission);
|
||
setUnions(cnt);
|
||
}
|
||
|
||
function min(a, b) {
|
||
a = a * 1;
|
||
b = b * 1;
|
||
if (a > b) {
|
||
return b;
|
||
} else {
|
||
return a;
|
||
}
|
||
}
|
||
|
||
function maxvitesse() {
|
||
var msp = 1000000000;
|
||
for (i = 1; i<=14; i++) {
|
||
if (document.getElementsByName("vaisseau" + i)[0]) {
|
||
if ((document.getElementsByName("vitesse" + i)[0].value * 1) >= 1
|
||
&& (document.getElementsByName("vaisseau" + i)[0].value * 1) >= 1) {
|
||
msp = min(msp, document.getElementsByName("vitesse" + i)[0].value);
|
||
}
|
||
}
|
||
}
|
||
|
||
return(msp);
|
||
}
|
||
|
||
function distance() {
|
||
var galaxie_dep;
|
||
var systeme_dep;
|
||
var planete_dep;
|
||
var galaxie_arr;
|
||
var systeme_arr;
|
||
var planete_arr;
|
||
var dist;
|
||
|
||
galaxie_dep = document.getElementsByName("galaxie_dep")[0].value;
|
||
systeme_dep = document.getElementsByName("systeme_dep")[0].value;
|
||
planete_dep = document.getElementsByName("planete_dep")[0].value;
|
||
galaxie_arr = document.getElementsByName("galaxie_arr")[0].value;
|
||
systeme_arr = document.getElementsByName("systeme_arr")[0].value;
|
||
planete_arr = document.getElementsByName("planete_arr")[0].value;
|
||
|
||
dist = 0;
|
||
if ((galaxie_arr - galaxie_dep) != 0) {
|
||
dist = Math.abs(galaxie_arr - galaxie_dep) * 20000;
|
||
} else if ((systeme_arr - systeme_dep) != 0) {
|
||
dist = Math.abs(systeme_arr - systeme_dep) * 95 + 2700;
|
||
} else if ((planete_arr - planete_dep) != 0) {
|
||
dist = Math.abs(planete_arr - planete_dep) * 5 + 1000;
|
||
} else {
|
||
dist = 5;
|
||
}
|
||
|
||
return(dist);
|
||
}
|
||
|
||
function duree() {
|
||
var coef_vit;
|
||
|
||
coef_vit = document.getElementsByName("facteurvitesse")[0].value;
|
||
mvit = maxvitesse();
|
||
vit = vitesse();
|
||
dist = distance();
|
||
return Math.ceil(((35000 / vit * Math.sqrt(dist * 10 / mvit) + 10) / coef_vit));
|
||
}
|
||
|
||
function conso() {
|
||
var conso = 0;
|
||
var conso_base = 0;
|
||
var valeurs;
|
||
var i;
|
||
|
||
coef_vit = document.getElementsByName("facteurvitesse")[0].value;
|
||
dist = distance();
|
||
dur = duree();
|
||
|
||
for (i = 1; i <= 14; i++) {
|
||
if (document.getElementsByName("vaisseau" + i)[0]) {
|
||
vitv = document.getElementsByName("vitesse" + i)[0].value;
|
||
vite = 35000 / (dur * coef_vit - 10) * Math.sqrt(dist * 10 / vitv);
|
||
conso_base = document.getElementsByName("conso" + i)[0].value
|
||
* document.getElementsByName("vaisseau" + i)[0].value;
|
||
conso += conso_base * dist / 35000 * ((vite / 10) + 1) * ((vite / 10) + 1);
|
||
}
|
||
}
|
||
conso = Math.round(conso) + 1;
|
||
return(conso);
|
||
}
|
||
|
||
function stockage() {
|
||
var stockage = 0;
|
||
|
||
for (i=1; i<=14; i++) {
|
||
|
||
if (document.getElementsByName("vaisseau" + i)[0]) {
|
||
if ((document.getElementsByName("vaisseau" + i)[0].value * 1) >= 1) {
|
||
stockage
|
||
+= document.getElementsByName("vaisseau" + i)[0].value
|
||
* document.getElementsByName("capacite" + i)[0].value
|
||
}
|
||
}
|
||
}
|
||
|
||
stockage -= conso();
|
||
|
||
return(stockage);
|
||
}
|
||
|
||
function Infov() {
|
||
|
||
document.getElementById("distance").innerHTML = distance();
|
||
var secondes = duree();
|
||
document.forms["flotte"].elements["temps"].value = secondes;
|
||
var heures = Math.floor(secondes / 3600);
|
||
secondes -= heures * 3600;
|
||
|
||
var minutes = Math.floor(secondes / 60);
|
||
secondes -= minutes * 60;
|
||
|
||
if (minutes < 10) minutes = "0" + minutes;
|
||
if (secondes < 10) secondes = "0" + secondes;
|
||
|
||
document.getElementById("duree").innerHTML = heures + ":" + minutes + ":" + secondes + " h";
|
||
var stor = stockage();
|
||
var cons = conso();
|
||
|
||
document.getElementById("maxvitesse").innerHTML = maxvitesse();
|
||
if (stor >= 0) {
|
||
document.getElementById("conso").innerHTML = '<font color="lime">'+cons+'</font>';
|
||
document.getElementById("stockage").innerHTML = '<font color="lime">'+stor+'</font>';
|
||
} else {
|
||
document.getElementById("conso").innerHTML = '<font color="red">'+cons+'</font>';
|
||
document.getElementById("stockage").innerHTML = '<font color="red">'+stor+'</font>';
|
||
}
|
||
|
||
}
|
||
|
||
|
||
function setRessource(id, val) {
|
||
if (document.getElementsByName(id)[0]) {
|
||
document.getElementsByName("ressource" + id + "_aff")[0].value = val;
|
||
}
|
||
}
|
||
|
||
function maxRessource(id) {
|
||
var ressource = document.getElementsByName("ressource" + id)[0].value;
|
||
var ressourcechoisie = document.getElementsByName("ressource" + id + "_aff")[0].value;
|
||
var stockCap = stockage();
|
||
var r1Transport = document.getElementsByName("ressource1_aff")[0].value;
|
||
var r2Transport = document.getElementsByName("ressource2_aff")[0].value;
|
||
var r3Transport = document.getElementsByName("ressource3_aff")[0].value;
|
||
|
||
var freeCapacity = Math.min(Math.max(stockCap - r1Transport - r2Transport - r3Transport + ressourcechoisie*1, 0), ressource);
|
||
|
||
if (document.getElementsByName("ressource" + id + "_aff")[0]) {
|
||
document.getElementsByName("ressource" + id + "_aff")[0].value = freeCapacity;
|
||
}
|
||
calculateTransportCapacity();
|
||
}
|
||
|
||
|
||
function maxTritium() {
|
||
var stockCap = stockage(); // Capacit<69>e de stoquage
|
||
var r1toTransport = document.getElementsByName("ressource1_aff")[0].value; // valeur inscrite dans le titane a envoy<6F> pas le titane qu'on a quai
|
||
var r2toTransport = document.getElementsByName("ressource2_aff")[0].value; //pareille pour le carbone
|
||
var r3Transport = document.getElementsByName("ressource3")[0].value - (conso()+1); //tritium a quai - conso
|
||
var freeCapacity = stockCap - r1toTransport - r2toTransport; // capacit<69>e de stoquage moins le titane/carbonne deja "a envoyer"
|
||
// si on a plus de place pour foutre du tritium <20>a reste a 0
|
||
if (freeCapacity < 0) {
|
||
document.getElementsByName("ressource3_aff")[0].value = "0";
|
||
}
|
||
// si on a encore de la place
|
||
if (freeCapacity > 0) {
|
||
// si on a plus de place que de tritium a quai
|
||
if (freeCapacity >= r3Transport){
|
||
document.getElementsByName("ressource3_aff")[0].value = r3Transport;
|
||
// si on a moins de place que de tritium a quai on calcule pour tritium 1000 avec une place de 500
|
||
}
|
||
if (freeCapacity < r3Transport){
|
||
document.getElementsByName("ressource3_aff")[0].value = freeCapacity;
|
||
}
|
||
}
|
||
|
||
calculateTransportCapacity();
|
||
}
|
||
|
||
function maxRessources() {
|
||
var id;
|
||
var stockCap = stockage();
|
||
var r1Transport = document.getElementsByName("ressource1")[0].value;
|
||
var r2Transport = document.getElementsByName("ressource2")[0].value;
|
||
var r3Transport = document.getElementsByName("ressource3")[0].value - (conso()+1);
|
||
var freeCapacity = stockCap - r1Transport - r2Transport - r3Transport;
|
||
|
||
if (freeCapacity < 0) {
|
||
r1Transport = Math.min(r1Transport, stockCap);
|
||
r2Transport = Math.min(r2Transport, stockCap - r1Transport);
|
||
r3Transport = Math.min(r3Transport, stockCap - r1Transport - r2Transport);
|
||
}
|
||
document.getElementsByName("ressource1_aff")[0].value = Math.max(r1Transport, 0);
|
||
document.getElementsByName("ressource2_aff")[0].value = Math.max(r2Transport, 0);
|
||
document.getElementsByName("ressource3_aff")[0].value = Math.max(r3Transport, 0);
|
||
calculateTransportCapacity();
|
||
}
|
||
|
||
function calculateTransportCapacity() {
|
||
var r1= Math.abs(document.getElementsByName("ressource1_aff")[0].value);
|
||
var r2= Math.abs(document.getElementsByName("ressource2_aff")[0].value);
|
||
var r3= Math.abs(document.getElementsByName("ressource3_aff")[0].value);
|
||
|
||
tc = stockage() - r1 - r2 - r3;
|
||
|
||
if (tc < 0) {
|
||
document.getElementById("reste_ressources").innerHTML="<font color=red>"+tc+"</font>";
|
||
} else {
|
||
document.getElementById("reste_ressources").innerHTML="<font color=lime>"+tc+"</font>";
|
||
}
|
||
return tc;
|
||
}
|
||
|
||
|
||
|
||
|