package dominospiel;
import java.util.ArrayList;
import java.util.Iterator;
public abstract class Spieler {
protected ArrayList<Dominostein> steineSpieler = new ArrayList<Dominostein>();
protected ArrayList<Dominostein> anlegbareSteine = new ArrayList<Dominostein>();
//gibt dem Spieler einen Stein
public void zieheStein(Dominostein dominostein){
steineSpieler.add(dominostein);
}
//zeigt dem Spieler die Steine
public ArrayList<Dominostein> deckeSteineAuf(){
return steineSpieler;
}
//abstracte Mehtode muss in Mensch und Computer implementiert werden
abstract int waehleAnlegeSeite(Dominostein stein);
public void legeRechtsAn(){ //TODO: prüfen ob die wegkann
}
//diese Methode entscheidet, welcher Stein wie angelegt werden kann
public Dominostein waehleStein(Dominostein spielfeld){
Iterator<Dominostein> einStein = steineSpieler.iterator();
Dominostein aktuellerStein;
while (einStein.hasNext()) {
aktuellerStein = einStein.next();
if ((aktuellerStein.getLinkesAuge() == spielfeld.getRechtesAuge()) || (aktuellerStein.getRechtesAuge() == spielfeld.getLinkesAuge()) ) {
aktuellerStein.setIstRechtsAnlegbar(true);
aktuellerStein.setIstLinksAnlegbar(true);
}
else if (aktuellerStein.getLinkesAuge() == spielfeld.getRechtesAuge()) {
aktuellerStein.setIstRechtsAnlegbar(true);
} else if (aktuellerStein.getRechtesAuge() == spielfeld.getLinkesAuge()) {
aktuellerStein.setIstRechtsAnlegbar(false);
} else {
aktuellerStein.setIstRechtsAnlegbar(false);
aktuellerStein.setIstLinksAnlegbar(false);
}
}
return null;
}
}