示例#1
0
        private static void UndoAlienLevelOneMove(Match game, PlayerType playerType, int playerNumber, AlienLevelOneMove move)
        {
            var alienManager = game.GetPlayer(playerNumber).AlienManager;

            alienManager.UndoSpawnIfPossible();
            alienManager.RestoreDeadAliensAndWaves();

            alienManager.UndoIssueMovementOrders(move);

            if (game.GetRoundNumber() == Settings.Default.AlienWaveSizeBumpRound)
            {
                var player = game.GetPlayer(playerNumber);
                player.AlienWaveSize -= Settings.Default.AlienWaveSizeBump;
            }
            if (playerType == PlayerType.OpponentAliens)
            {
                game.DecrementRounderNumber();
            }
        }
示例#2
0
        private static void DoAlienLevelOneMove(Match game, PlayerType playerType, int playerNumber, int depth)
        {
            if (playerType == PlayerType.OpponentAliens)
            {
                game.IncrementRoundNumber();
            }

            if (game.GetRoundNumber() == Settings.Default.AlienWaveSizeBumpRound)
            {
                var player = game.GetPlayer(playerNumber);
                player.AlienWaveSize += Settings.Default.AlienWaveSizeBump;
            }

            var alienManager = game.GetPlayer(playerNumber).AlienManager;

            alienManager.ClearDeadAliensAndWaves();
            alienManager.SpawnIfPossible();//till here

            alienManager.IssueMovementOrders();
        }