Ejemplo n.º 1
0
        private static double GetVolatilesFactor(VolatilesClass volatilesClass)
        {
            switch (volatilesClass)
            {
            case (VolatilesClass.Airless):
                return(0);

            case (VolatilesClass.Desertic):
                return(0.01);

            case (VolatilesClass.Lacustrine):
                return(0.05);

            case (VolatilesClass.Marine):
                return(1.2);

            case (VolatilesClass.Oceanic):
                return(0.3);

            case (VolatilesClass.Superoceanic):
                return(0.1);

            default:
                throw new ArgumentException($"{volatilesClass.ToString()} class is not acceptable");
            }
        }
Ejemplo n.º 2
0
        public PlanetType(TemperatureClass temperature, VolatilesClass volatiles, SubstancesClass substances)
        {
            this.TemperatureClass = temperature;
            this.VolatilesClass   = volatiles;
            this.SubstancesClass  = substances;

            double tempQuality = PlanetCharacteristicsHelper.GetPlanetTypeFactor(temperature, volatiles, substances);

            this.Quality           = tempQuality * GoodWorldQuality;
            this.Name              = $"{temperature}, {volatiles}, {substances}";
            this.ResourceAbundance = 100;

            double months = 12;

            this.MiningDifficulty = (Quality / GoodWorldQuality) / months;
        }
Ejemplo n.º 3
0
 public static double GetPlanetTypeFactor(
     TemperatureClass temperature, VolatilesClass volatiles, SubstancesClass substances)
 {
     return(GetTemperatureFactor(temperature) * GetVolatilesFactor(volatiles) * GetSubstancesFactor(substances));
 }