Beispiel #1
0
 public void Add(BlackHole item)
 {
     Debug.Assert(item != null, "item is null.");
     BlackHoleList.Add(item);
     EntityList.Add(item);
     GravityPointList.Add(item);
 }
Beispiel #2
0
        /// <summary>
        /// Create a new game, using the provided configuration parameters
        /// </summary>
        /// <param name="mapType">The map type</param>
        /// <param name="mapSize">Size of the map</param>
        /// <param name="numberOfPlayers">Number of players</param>
        /// <param name="killLimit">Number of kills needed for a player to win the game</param>
        /// <param name="numberPlanets">Number of randomly generated planets</param>
        /// <param name="numberBlackHoles">Number of randomly generated black holes</param>
        public void CreateNewGame(MapType mapType, MapSize mapSize, int numberOfPlayers, int killLimit, int numberPlanets, int numberBlackHoles)
        {
            Weapon.GlobalReloadTimeMultiplier = 1;

            GameOver = false;

            KillLimit = killLimit;

            this.numberPlanets    = numberPlanets;
            this.numberBlackHoles = numberBlackHoles;

            int[]   size = Utility.MapSizeToInts(mapSize);
            Terrain terrain;

            if (mapType == MapType.Simple)
            {
                terrain = new SimpleTerrain(size[0], size[1]);
            }
            else
            {
                terrain = new RandomTerrain(size[0], size[1]);
            }
            NewGame(terrain, rand.Next(2000));

            /* Choose a background image */
            RandomizeBackground();

            /* Add planets */
            for (int i = 0; i < numberPlanets; i++)
            {
                Planet planet = new Planet(0.03f, 0.03f, 0.3f, 1.0f);
                PlaceEntity(planet);
                Add(planet);
            }

            /* Add black holes */
            for (int i = 0; i < numberBlackHoles; i++)
            {
                BlackHole blackHole = new BlackHole(1000, 4000);
                PlaceEntity(blackHole);
                Add(blackHole);
            }

            /* init players */
            InitPlayers(numberOfPlayers);
        }