DamenSpiel Schlagzwang

Nico1999

Aktives Mitglied
Hi ich versuche gerade ein Damenspiel zu schreiben und weis nicht wirklich wie ich den Schlagzwang für die Dame machen soll

Java:
public HashMap<Integer, Feld> HashMapMitFeldernDieSchlagZwangHaben(){ //schaue für jede Figur ob Schlagzwang besteht
        HashMap<Integer, Feld> felderDieSchlagZwangHaben = new HashMap<Integer,Feld>();
        int stelleAnDerFeldGespeichertWird=0;
        for(int i=0;i<this.größe;i++) {
            for(int j=0;j<this.größe;j++) {
                if(this.damenbrett.get(i)[j].isFigurWhite()) {
                    if(istFigurAnStelleXYEinBauer(i, j)) {
                        try {
                            Input a = geheZweiNachObenLinks(i, j);
                            if(machtFigurRichtigenSchlagMoveVomTypBauerWhite(a)&&istFigurBauerUndSindBedingungenFürMoveGegeben(a)) {
                                schreibeAnDerKtenStelleInderHashMapdasFeldNiederDasSchlagZwangHat(felderDieSchlagZwangHaben, stelleAnDerFeldGespeichertWird, i, j);
                                stelleAnDerFeldGespeichertWird++;
                            }
                        }catch(ArrayIndexOutOfBoundsException e) {
                         
                        }try {
                            Input a=new Input(i,j,i-2,j+2);
                            if(istFigurBauerUndSindBedingungenFürMoveGegeben(a)&&machtFigurRichtigenSchlagMoveVomTypBauerWhite(a)) {
                                schreibeAnDerKtenStelleInDerHashMapdasFeldNiederDasSchlagZwangHat(felderDieSchlagZwangHaben,stelleAnDerFeldGespeichertWird, i, j);
                                stelleAnDerFeldGespeichertWird++;
                            }
                        }catch(ArrayIndexOutOfBoundsException e) {
                         
                        }
                    }else if(istFigurAnStelleXYEineDame(i, j)) {//
                     
                    }
         
                }
            }
        }return felderDieSchlagZwangHaben;
     
    }
Java:
public class Brett{
    private HashMap<Integer,Feld[]> damenbrett;
    private int größe;
    public HashMap<Integer,Feld>felderDieSchlagZwangHaben()
    public void schlage(Input a)
    public void move(Input a)
    public void Damenumwandlung()
    public void createBeginning()
 
}public class Input{
    private int nowX;
    private int nowY;
    private int goalX;
    private int goalY;
 
    public Input(int nowX, int nowY, int goalX, int goalY)
    public void getInput()//setze klassenvariablen auf Input von User
}public class Feld{
    private Farbe farbe;
    private Koordinaten koordinaten;
    private Figur figur;
}
könntet ihr mir mal sagen wie ihr jetzt den Schlagzwang bei der Dame feststellt. würdet ihr irgentwas ganz anders machen ?
Mein momentaner Plan ist für jede Möglichkeit die die Dame sich bewegen kann einen Input zuerstellen und dann die Bedingungen von Schlage zu überprüfen
 
Zuletzt bearbeitet:
Y

yfons123

Gast
ich würde eine Liste oder sonst was mit möglichen moves zurück geben egal bei welcher Figur

bei zwang gibst du als mögliche moves einfach nur den Zwangs move zurück als Möglichkeit
falls du einen Zwang move hast sind die moves der anderen Figuren einfach leere liste dh du hast nur 1 Auswahl zu fahren
 

Oben