diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..3c3629e
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+node_modules
diff --git a/buildings.js b/buildings.js
index 071b8e6..c694e95 100644
--- a/buildings.js
+++ b/buildings.js
@@ -34,11 +34,11 @@ function printPlanet(planet) {
// metalmine
document.getElementById("metalmineLevel").innerHTML = "(Level " + planet.Buildings.metalmine + ")";
if (planet.Buildings.metalmine == undefined) {
- document.getElementById("btnBuildMetalMine").innerHTML = "Build building";
+ document.getElementById("btnBuildMetalMine").innerHTML = `
Build building
`;
r = metalmineCost(1);
document.getElementById("metalmineResources").innerHTML = printResources(r);
} else {
- document.getElementById("btnBuildMetalMine").innerHTML = "Build level " + (+ (planet.Buildings.metalmine) + + (1));
+ document.getElementById("btnBuildMetalMine").innerHTML = `Build level ` + (+ (planet.Buildings.metalmine) + + (1)) + `
`;
r = metalmineCost((+ (planet.Buildings.metalmine) + + (1)));
document.getElementById("metalmineResources").innerHTML = printResources(r);
}
@@ -46,11 +46,11 @@ function printPlanet(planet) {
// crystalmine
document.getElementById("crystalmineLevel").innerHTML = "(Level " + planet.Buildings.crystalmine + ")";
if (planet.Buildings.crystalmine == undefined) {
- document.getElementById("btnBuildCrystalMine").innerHTML = "Build building";
+ document.getElementById("btnBuildCrystalMine").innerHTML = `Build building
`;
r = crystalmineCost(1);
document.getElementById("crystalmineResources").innerHTML = printResources(r);
} else {
- document.getElementById("btnBuildCrystalMine").innerHTML = "Build level " + (+ (planet.Buildings.crystalmine) + + (1));
+ document.getElementById("btnBuildCrystalMine").innerHTML = `Build level ` + (+ (planet.Buildings.crystalmine) + + (1)) + `
`;
r = crystalmineCost((+ (planet.Buildings.crystalmine) + + (1)));
document.getElementById("crystalmineResources").innerHTML = printResources(r);
}
@@ -58,11 +58,11 @@ function printPlanet(planet) {
// deuteriummine
document.getElementById("deuteriummineLevel").innerHTML = "(Level " + planet.Buildings.deuteriummine + ")";
if (planet.Buildings.deuteriummine == undefined) {
- document.getElementById("btnBuildDeuteriumMine").innerHTML = "Build building";
+ document.getElementById("btnBuildDeuteriumMine").innerHTML = `Build building
`;
r = deuteriummineCost(1);
document.getElementById("deuteriummineResources").innerHTML = printResources(r);
} else {
- document.getElementById("btnBuildDeuteriumMine").innerHTML = "Build level " + (+ (planet.Buildings.deuteriummine) + + (1));
+ document.getElementById("btnBuildDeuteriumMine").innerHTML = `Build level ` + (+ (planet.Buildings.deuteriummine) + + (1)) + `
`;
r = deuteriummineCost((+ (planet.Buildings.deuteriummine) + + (1)));
document.getElementById("deuteriummineResources").innerHTML = printResources(r);
}
@@ -70,11 +70,11 @@ function printPlanet(planet) {
// energymine
document.getElementById("energymineLevel").innerHTML = "(Level " + planet.Buildings.energymine + ")";
if (planet.Buildings.energymine == undefined) {
- document.getElementById("btnBuildEnergyMine").innerHTML = "Build building";
+ document.getElementById("btnBuildEnergyMine").innerHTML = `Build building
`;
r = energymineCost(1);
document.getElementById("energymineResources").innerHTML = printResources(r);
} else {
- document.getElementById("btnBuildEnergyMine").innerHTML = "Build level " + (+ (planet.Buildings.energymine) + + (1));
+ document.getElementById("btnBuildEnergyMine").innerHTML = `Build level ` + (+ (planet.Buildings.energymine) + + (1)) + `
`;
r = energymineCost((+ (planet.Buildings.energymine) + + (1)));
document.getElementById("energymineResources").innerHTML = printResources(r);
}
@@ -82,11 +82,11 @@ function printPlanet(planet) {
// fusionreactor
document.getElementById("fusionreactorLevel").innerHTML = "(Level " + planet.Buildings.fusionreactor + ")";
if (planet.Buildings.fusionreactor == undefined) {
- document.getElementById("btnBuildFusionReactor").innerHTML = "Build building";
+ document.getElementById("btnBuildFusionReactor").innerHTML = `Build building
`;
r = fusionreactorCost(1);
document.getElementById("fusionreactorResources").innerHTML = printResources(r);
} else {
- document.getElementById("btnBuildFusionReactor").innerHTML = "Build level " + (+ (planet.Buildings.fusionreactor) + + (1));
+ document.getElementById("btnBuildFusionReactor").innerHTML = `Build level ` + (+ (planet.Buildings.fusionreactor) + + (1)) + `
`;
r = fusionreactorCost((+ (planet.Buildings.fusionreactor) + + (1)));
document.getElementById("fusionreactorResources").innerHTML = printResources(r);
}
@@ -94,11 +94,11 @@ function printPlanet(planet) {
// roboticsfactory
document.getElementById("roboticsfactoryLevel").innerHTML = "(Level " + planet.Buildings.roboticsfactory + ")";
if (planet.Buildings.roboticsfactory == undefined) {
- document.getElementById("btnBuildRoboticsFactory").innerHTML = "Build building";
+ document.getElementById("btnBuildRoboticsFactory").innerHTML = `Build building
`;
r = roboticsfactoryCost(1);
document.getElementById("roboticsfactoryResources").innerHTML = printResources(r);
} else {
- document.getElementById("btnBuildRoboticsFactory").innerHTML = "Build level " + (+ (planet.Buildings.roboticsfactory) + + (1));
+ document.getElementById("btnBuildRoboticsFactory").innerHTML = `Build level ` + (+ (planet.Buildings.roboticsfactory) + + (1)) + `
`;
r = roboticsfactoryCost((+ (planet.Buildings.roboticsfactory) + + (1)));
document.getElementById("roboticsfactoryResources").innerHTML = printResources(r);
}
@@ -106,11 +106,11 @@ function printPlanet(planet) {
// shipyard
document.getElementById("shipyardLevel").innerHTML = "(Level " + planet.Buildings.shipyard + ")";
if (planet.Buildings.shipyard == undefined) {
- document.getElementById("btnBuildShipyard").innerHTML = "Build building";
+ document.getElementById("btnBuildShipyard").innerHTML = `Build building
`;
r = shipyardCost(1);
document.getElementById("shipyardResources").innerHTML = printResources(r);
} else {
- document.getElementById("btnBuildShipyard").innerHTML = "Build level " + (+ (planet.Buildings.shipyard) + + (1));
+ document.getElementById("btnBuildShipyard").innerHTML = `Build level ` + (+ (planet.Buildings.shipyard) + + (1)) + `
`;
r = shipyardCost((+ (planet.Buildings.shipyard) + + (1)));
document.getElementById("shipyardResources").innerHTML = printResources(r);
}
@@ -118,11 +118,11 @@ function printPlanet(planet) {
// metalstorage
document.getElementById("metalstorageLevel").innerHTML = "(Level " + planet.Buildings.metalstorage + ")";
if (planet.Buildings.metalstorage == undefined) {
- document.getElementById("btnBuildMetalStorage").innerHTML = "Build building";
+ document.getElementById("btnBuildMetalStorage").innerHTML = `Build building
`;
r = metalstorageCost(1);
document.getElementById("metalstorageResources").innerHTML = printResources(r);
} else {
- document.getElementById("btnBuildMetalStorage").innerHTML = "Build level " + (+ (planet.Buildings.metalstorage) + + (1));
+ document.getElementById("btnBuildMetalStorage").innerHTML = `Build level ` + (+ (planet.Buildings.metalstorage) + + (1)) + `
`;
r = metalstorageCost((+ (planet.Buildings.metalstorage) + + (1)));
document.getElementById("metalstorageResources").innerHTML = printResources(r);
}
@@ -130,11 +130,11 @@ function printPlanet(planet) {
// crystalstorage
document.getElementById("crystalstorageLevel").innerHTML = "(Level " + planet.Buildings.crystalstorage + ")";
if (planet.Buildings.crystalstorage == undefined) {
- document.getElementById("btnBuildCrystalStorage").innerHTML = "Build building";
+ document.getElementById("btnBuildCrystalStorage").innerHTML = `Build building
`;
r = crystalstorageCost(1);
document.getElementById("crystalstorageResources").innerHTML = printResources(r);
} else {
- document.getElementById("btnBuildCrystalStorage").innerHTML = "Build level " + (+ (planet.Buildings.crystalstorage) + + (1));
+ document.getElementById("btnBuildCrystalStorage").innerHTML = `Build level ` + (+ (planet.Buildings.crystalstorage) + + (1)) + `
`;
r = crystalstorageCost((+ (planet.Buildings.crystalstorage) + + (1)));
document.getElementById("crystalstorageResources").innerHTML = printResources(r);
}
@@ -142,11 +142,11 @@ function printPlanet(planet) {
// deuteriumstorage
document.getElementById("deuteriumstorageLevel").innerHTML = "(Level " + planet.Buildings.deuteriumstorage + ")";
if (planet.Buildings.deuteriumstorage == undefined) {
- document.getElementById("btnBuildDeuteriumStorage").innerHTML = "Build building";
+ document.getElementById("btnBuildDeuteriumStorage").innerHTML = `Build building
`;
r = deuteriumstorageCost(1);
document.getElementById("deuteriumstorageResources").innerHTML = printResources(r);
} else {
- document.getElementById("btnBuildDeuteriumStorage").innerHTML = "Build level " + (+ (planet.Buildings.deuteriumstorage) + + (1));
+ document.getElementById("btnBuildDeuteriumStorage").innerHTML = `Build level ` + (+ (planet.Buildings.deuteriumstorage) + + (1)) + `
`;
r = deuteriumstorageCost((+ (planet.Buildings.deuteriumstorage) + + (1)));
document.getElementById("deuteriumstorageResources").innerHTML = printResources(r);
}
@@ -154,11 +154,11 @@ function printPlanet(planet) {
// ressearchlab
document.getElementById("ressearchlabLevel").innerHTML = "(Level " + planet.Buildings.ressearchlab + ")";
if (planet.Buildings.ressearchlab == undefined) {
- document.getElementById("btnBuildRessearchLab").innerHTML = "Build building";
+ document.getElementById("btnBuildRessearchLab").innerHTML = `Build building
`;
r = ressearchlabCost(1);
document.getElementById("ressearchlabResources").innerHTML = printResources(r);
} else {
- document.getElementById("btnBuildRessearchLab").innerHTML = "Build level " + (+ (planet.Buildings.ressearchlab) + + (1));
+ document.getElementById("btnBuildRessearchLab").innerHTML = `Build level ` + (+ (planet.Buildings.ressearchlab) + + (1)) + `
`;
r = ressearchlabCost((+ (planet.Buildings.ressearchlab) + + (1)));
document.getElementById("ressearchlabResources").innerHTML = printResources(r);
}
@@ -166,11 +166,11 @@ function printPlanet(planet) {
// alliancedepot
document.getElementById("alliancedepotLevel").innerHTML = "(Level " + planet.Buildings.alliancedepot + ")";
if (planet.Buildings.alliancedepot == undefined) {
- document.getElementById("btnBuildAllianceDepot").innerHTML = "Build building";
+ document.getElementById("btnBuildAllianceDepot").innerHTML = `Build building
`;
r = alliancedepotCost(1);
document.getElementById("alliancedepotResources").innerHTML = printResources(r);
} else {
- document.getElementById("btnBuildAllianceDepot").innerHTML = "Build level " + (+ (planet.Buildings.alliancedepot) + + (1));
+ document.getElementById("btnBuildAllianceDepot").innerHTML = `Build level ` + (+ (planet.Buildings.alliancedepot) + + (1)) + `
`;
r = alliancedepotCost((+ (planet.Buildings.alliancedepot) + + (1)));
document.getElementById("alliancedepotResources").innerHTML = printResources(r);
}
@@ -178,11 +178,11 @@ function printPlanet(planet) {
// missilesilo
document.getElementById("missilesiloLevel").innerHTML = "(Level " + planet.Buildings.missilesilo + ")";
if (planet.Buildings.missilesilo == undefined) {
- document.getElementById("btnBuildMissileSilo").innerHTML = "Build building";
+ document.getElementById("btnBuildMissileSilo").innerHTML = `Build building
`;
r = missilesiloCost(1);
document.getElementById("missilesiloResources").innerHTML = printResources(r);
} else {
- document.getElementById("btnBuildMissileSilo").innerHTML = "Build level " + (+ (planet.Buildings.missilesilo) + + (1));
+ document.getElementById("btnBuildMissileSilo").innerHTML = `Build level ` + (+ (planet.Buildings.missilesilo) + + (1)) + `
`;
r = missilesiloCost((+ (planet.Buildings.missilesilo) + + (1)));
document.getElementById("missilesiloResources").innerHTML = printResources(r);
}
@@ -190,11 +190,11 @@ function printPlanet(planet) {
// spacedock
document.getElementById("spacedockLevel").innerHTML = "(Level " + planet.Buildings.spacedock + ")";
if (planet.Buildings.spacedock == undefined) {
- document.getElementById("btnBuildSpacedock").innerHTML = "Build building";
+ document.getElementById("btnBuildSpacedock").innerHTML = `Build building
`;
r = spacedockCost(1);
document.getElementById("spacedockResources").innerHTML = printResources(r);
} else {
- document.getElementById("btnBuildSpacedock").innerHTML = "Build level " + (+ (planet.Buildings.spacedock) + + (1));
+ document.getElementById("btnBuildSpacedock").innerHTML = `Build level ` + (+ (planet.Buildings.spacedock) + + (1)) + `
`;
r = spacedockCost((+ (planet.Buildings.spacedock) + + (1)));
document.getElementById("spacedockResources").innerHTML = printResources(r);
}
@@ -210,3 +210,19 @@ axios.get(url + "/planets/" + planetid, config).then(function(res) {
}).catch(function(error) {
console.log(error);
});
+
+
+function buildBuilding(building) {
+ console.log("build " + building);
+ const data = {
+ planetid: planetid,
+ building: building
+ }
+ axios.post(url + "/buildings", data, config).then(function(res) {
+ console.log("buildings", res.data);
+ planet = res.data.planet;
+ printPlanet(planet);
+ }).catch(function(error) {
+ console.log(error);
+ });
+}
diff --git a/calc.js b/calc.js
index 8bb95d3..0e7e340 100644
--- a/calc.js
+++ b/calc.js
@@ -7,10 +7,10 @@ function metalmineCost(lvl) {
};
// cost = base * 1.5^(lvl-1)
let cost = {};
- cost.Metal = Math.round(base.Metal * 1.5**(lvl-1));
- cost.Crystal = Math.round(base.Crystal * 1.5**(lvl-1));
- cost.Deuterium = Math.round(base.Deuterium * 1.5**(lvl-1));
- cost.Energy = Math.round(base.Energy * 1.5**(lvl-1));
+ cost.Metal = Math.floor(base.Metal * 1.5**(lvl-1));
+ cost.Crystal = Math.floor(base.Crystal * 1.5**(lvl-1));
+ cost.Deuterium = Math.floor(base.Deuterium * 1.5**(lvl-1));
+ cost.Energy = Math.floor(base.Energy * 1.5**(lvl-1));
return cost;
}
function crystalmineCost(lvl) {
@@ -22,10 +22,10 @@ function crystalmineCost(lvl) {
};
// cost = base * 1.6^(lvl-1)
let cost = {};
- cost.Metal = Math.round(base.Metal * 1.6**(lvl-1));
- cost.Crystal = Math.round(base.Crystal * 1.6**(lvl-1));
- cost.Deuterium = Math.round(base.Deuterium * 1.6**(lvl-1));
- cost.Energy = Math.round(base.Energy * 1.6**(lvl-1));
+ cost.Metal = Math.floor(base.Metal * 1.6**(lvl-1));
+ cost.Crystal = Math.floor(base.Crystal * 1.6**(lvl-1));
+ cost.Deuterium = Math.floor(base.Deuterium * 1.6**(lvl-1));
+ cost.Energy = Math.floor(base.Energy * 1.6**(lvl-1));
return cost;
}
function deuteriummineCost(lvl) {
@@ -37,10 +37,10 @@ function deuteriummineCost(lvl) {
};
// cost = base * 1.5^(lvl-1)
let cost = {};
- cost.Metal = Math.round(base.Metal * 1.5**(lvl-1));
- cost.Crystal = Math.round(base.Crystal * 1.5**(lvl-1));
- cost.Deuterium = Math.round(base.Deuterium * 1.5**(lvl-1));
- cost.Energy = Math.round(base.Energy * 1.5**(lvl-1));
+ cost.Metal = Math.floor(base.Metal * 1.5**(lvl-1));
+ cost.Crystal = Math.floor(base.Crystal * 1.5**(lvl-1));
+ cost.Deuterium = Math.floor(base.Deuterium * 1.5**(lvl-1));
+ cost.Energy = Math.floor(base.Energy * 1.5**(lvl-1));
return cost;
}
function energymineCost(lvl) {
@@ -52,10 +52,10 @@ function energymineCost(lvl) {
};
// cost = base * 1.5^(lvl-1)
let cost = {};
- cost.Metal = Math.round(base.Metal * 1.5**(lvl-1));
- cost.Crystal = Math.round(base.Crystal * 1.5**(lvl-1));
- cost.Deuterium = Math.round(base.Deuterium * 1.5**(lvl-1));
- cost.Energy = Math.round(base.Energy * 1.5**(lvl-1));
+ cost.Metal = Math.floor(base.Metal * 1.5**(lvl-1));
+ cost.Crystal = Math.floor(base.Crystal * 1.5**(lvl-1));
+ cost.Deuterium = Math.floor(base.Deuterium * 1.5**(lvl-1));
+ cost.Energy = Math.floor(base.Energy * 1.5**(lvl-1));
return cost;
}
function fusionreactorCost(lvl) {
@@ -67,10 +67,10 @@ function fusionreactorCost(lvl) {
};
// cost = base * 1.8^(lvl-1)
let cost = {};
- cost.Metal = Math.round(base.Metal * 1.8**(lvl-1));
- cost.Crystal = Math.round(base.Crystal * 1.8**(lvl-1));
- cost.Deuterium = Math.round(base.Deuterium * 1.8**(lvl-1));
- cost.Energy = Math.round(base.Energy * 1.8**(lvl-1));
+ cost.Metal = Math.floor(base.Metal * 1.8**(lvl-1));
+ cost.Crystal = Math.floor(base.Crystal * 1.8**(lvl-1));
+ cost.Deuterium = Math.floor(base.Deuterium * 1.8**(lvl-1));
+ cost.Energy = Math.floor(base.Energy * 1.8**(lvl-1));
return cost;
}
function roboticsfactoryCost(lvl) {
@@ -82,10 +82,10 @@ function roboticsfactoryCost(lvl) {
};
// cost = base * 2^(lvl-1)
let cost = {};
- cost.Metal = Math.round(base.Metal * 2**(lvl-1));
- cost.Crystal = Math.round(base.Crystal * 2**(lvl-1));
- cost.Deuterium = Math.round(base.Deuterium * 2**(lvl-1));
- cost.Energy = Math.round(base.Energy * 2**(lvl-1));
+ cost.Metal = Math.floor(base.Metal * 2**(lvl-1));
+ cost.Crystal = Math.floor(base.Crystal * 2**(lvl-1));
+ cost.Deuterium = Math.floor(base.Deuterium * 2**(lvl-1));
+ cost.Energy = Math.floor(base.Energy * 2**(lvl-1));
return cost;
}
function shipyardCost(lvl) {
@@ -97,10 +97,10 @@ function shipyardCost(lvl) {
};
// cost = base * 2^(lvl-1)
let cost = {};
- cost.Metal = Math.round(base.Metal * 2**(lvl-1));
- cost.Crystal = Math.round(base.Crystal * 2**(lvl-1));
- cost.Deuterium = Math.round(base.Deuterium * 2**(lvl-1));
- cost.Energy = Math.round(base.Energy * 2**(lvl-1));
+ cost.Metal = Math.floor(base.Metal * 2**(lvl-1));
+ cost.Crystal = Math.floor(base.Crystal * 2**(lvl-1));
+ cost.Deuterium = Math.floor(base.Deuterium * 2**(lvl-1));
+ cost.Energy = Math.floor(base.Energy * 2**(lvl-1));
return cost;
}
function metalstorageCost(lvl) {
@@ -112,7 +112,7 @@ function metalstorageCost(lvl) {
};
// cost = base * 2^(lvl-1)
let cost = {};
- cost.Metal = Math.round(base.Metal * 2**(lvl-1));
+ cost.Metal = Math.floor(base.Metal * 2**(lvl-1));
cost.Crystal = 0;
cost.Deuterium = 0;
cost.Energy = 0;
@@ -127,10 +127,10 @@ function crystalstorageCost(lvl) {
};
// cost = base * 2^(lvl-1)
let cost = {};
- cost.Metal = Math.round(base.Metal * 2**(lvl-1));
- cost.Crystal = Math.round(base.Crystal * 2**(lvl-1));
- cost.Deuterium = Math.round(base.Deuterium * 2**(lvl-1));
- cost.Energy = Math.round(base.Energy * 2**(lvl-1));
+ cost.Metal = Math.floor(base.Metal * 2**(lvl-1));
+ cost.Crystal = Math.floor(base.Crystal * 2**(lvl-1));
+ cost.Deuterium = Math.floor(base.Deuterium * 2**(lvl-1));
+ cost.Energy = Math.floor(base.Energy * 2**(lvl-1));
return cost;
}
function deuteriumstorageCost(lvl) {
@@ -142,10 +142,10 @@ function deuteriumstorageCost(lvl) {
};
// cost = base * 2^(lvl-1)
let cost = {};
- cost.Metal = Math.round(base.Metal * 2**(lvl-1));
- cost.Crystal = Math.round(base.Crystal * 2**(lvl-1));
- cost.Deuterium = Math.round(base.Deuterium * 2**(lvl-1));
- cost.Energy = Math.round(base.Energy * 2**(lvl-1));
+ cost.Metal = Math.floor(base.Metal * 2**(lvl-1));
+ cost.Crystal = Math.floor(base.Crystal * 2**(lvl-1));
+ cost.Deuterium = Math.floor(base.Deuterium * 2**(lvl-1));
+ cost.Energy = Math.floor(base.Energy * 2**(lvl-1));
return cost;
}
function ressearchlabCost(lvl) {
@@ -157,10 +157,10 @@ function ressearchlabCost(lvl) {
};
// cost = base * 1.5^(lvl-1)
let cost = {};
- cost.Metal = Math.round(base.Metal * 1.5**(lvl-1));
- cost.Crystal = Math.round(base.Crystal * 1.5**(lvl-1));
- cost.Deuterium = Math.round(base.Deuterium * 1.5**(lvl-1));
- cost.Energy = Math.round(base.Energy * 1.5**(lvl-1));
+ cost.Metal = Math.floor(base.Metal * 1.5**(lvl-1));
+ cost.Crystal = Math.floor(base.Crystal * 1.5**(lvl-1));
+ cost.Deuterium = Math.floor(base.Deuterium * 1.5**(lvl-1));
+ cost.Energy = Math.floor(base.Energy * 1.5**(lvl-1));
return cost;
}
@@ -173,10 +173,10 @@ function alliancedepotCost(lvl) {
};
// cost = base * 2^(lvl-1)
let cost = {};
- cost.Metal = Math.round(base.Metal * 2**(lvl-1));
- cost.Crystal = Math.round(base.Crystal * 2**(lvl-1));
- cost.Deuterium = Math.round(base.Deuterium * 2**(lvl-1));
- cost.Energy = Math.round(base.Energy * 2**(lvl-1));
+ cost.Metal = Math.floor(base.Metal * 2**(lvl-1));
+ cost.Crystal = Math.floor(base.Crystal * 2**(lvl-1));
+ cost.Deuterium = Math.floor(base.Deuterium * 2**(lvl-1));
+ cost.Energy = Math.floor(base.Energy * 2**(lvl-1));
return cost;
}
function missilesiloCost(lvl) {
@@ -188,10 +188,10 @@ function missilesiloCost(lvl) {
};
// cost = base * 2^(lvl-1)
let cost = {};
- cost.Metal = Math.round(base.Metal * 2**(lvl-1));
- cost.Crystal = Math.round(base.Crystal * 2**(lvl-1));
- cost.Deuterium = Math.round(base.Deuterium * 2**(lvl-1));
- cost.Energy = Math.round(base.Energy * 2**(lvl-1));
+ cost.Metal = Math.floor(base.Metal * 2**(lvl-1));
+ cost.Crystal = Math.floor(base.Crystal * 2**(lvl-1));
+ cost.Deuterium = Math.floor(base.Deuterium * 2**(lvl-1));
+ cost.Energy = Math.floor(base.Energy * 2**(lvl-1));
return cost;
}
function spacedockCost(lvl) {
@@ -203,9 +203,9 @@ function spacedockCost(lvl) {
};
// cost = base * 2^(lvl-1)
let cost = {};
- cost.Metal = Math.round(base.Metal * 2**(lvl-1));
- cost.Crystal = Math.round(base.Crystal * 2**(lvl-1));
- cost.Deuterium = Math.round(base.Deuterium * 2**(lvl-1));
- cost.Energy = Math.round(base.Energy * 2**(lvl-1));
+ cost.Metal = Math.floor(base.Metal * 2**(lvl-1));
+ cost.Crystal = Math.floor(base.Crystal * 2**(lvl-1));
+ cost.Deuterium = Math.floor(base.Deuterium * 2**(lvl-1));
+ cost.Energy = Math.floor(base.Energy * 2**(lvl-1));
return cost;
}
diff --git a/images/buildings/alliancedepot.png b/images/buildings/alliancedepot.png
index cf3b5f7..815aa48 100644
Binary files a/images/buildings/alliancedepot.png and b/images/buildings/alliancedepot.png differ
diff --git a/images/buildings/crystalmine.png b/images/buildings/crystalmine.png
index cf3b5f7..1cb5fab 100644
Binary files a/images/buildings/crystalmine.png and b/images/buildings/crystalmine.png differ
diff --git a/images/buildings/crystalstorage.png b/images/buildings/crystalstorage.png
index cf3b5f7..13f56bd 100644
Binary files a/images/buildings/crystalstorage.png and b/images/buildings/crystalstorage.png differ
diff --git a/images/buildings/deuteriummine.png b/images/buildings/deuteriummine.png
index cf3b5f7..f4a32ca 100644
Binary files a/images/buildings/deuteriummine.png and b/images/buildings/deuteriummine.png differ
diff --git a/images/buildings/deuteriumstorage.png b/images/buildings/deuteriumstorage.png
index cf3b5f7..c14c2be 100644
Binary files a/images/buildings/deuteriumstorage.png and b/images/buildings/deuteriumstorage.png differ
diff --git a/images/buildings/fusionreactor.png b/images/buildings/fusionreactor.png
index cf3b5f7..d3499fc 100644
Binary files a/images/buildings/fusionreactor.png and b/images/buildings/fusionreactor.png differ
diff --git a/images/buildings/metalmine.png b/images/buildings/metalmine.png
index cf3b5f7..afec984 100644
Binary files a/images/buildings/metalmine.png and b/images/buildings/metalmine.png differ
diff --git a/images/buildings/metalstorage.png b/images/buildings/metalstorage.png
index cf3b5f7..3dd8558 100644
Binary files a/images/buildings/metalstorage.png and b/images/buildings/metalstorage.png differ
diff --git a/images/buildings/missilesilo.png b/images/buildings/missilesilo.png
index cf3b5f7..569d6f1 100644
Binary files a/images/buildings/missilesilo.png and b/images/buildings/missilesilo.png differ
diff --git a/images/buildings/ressearchlab.png b/images/buildings/ressearchlab.png
index cf3b5f7..4bd9e71 100644
Binary files a/images/buildings/ressearchlab.png and b/images/buildings/ressearchlab.png differ
diff --git a/images/buildings/roboticsfactory.png b/images/buildings/roboticsfactory.png
index cf3b5f7..9da6ca7 100644
Binary files a/images/buildings/roboticsfactory.png and b/images/buildings/roboticsfactory.png differ
diff --git a/images/buildings/shipyard.png b/images/buildings/shipyard.png
index cf3b5f7..a0868e7 100644
Binary files a/images/buildings/shipyard.png and b/images/buildings/shipyard.png differ
diff --git a/images/buildings/solarmine.png b/images/buildings/solarmine.png
index cf3b5f7..7375074 100644
Binary files a/images/buildings/solarmine.png and b/images/buildings/solarmine.png differ
diff --git a/images/buildings/spacedock.png b/images/buildings/spacedock.png
index cf3b5f7..d9f20b1 100644
Binary files a/images/buildings/spacedock.png and b/images/buildings/spacedock.png differ
diff --git a/images/crystal.png b/images/crystal.png
index 707797e..90cc283 100644
Binary files a/images/crystal.png and b/images/crystal.png differ
diff --git a/images/deuterium.png b/images/deuterium.png
index 5d76052..ea1ac16 100644
Binary files a/images/deuterium.png and b/images/deuterium.png differ
diff --git a/images/energy.png b/images/energy.png
index 8978cbf..fd4a29e 100644
Binary files a/images/energy.png and b/images/energy.png differ
diff --git a/images/metal.png b/images/metal.png
index e62b1fb..919069e 100644
Binary files a/images/metal.png and b/images/metal.png differ
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..71f4eb6
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,61 @@
+{
+ "name": "gogame-frontend",
+ "version": "0.0.1",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "assertion-error": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
+ "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
+ "dev": true
+ },
+ "chai": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz",
+ "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==",
+ "dev": true,
+ "requires": {
+ "assertion-error": "^1.1.0",
+ "check-error": "^1.0.2",
+ "deep-eql": "^3.0.1",
+ "get-func-name": "^2.0.0",
+ "pathval": "^1.1.0",
+ "type-detect": "^4.0.5"
+ }
+ },
+ "check-error": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
+ "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=",
+ "dev": true
+ },
+ "deep-eql": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz",
+ "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==",
+ "dev": true,
+ "requires": {
+ "type-detect": "^4.0.0"
+ }
+ },
+ "get-func-name": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
+ "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=",
+ "dev": true
+ },
+ "pathval": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz",
+ "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=",
+ "dev": true
+ },
+ "type-detect": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
+ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
+ "dev": true
+ }
+ }
+}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..72ece38
--- /dev/null
+++ b/package.json
@@ -0,0 +1,15 @@
+{
+ "name": "gogame-frontend",
+ "version": "0.0.1",
+ "description": "",
+ "main": "index.js",
+ "scripts": {
+ "test": "mocha test/*.test.js"
+ },
+ "author": "",
+ "license": "ISC",
+ "dependencies": {},
+ "devDependencies": {
+ "chai": "^4.1.2"
+ }
+}
diff --git a/test/calc.test.js b/test/calc.test.js
new file mode 100644
index 0000000..0a74120
--- /dev/null
+++ b/test/calc.test.js
@@ -0,0 +1,72 @@
+const chai = require('chai');
+const calc = require('../calc.js');
+
+const {expect} = chai;
+
+describe('calc', () => {
+ it('encrypt and decrypt', () => {
+ // metalmine
+ expect(60).to.be.equal(calc.metalmineCost(1).Metal);
+ expect(15).to.be.equal(calc.metalmineCost(1).Crystal);
+ expect(0).to.be.equal(calc.metalmineCost(1).Deuterium);
+ expect(0).to.be.equal(calc.metalmineCost(1).Energy);
+
+ expect(90).to.be.equal(calc.metalmineCost(2).Metal);
+ expect(22).to.be.equal(calc.metalmineCost(2).Crystal);
+ expect(0).to.be.equal(calc.metalmineCost(2).Deuterium);
+ expect(0).to.be.equal(calc.metalmineCost(2).Energy);
+
+ expect(17515).to.be.equal(calc.metalmineCost(15).Metal);
+ expect(4378).to.be.equal(calc.metalmineCost(15).Crystal);
+ expect(0).to.be.equal(calc.metalmineCost(15).Deuterium);
+ expect(0).to.be.equal(calc.metalmineCost(15).Energy);
+
+ // crystalmine
+ expect(48).to.be.equal(calc.crystalmineCost(1).Metal);
+ expect(24).to.be.equal(calc.crystalmineCost(1).Crystal);
+ expect(0).to.be.equal(calc.crystalmineCost(1).Deuterium);
+ expect(0).to.be.equal(calc.crystalmineCost(1).Energy);
+
+ expect(76).to.be.equal(calc.crystalmineCost(2).Metal);
+ expect(38).to.be.equal(calc.crystalmineCost(2).Crystal);
+ expect(0).to.be.equal(calc.crystalmineCost(2).Deuterium);
+ expect(0).to.be.equal(calc.crystalmineCost(2).Energy);
+
+ expect(34587).to.be.equal(calc.crystalmineCost(15).Metal);
+ expect(17293).to.be.equal(calc.crystalmineCost(15).Crystal);
+ expect(0).to.be.equal(calc.crystalmineCost(15).Deuterium);
+ expect(0).to.be.equal(calc.crystalmineCost(15).Energy);
+
+ // deuteriummine
+ expect(225).to.be.equal(calc.deuteriummineCost(1).Metal);
+ expect(75).to.be.equal(calc.deuteriummineCost(1).Crystal);
+ expect(0).to.be.equal(calc.deuteriummineCost(1).Deuterium);
+ expect(0).to.be.equal(calc.deuteriummineCost(1).Energy);
+
+ expect(337).to.be.equal(calc.deuteriummineCost(2).Metal);
+ expect(112).to.be.equal(calc.deuteriummineCost(2).Crystal);
+ expect(0).to.be.equal(calc.deuteriummineCost(2).Deuterium);
+ expect(0).to.be.equal(calc.deuteriummineCost(2).Energy);
+
+ expect(65684).to.be.equal(calc.deuteriummineCost(15).Metal);
+ expect(21894).to.be.equal(calc.deuteriummineCost(15).Crystal);
+ expect(0).to.be.equal(calc.deuteriummineCost(15).Deuterium);
+ expect(0).to.be.equal(calc.deuteriummineCost(15).Energy);
+
+ // energymine
+ expect(75).to.be.equal(calc.energymineCost(1).Metal);
+ expect(30).to.be.equal(calc.energymineCost(1).Crystal);
+ expect(0).to.be.equal(calc.energymineCost(1).Deuterium);
+ expect(0).to.be.equal(calc.energymineCost(1).Energy);
+
+ expect(112).to.be.equal(calc.energymineCost(2).Metal);
+ expect(45).to.be.equal(calc.energymineCost(2).Crystal);
+ expect(0).to.be.equal(calc.energymineCost(2).Deuterium);
+ expect(0).to.be.equal(calc.energymineCost(2).Energy);
+
+ expect(21894).to.be.equal(calc.energymineCost(15).Metal);
+ expect(8757).to.be.equal(calc.energymineCost(15).Crystal);
+ expect(0).to.be.equal(calc.energymineCost(15).Deuterium);
+ expect(0).to.be.equal(calc.energymineCost(15).Energy);
+ });
+});
diff --git a/user.js b/user.js
index 741e8ad..292add1 100644
--- a/user.js
+++ b/user.js
@@ -1,7 +1,7 @@
const token = localStorage.getItem("token");
console.log(token);
-if (localStorage.getItem("token")===null) {
+if (localStorage.getItem("token") === null) {
// redirect to dashboard
window.location.href = "/index.html";
}
@@ -20,20 +20,24 @@ let config = {
let user = {};
// get user data
-axios.get(url + "/", config)
- .then(function (res) {
- console.log(res.data);
- user = res.data.user;
- console.log(user);
- document.getElementById("name").innerHTML = user.Name;
- document.getElementById("metal").innerHTML = user.Resources.Metal;
- document.getElementById("crystal").innerHTML = user.Resources.Crystal;
- document.getElementById("deuterium").innerHTML = user.Resources.Deuterium;
- document.getElementById("energy").innerHTML = user.Resources.Energy;
- if (localStorage.getItem("mainplanet")===null) {
- localStorage.setItem("mainplanet", res.data.user.Planets[0]);
- }
-})
-.catch(function (error) {
- console.log(error);
-});
+function getUser() {
+ axios.get(url + "/", config).then(function(res) {
+ console.log(res.data);
+ user = res.data.user;
+ console.log(user);
+ document.getElementById("name").innerHTML = user.Name;
+
+ document.getElementById("metal").innerHTML = user.Resources.Metal;
+ document.getElementById("crystal").innerHTML = user.Resources.Crystal;
+ document.getElementById("deuterium").innerHTML = user.Resources.Deuterium;
+ document.getElementById("energy").innerHTML = user.Resources.Energy;
+
+ if (localStorage.getItem("mainplanet") === null) {
+ localStorage.setItem("mainplanet", res.data.user.Planets[0]);
+ }
+ }).catch(function(error) {
+ console.log(error);
+ });
+}
+getUser();
+setInterval(getUser, 5000);