package edu.whs.spin2018.baoapp.model.spiel.spieler;

import edu.whs.spin2018.baoapp.model.spiel.Position;

public abstract class ComputerSpieler extends Spieler {

    /**
     * Index des Spielers. Der ComputerSpieler ist immer Spieler zwei.
     */
    private static final SpielerIndex SPIELER_INDEX = SpielerIndex.SPIELER_ZWEI;

    public ComputerSpieler(String name) {
        super(name, ComputerSpieler.SPIELER_INDEX);
    }

    @Override
    public void setzeZug(boolean zug) {
        setzeIstAmZug(zug);

        if (istAmZug()) {
            gibBaoSpiel().macheSpielzug(generiereStartmulde());
        }
    }

    /**
     * Wählt auf Basis der aktuellen Spielsituation eine Startmulde aus.
     *
     * @return die Position der ausgewählten Startmulde
     */
    public abstract Position generiereStartmulde();


}
