Britbot

This resets the simulation to the current game status, it should be used for every assignment.

Definition at line 188 of file SimulatedGame.cs.

        {
            //reset general stuff
            this.CurrentTurn = Bot.Game.GetTurn();
            this.Score = 0;
            this.EnemyDeadPirates = this.OriginalEnemyDeadPirates;
            this.MyDeadPirates = this.OriginalMyDeadPirates;
            this.EnemyIslandCount = this.OriginalEnemyIslandCount;
            this.MyIslandCount = this.OriginalMyIslandCount;

            //reset islands
            foreach(KeyValuePair<int, SimulatedIsland> sIsland in this.Islands)
            {
                sIsland.Value.Owner = sIsland.Value.OriginalOwner;
                sIsland.Value.TurnsBeingCaptured = sIsland.Value.OriginalTrunsBeingCaptured;
                sIsland.Value.CapturingGroup = sIsland.Value.OriginalCapturingGroup;
            }

            //reset my groups
            foreach(KeyValuePair<int,SimulatedGroup> sGroup in this.MyGroups)
            {
                sGroup.Value.IsBusy = false;
                sGroup.Value.IsAlive = sGroup.Value.OriginalIsAlive;
                sGroup.Value.IsCapturing = sGroup.Value.OriginalIsCapturing;
                sGroup.Value.ReviveTurn = sGroup.Value.OriginalReviveTurn;
            }

            //reset enemy groups
            foreach (KeyValuePair<int, SimulatedGroup> sGroup in this.EnemyGroups)
            {
                sGroup.Value.IsBusy = false;
                sGroup.Value.IsAlive = sGroup.Value.OriginalIsAlive;
                sGroup.Value.IsCapturing = sGroup.Value.OriginalIsCapturing;
                sGroup.Value.ReviveTurn = sGroup.Value.OriginalReviveTurn;
            }

            //reset events
            this.CommingEvents.Clear();
            foreach(SimulatedEvent sEvent in this.ConstantEvents)
            {
                this.CommingEvents.Enqueue(sEvent, sEvent.Turn);
            }
        }