Ryu1991
Erfahrenes Mitglied
Hi,
ich schreibe gerade ein kleines 4 Gewinnt - Spiel. Das läuft eigentlich ganz gut, aber da ist eine Kopfnuss, die ich seit 2h nicht knacke.
Ich bin gerade an der Erkennungsmethode für die Diagonalen von links unten nach rechts oben. Dafür habe ich mir folgenden Code überlegt:
Der erkennt auch eigentlich alles. Außer einer Diagonale, nämlich der zwischen den Punkten 0/1 und 6/7
also alles außer der Hier:
| _ | _ | _ | _ | _ | _ | x |
| _ | _ | _ | _ | _ | x | _ |
| _ | _ | _ | _ | x | _ | _ |
| _ | _ | _ | x | _ | _ | _ |
| _ | _ | x | _ | _ | _ | _ |
| _ | x | _ | _ | _ | _ | _ |
deshalb bin ich das ganze nochmal auf dem Papier durchgegangen.
Jetzt verstehe ich nicht mehr wie er die Diagonalen unterhalb der markierten erkennen kann, was er aber tut.
ich hoffe ihr könnt mir helfe.
Gruß Ryu
ich schreibe gerade ein kleines 4 Gewinnt - Spiel. Das läuft eigentlich ganz gut, aber da ist eine Kopfnuss, die ich seit 2h nicht knacke.
Ich bin gerade an der Erkennungsmethode für die Diagonalen von links unten nach rechts oben. Dafür habe ich mir folgenden Code überlegt:
C++:
inReihe = 1;
//schräg von links unten nach rechts oben
for(Reihe = 0; Reihe < 6;Reihe++){
for(Spalte = 0;Spalte < 7;Spalte++){
if(Feld[Spalte][Reihe+Spalte].Player == PlayersTurn &&
Feld[Spalte+1][Reihe+Spalte+1].Player == PlayersTurn){
inReihe++;
}else{
inReihe = 1;
}
if(inReihe == 4){
Gewinner = PlayersTurn;
return;
}
}
}
Der erkennt auch eigentlich alles. Außer einer Diagonale, nämlich der zwischen den Punkten 0/1 und 6/7
also alles außer der Hier:
| _ | _ | _ | _ | _ | _ | x |
| _ | _ | _ | _ | _ | x | _ |
| _ | _ | _ | _ | x | _ | _ |
| _ | _ | _ | x | _ | _ | _ |
| _ | _ | x | _ | _ | _ | _ |
| _ | x | _ | _ | _ | _ | _ |
deshalb bin ich das ganze nochmal auf dem Papier durchgegangen.
Jetzt verstehe ich nicht mehr wie er die Diagonalen unterhalb der markierten erkennen kann, was er aber tut.
ich hoffe ihr könnt mir helfe.
Gruß Ryu
Zuletzt bearbeitet von einem Moderator: