Beispiel #1
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;
        }
        private static double GetSubstancesFactor(SubstancesClass substancesClass)
        {
            switch (substancesClass)
            {
            case (SubstancesClass.Ferria):
                return(0.7);

            case (SubstancesClass.Terra):
                return(1);

            case (SubstancesClass.Jupiter):
                return(0);

            default:
                throw new ArgumentException($"{substancesClass.ToString()} class is not acceptable");
            }
        }
 public static double GetPlanetTypeFactor(
     TemperatureClass temperature, VolatilesClass volatiles, SubstancesClass substances)
 {
     return(GetTemperatureFactor(temperature) * GetVolatilesFactor(volatiles) * GetSubstancesFactor(substances));
 }