Auf Thema antworten

Sooo ich hab das ganze Mal von grundauf überarbeitet. Die Bedingungen sind kaum wieder zu erkennen und aus dem Stack wurde ein eindimensionales Point Array^^ Sieht das jetzt so besser aus? Funzt das besser als der stack?


[code=Java]    private static void berechne(int xCor, int yCor) {

        zaehler++;

        x = xCor;

        y = yCor;

//        System.out.println(x +  " " + y);

//       

//        System.out.println(stack.toString());

       

        //Früheres checkNext() und choseNext() zusammengeführt

        //stack.contains prüft, ob der Punkt schonmal besucht wurde.

        //Sollte dies der Fall sein, werden x und y zurückgesetzt.

        if (((x+2) > 0 && (x+2) <= 5) && ((y+1) > 0 && (y+1) <= 5)){

           

            x = x + 2;

            y = y + 1;


            int i = 0;

           

            while ((gefunden == false) && (i < stack.length)){

               

                if (stack[i] == (new Point(x,y)) ){

                   

                    x = x - 2;

                    y = y - 1;

                    gefunden = true;

                   

                }

                i++;

            }

           

            if ((gefunden == false) && (stack.length < 25)){

                    stack[stack.length + 1] = new Point (x,y);

                   

                    nextX = stack[stack.length].x;

                    nextY = stack[stack.length].y;

                    berechne(nextX, nextY);

                }

               

            } [/code]


Edit: Ich arbeite momentan noch mit einem 5x5-Brett, daher stack.length <25



Oben