Example #1
0
        /// <summary>
        /// Генерирует газовые планеты системы
        /// </summary>
        /// <param name="systemName">
        /// Имя звездной системы, в которой находятся генерируемые планеты
        /// </param>
        /// <param name="planetCount">
        /// Счетчик планет системы
        /// </param>
        private static List <Planet> GetGasGiantPlanets(string systemName, ref int planetCount)
        {
            int           gasGiantCount = HelperRandomFunctions.GetRandomInt(minGasGiantCount, maxGasGiantCount + 1);
            List <Planet> planets       = new List <Planet>();

            for (int index = 0; index < gasGiantCount; index++)
            {
                planets.Add(PlanetFactory.GetPlanet(GetPlanetName(systemName, planetCount),
                                                    new PlanetType(TemperatureClass.Cold, VolatilesClass.Airless, SubstancesClass.Jupiter)));
                planetCount++;
            }

            return(planets);
        }
Example #2
0
        /// <summary>
        /// Генерирует безжизненные планеты системы
        /// </summary>
        /// <param name="nameTemplate">
        /// Имя звездной системы, в которой находятся генерируемые планеты
        /// </param>
        /// <param name="planetCount">
        /// Счетчик планет системы
        /// </param>
        /// <param name="stars">
        /// Коллекция <see cref="Star"/> системы
        /// </param>
        private static List <Planet> GetBarrenPlanets(string systemName, ref int planetCount, List <Star> stars)
        {
            int barrenCount = HelperRandomFunctions.GetRandomInt(minBarrenCount, maxBarrenCount + 1);

            LuminosityClass systemStarClass = stars[0].LumClass;
            List <Planet>   planets         = new List <Planet>();

            TemperatureClass planetTemperature;

            if (systemStarClass == LuminosityClass.M ||
                systemStarClass == LuminosityClass.K)
            {
                planetTemperature = TemperatureClass.Warm;
            }
            else
            {
                planetTemperature = TemperatureClass.Hot;
            }

            if (HelperRandomFunctions.PercentProbableBool(20) && barrenCount >= 1)
            {
                planets.Add(PlanetFactory.GetPlanet(GetPlanetName(systemName, planetCount),
                                                    new PlanetType(planetTemperature, VolatilesClass.Airless, SubstancesClass.Ferria)));

                planetCount++;
                barrenCount--;

                if (HelperRandomFunctions.PercentProbableBool(20) && barrenCount >= 1)
                {
                    planets.Add(PlanetFactory.GetPlanet(GetPlanetName(systemName, planetCount),
                                                        new PlanetType(planetTemperature, VolatilesClass.Airless, SubstancesClass.Ferria)));

                    planetCount++;
                    barrenCount--;
                }
            }

            for (int index = 0; index < barrenCount; index++)
            {
                planets.Add(PlanetFactory.GetPlanet(GetPlanetName(systemName, planetCount),
                                                    new PlanetType(planetTemperature, VolatilesClass.Airless, SubstancesClass.Terra)));
                planetCount++;
            }

            return(planets);
        }