Ejemplo n.º 1
0
		public override AIVariantPackage GetVariants(Context context, int playerID, AIOptions options)
		{
			AIVariant variant = new AIVariant();

			AddPlaceHornTurn(variant, context, playerID);
			AddEndPlayerTurn(variant, context, playerID);

			return new AIVariantPackage(variant);
		}
Ejemplo n.º 2
0
		protected void AddPlaceHornTurn(AIVariant variant, Context context, int playerID)
		{
			if (context.turn.TurnActionCounter == 0)
			{
				AuctionCM.Bet bet = context.auction.GetCurrentBetForPlayer(playerID);
				if (bet.bet == 1)
				{
					int islandID = GetIslandForHorn(context, playerID);
					PlayerRule placeHornTurn = new PlaceHorn(islandID);
					variant.AddTurn(placeHornTurn);
				}
			}
		}
Ejemplo n.º 3
0
		protected void AddBuyPriestVariant(AIVariantPackage variants, Context context, PlayerInfoCM player, AIOptions options)
		{
			if (context.turn.TurnActionCounter >= Constants.priestPrices.Count)
				return;

			int cost = Constants.priestPrices[context.turn.TurnActionCounter];
			if (cost > player.Gold)
				return;

			AIVariant variant = new AIVariant(new Cyclades.BuyPriest());

			VariantOffer offer = new VariantOffer(cost, options.coefficients.PriestVPT * options.turnsToEnd);
			variant.offer = offer;

			variants.AddVariant(variant);
		}
Ejemplo n.º 4
0
		public void AddVariant(AIVariant v)
		{
			variants.Add(v);
		}
Ejemplo n.º 5
0
		public AIVariantPackage(AIVariant v)
		{
			AddVariant(v);
		}
Ejemplo n.º 6
0
		protected void AddEndPlayerTurn(AIVariant variant, Context context, int playerID)
		{
			variant.AddTurn(new EndPlayerTurn());
		}