Auf Thema antworten

Hallo,

da es schon so viele Threads zu Mastermind gibt, schreib ich die kleine Frage mal in diesen.


Also ich bin dabei das Getippte mit der Lösung zu vergleichen um die direkten und indirekten Treffer zu ermitteln.

Ich weiß nicht wie ich das machen soll, damit wirklich nur alles einzelt gezählt wird.


Ich hab folgendes, durch [code]if (pos==i){}[/code] gehn jetzt echt viele Fälle :D aber halt nich alle.

Thx für die Hilfestellungen von euch :applaus:


[code=Java]    public Bewertung bewerte(Muster versuch) {

        int sw=0, ws=0;

        int pos=0;

        for(int i=0; i<4; i++){

            for(int j=0; j<4; j++){

                if (farben[i]==versuch.farben[j]){

                    if(i==j){

                        sw++;

                    }

                    else {

                        if (pos==i){}

                        else{

                            ws++;

                            pos=i;

                        }

                    }                                           

                }

            }

        }

        System.out.println("ws: "+ws);

        System.out.println("sw: "+sw);

        ws-=sw;

        if (ws<0)

            ws=0;

        Bewertung a = new Bewertung(sw,ws);

        return a;

}

public static void main (String[] args){

        Muster a1 = new Muster (0,0,1,1);

        Muster a2 = new Muster (0,1,0,1);

        System.out.println("a1: "+a1);

        System.out.println("a2: "+a2);

        System.out.println(a1.bewerte(a2));       

       

    }[/code]



Oben