Ajout des ressources
This commit is contained in:
@@ -1,51 +1,63 @@
|
||||
exports.planetType = {
|
||||
"Tempérée" : {
|
||||
"population" : 100,
|
||||
"elements" : ["Roches", "Eau", "Bois", "Poissons communs", "Plantes communes"]
|
||||
"elements" : ["Roches", "Eau", "Bois"],
|
||||
"resources" : ["Poissons communs", "Plantes communes", "Faune domestique", "Céréales"]
|
||||
},
|
||||
"Glacée" : {
|
||||
"population" : 1,
|
||||
"elements" : ["Roches", "Glace", "Gaz"]
|
||||
"elements" : ["Roches", "Glace", "Gaz"],
|
||||
"resources" : ["Artefacts", "Epaves", "Minerais rares"]
|
||||
},
|
||||
"Volcanique" : {
|
||||
"population" : 2,
|
||||
"elements" : ["Gaz", "Roches", "Carbone"]
|
||||
"elements" : ["Gaz", "Roches", "Carbone"],
|
||||
"resources" : ["Minerais rares", "Gaz toxiques"]
|
||||
},
|
||||
"Marécageuse" : {
|
||||
"population" : 10,
|
||||
"elements" : ["Eau", "Bois", "Terre", "Faune sauvage"]
|
||||
"elements" : ["Eau", "Bois", "Terre"],
|
||||
"resources" : ["Faune sauvage", "Bois renforcé", "Eau toxique"]
|
||||
},
|
||||
"Forestière" : {
|
||||
"population" : 20,
|
||||
"elements" : ["Bois", "Bois ancien", "Plantes rares"]
|
||||
"elements" : ["Bois"],
|
||||
"resources" : ["Plantes rares", "Plantes communes", "Bois commun", "Bois renforcé"]
|
||||
},
|
||||
"Océanique" : {
|
||||
"population" : 25,
|
||||
"elements" : ["Eau"]
|
||||
"elements" : ["Eau"],
|
||||
"resources" : ["Poissons communs", "Poissons rares", "Minérais communs"]
|
||||
},
|
||||
"Oecuménopole" : {
|
||||
"population" : 2000,
|
||||
"elements" : ["Roches"]
|
||||
"elements" : ["Roches"],
|
||||
"resources" : ["Biens de consommation", "Biens de luxe"]
|
||||
},
|
||||
"Désert" : {
|
||||
"population" : 50,
|
||||
"elements" : ["Sable", "Roches"]
|
||||
"elements" : ["Sable", "Roches"],
|
||||
"resources" : ["Artefacts", "Epaves", "Minerais communs", "Gemmes"]
|
||||
},
|
||||
"Minéralogique" : {
|
||||
"population" : 3,
|
||||
"elements" : ["Roches"]
|
||||
"elements" : ["Roches"],
|
||||
"resources" : ["Minerais communs", "Minerais rares", "Gemmes"]
|
||||
},
|
||||
"Gazeuse" : {
|
||||
"population" : 1,
|
||||
"elements" : ["Gaz"]
|
||||
"elements" : ["Gaz"],
|
||||
"resources" : ["Gaz toxiques", "Gaz nobles"]
|
||||
},
|
||||
"Acide" : {
|
||||
"population" : 1,
|
||||
"elements" : ["Gaz", "Acide"]
|
||||
"elements" : ["Gaz", "Acide"],
|
||||
"resources" : ["Gaz toxique", "Minerais communs", "Eau toxique"]
|
||||
},
|
||||
"Monde usine" : {
|
||||
"population" : 500,
|
||||
"elements" : ["Acide", "Roche"]
|
||||
"elements" : ["Acide", "Roche"],
|
||||
"resources" : ["Epaves", "Minerais communs", "Biens de consommation", "Eau toxique"]
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
// Imports
|
||||
const stat = require("./plStat.js");
|
||||
|
||||
// Simple functions to get random values
|
||||
const getRandomValue = (min, max) => {return Math.floor(Math.random() * (max - min + 1)) + min;}
|
||||
const Random = (array) => {return array[Math.floor(Math.random() * array.length)];}
|
||||
const RandomPlanet = (planet) => {
|
||||
@@ -7,19 +9,30 @@ const RandomPlanet = (planet) => {
|
||||
return keys[Math.floor(Math.random() * keys.length)];
|
||||
}
|
||||
|
||||
// Main function generating planets
|
||||
const GeneratePlanet = () => {
|
||||
const planetTypeGeneration = RandomPlanet(stat.planetType);
|
||||
const planetName = Random(stat.planetNamePrefix) + Random(stat.planetNameSuffix);
|
||||
const planetPopulationPeople = Random(stat.planetPopulationType);
|
||||
const planetPopulationNumber = stat.planetType[planetTypeGeneration]["population"] * getRandomValue(5, 15) / 10;
|
||||
|
||||
// Elements and resources generation
|
||||
// Elements
|
||||
const planetElements = stat.planetType[planetTypeGeneration].distributedElements;
|
||||
let elementsDescription = '';
|
||||
for (let element in planetElements) {
|
||||
elementsDescription += `
|
||||
${element}: ${planetElements[element].toFixed(2)}%`;
|
||||
}
|
||||
// Resources
|
||||
const planetResources = stat.planetType[planetTypeGeneration].distributedResources;
|
||||
let resourcesDescription = '';
|
||||
for (let resource in planetResources) {
|
||||
resourcesDescription += `
|
||||
${resource}: ${planetResources[resource].toFixed(2)}%`;
|
||||
}
|
||||
|
||||
// Description = planet formatting
|
||||
const planetDescription =
|
||||
// Keep this formatting, or else play with the console.log of func PlanetLoop
|
||||
(`
|
||||
@@ -30,6 +43,9 @@ Type : ${planetTypeGeneration}
|
||||
Eléments :
|
||||
${elementsDescription}
|
||||
|
||||
Ressources naturelles :
|
||||
${resourcesDescription}
|
||||
|
||||
Population :
|
||||
|
||||
${planetPopulationNumber} milliards
|
||||
@@ -37,6 +53,7 @@ Population :
|
||||
return planetDescription;
|
||||
}
|
||||
|
||||
// Generating planets in loop
|
||||
const PlanetLoop = (number) => {
|
||||
let count = 1;
|
||||
while (count <= number) {
|
||||
@@ -71,11 +88,17 @@ const distributeElementsRandomly = (elements) => {
|
||||
|
||||
const distributePlanetTypesRandomly = (planetType) => {
|
||||
for (const key in planetType) {
|
||||
if (Array.isArray(planetType[key].elements)) {
|
||||
const elements = planetType[key].elements;
|
||||
if (Array.isArray(planetType[key]["elements"])) {
|
||||
const elements = planetType[key]["elements"];
|
||||
const distributedElements = distributeElementsRandomly(elements);
|
||||
planetType[key].distributedElements = distributedElements;
|
||||
}
|
||||
|
||||
if (Array.isArray(planetType[key]["resources"])) {
|
||||
const resources = planetType[key]["resources"];
|
||||
const distributedResources = distributeElementsRandomly(resources);
|
||||
planetType[key].distributedResources = distributedResources;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user