示例#1
0
        public Map(MapConfig mapConfig, List <Coord> obstacles, List <Coord> enemies, Coord startCoord, Coord finishCoord)
        {
            var tankGenerator = new TankGenerator(mapConfig);

            Width    = mapConfig.Width;
            Height   = mapConfig.Height;
            FireArea = mapConfig.FireArea;
            ViewArea = mapConfig.ViewArea;

            Obstacles   = obstacles;
            StartCoord  = startCoord;
            FinishCoord = finishCoord;
            Tank        = tankGenerator.RandomizeTank(startCoord);
            Enemies     = enemies.Select(tankGenerator.RandomizeTank).ToList();
        }
示例#2
0
        /// <summary>
        /// Begins the game.
        /// </summary>
        /// <param name="lobbyData">The lobby data.</param>
        public void BeginGame(Lobby lobbyData)
        {
            World           = new World();
            World.Map       = lobbyData.Map;
            World.Health    = lobbyData.Health;
            World.Wind      = lobbyData.Wind;
            World.TurnTimer = lobbyData.TurnTimer;
            World.Gravity   = lobbyData.Gravity;
            IsGameRunning   = true;

            // Generate a tank for each player.
            TankGenerator tankGenerator = new TankGenerator();

            Players.ForEach(player => player.Tank           = tankGenerator.GenerateTank(player.TankSettings));
            Players.ForEach(player => player.IsInActiveGame = true);
        }