Diagonale von 2DArray auf gleichheit überprüfen

Taso44

Aktives Mitglied
Hallo zusammen,
ich bin gerade dabei ein vier gewinnt spiel zu programmieren.
Ich komme leider nicht mit der Überprüfung klar, ob ein Spieler gewonnen hat.

Bei der Überprüfung auf die Diagonale habe ich folgende Methode:

Java:
    public static boolean win(char[][] feld) {
        for (int i = 1; i < feld.length - 1; i++) {
            for (int e = 1; e < feld[i].length - 1; e++) {
                if (feld[i][e] == feld[i - 1][e - 1]) {
                    return true;
                }
            }
        }
        return false;
    }

Das Problem darin sehe ich so, dass die Zeichen an den "Rändern" nicht überprüft werden.
Außerdem gibt er einige werte als false aus obwohl true rauskommen sollte. (Ich denke eben genau wegen meines letzten Satzes)
Z.B.:
2D-Array:
a b c
e e b
k l m

Hier sollte true rauskommen wegen 'b', tut es aber nicht.
Danke schonmal für die Antworten.
MfG, Taso44
 

mihe7

Top Contributor
Im konkreten Fall macht es keinen Sinn nach oben auf length-1 zu beschränken. Grundsätzlich muss Dir aber klar sein, dass Du in jede Richtung mehrere "Diagonalen" prüfen musst. Z. B. könnte das l oder m auch ein e sein.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Wie richte ich eine Diagonale an Robotern in einer World ein? Java Basics - Anfänger-Themen 15
C Matrix erstellen Spaltensumme, Zeilensumme, Diagonale Java Basics - Anfänger-Themen 1
C eine diagonale von rechts nach links im 2d-array Java Basics - Anfänger-Themen 1
F Mandelbrotmenge 1. Iter. Diagonale Java Basics - Anfänger-Themen 17
C Diagonale in einem NxN Matrix Java Basics - Anfänger-Themen 6
docmas 2DArray Werte werden nur untereinander ausgegeben Java Basics - Anfänger-Themen 1
Neuling47 2dArray Java Basics - Anfänger-Themen 27
F 2DArray horizontal und vertikal ausgeben Java Basics - Anfänger-Themen 17
F 2DArray jede Spalte Addieren Java Basics - Anfänger-Themen 8
H 2DArray manuell dynamisch erweitern Java Basics - Anfänger-Themen 7
A Gleichheit überprüfen Java Basics - Anfänger-Themen 8
G Strings auf Gleichheit prüfen - Aufgabe vom Prof. Java Basics - Anfänger-Themen 5
C Klassen Reguläre Ausdrücke auf Gleichheit prüfen Java Basics - Anfänger-Themen 5
M String auf Gleichheit mit Arraystrings vergleichen Java Basics - Anfänger-Themen 4
G Elemente von Feld und Liste auf Gleichheit überprüfen Java Basics - Anfänger-Themen 13
K Gleichheit und Identität von Strings Java Basics - Anfänger-Themen 2
X Objekte auf gleichheit prüfen Java Basics - Anfänger-Themen 5
R Collections Text-Dateien auf Gleichheit überprüfen Java Basics - Anfänger-Themen 22
S Objektidentität und gleichheit an diesem Beispiel Java Basics - Anfänger-Themen 7
C Dateiinhalt zweier Dateien auf Gleichheit prüfen Java Basics - Anfänger-Themen 3
A Elemente 2er int[] auf Gleichheit und Position überprüfen Java Basics - Anfänger-Themen 7
H Dates "Tage" auf gleichheit prüfen? Java Basics - Anfänger-Themen 4
C gleichheit von objekten Java Basics - Anfänger-Themen 20
G identität vs gleichheit Java Basics - Anfänger-Themen 11
C Objekte auf gleichheit vergleichen Java Basics - Anfänger-Themen 3
M wertmäßige gleichheit Java Basics - Anfänger-Themen 15
C String soll auf gleichheit (=teilweise) überprüft Java Basics - Anfänger-Themen 5
H strings auf gleichheit / ungleichheit prüfen wer kann helfen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben