Class BuyWeaponHighPirateSuccessAllSlotsFilledStrategy

  • All Implemented Interfaces:
    ch.sahits.game.openpatrician.model.player.IAIBuyWeaponStrategy

    public class BuyWeaponHighPirateSuccessAllSlotsFilledStrategy
    extends BaseBuyWeaponStrategy
    Strategy to buy weapons when the sucessfull pirate activity is high to fill all the ships slot with weapons.
    Author:
    Andi Hotz, (c) Sahits GmbH, 2017 Created on Oct 18, 2017
    • Constructor Detail

      • BuyWeaponHighPirateSuccessAllSlotsFilledStrategy

        public BuyWeaponHighPirateSuccessAllSlotsFilledStrategy()
    • Method Detail

      • shouldBuyWeapons

        public java.util.Optional<ch.sahits.game.openpatrician.model.player.BuyWeapons> shouldBuyWeapons​(ch.sahits.game.openpatrician.model.ship.IShip ship,
                                                                                                         ch.sahits.game.openpatrician.model.IAIPlayer player,
                                                                                                         ch.sahits.game.openpatrician.model.city.ICity city)
        Weapons should be bought when:
        • There was a successful pirate attack every 2 weeks
        • There are free weapon slots
        • at least 10'000 cash is available
        Then the amounts are calculated:
        • one hand weapon per sailor
        • Full the amount of large weapons then there are slots
        • Full the amount of remaining open slots for small weapons
        • 1.5 times the amount of free weapon slots as strength