private static void NewTakeTurn() { Turn turn = MaintananceTurn.GetBestMaintanance(GameLayer); if (turn != null) { turn = turn.TakeTurn(GameLayer); if (turn != null) { StackedTurns.Push(turn); } return; } turn = AdjustEnergyTurn.GetBestEnergyAdjustment(GameLayer, 2); if (turn != null) { turn = turn.TakeTurn(GameLayer); if (turn != null) { StackedTurns.Push(turn); } return; } if (StackedTurns.Count > 0) { Turn nextTurn = StackedTurns.Pop().TakeTurn(GameLayer); if (nextTurn != null) { StackedTurns.Push(nextTurn); } return; } List <Bundle> possibleMoves = new List <Bundle>(); possibleMoves.AddRange(TurnFactory.GetBestPlaceBuildingTurnBundles(GameLayer)); possibleMoves.AddRange(TurnFactory.GetBestUpgradesTurnBundles(GameLayer)); possibleMoves.AddRange(TurnFactory.GetBestPlaceUtilitiesturnBundles(GameLayer)); possibleMoves.Add(TurnFactory.GetWaitTurnBundle(GameLayer)); Bundle bestTurn = BundleSorter.GetBestBundle(possibleMoves, GameLayer); turn = bestTurn.Turn.TakeTurn(GameLayer); if (turn != null) { StackedTurns.Push(turn); } }
private static void take_turn(string gameId) // OLD { if (StackedTurns.Count > 0) { Turn nextTurn = StackedTurns.Pop().TakeTurn(GameLayer); if (nextTurn != null) { StackedTurns.Push(nextTurn); } return; } Turn turn = MaintananceTurn.GetBestMaintanance(GameLayer); if (turn != null) { turn = turn.TakeTurn(GameLayer); if (turn != null) { StackedTurns.Push(turn); } return; } turn = AdjustEnergyTurn.GetBestEnergyAdjustment(GameLayer, 1.5); if (turn != null) { turn = turn.TakeTurn(GameLayer); if (turn != null) { StackedTurns.Push(turn); } return; } turn = PlaceUtilityTurn.GetBestPlaceUtilityTurn(GameLayer); if (turn != null) { turn = turn.TakeTurn(GameLayer); if (turn != null) { StackedTurns.Push(turn); } return; } turn = PlaceBuildingTurn.GetBestPlacedBuilding(GameLayer); if (turn != null) { turn = turn.TakeTurn(GameLayer); if (turn != null) { StackedTurns.Push(turn); } return; } turn = UpgradeTurn.GetBestUpgradeTurn(GameLayer); if (turn != null) { turn = turn.TakeTurn(GameLayer); if (turn != null) { StackedTurns.Push(turn); } return; } GameLayer.Wait(); }