package dominospiel; import java.util.ArrayList; import java.util.Iterator; public abstract class Spieler { protected ArrayList steineSpieler = new ArrayList(); protected ArrayList anlegbareSteine = new ArrayList(); //gibt dem Spieler einen Stein public void zieheStein(Dominostein dominostein){ steineSpieler.add(dominostein); } //zeigt dem Spieler die Steine public ArrayList 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 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; } }