Ich komme nicht darauf, wie man Schräge "Linien" in einem zweidimensionalem Array durchlaufen und überprüfen könnte.
Die Grundaufgabe ist das Damenproblem, also, dass 8 Damen auf einem 8x8 Schachbrett so platziert werden müssen, dass sie sich nicht gegenseitig schlagen können. Jetzt wollte ich einfach immer, wenn eine Dame gefunden wird(die Damenpositionen sind gegeben) überprüfen ob sich irgendwo vertikal, horizontal und eben schräg eine andere Dame befindet. Dann soll die Methode eben dementsprechend true oder false zurückgeben.
Aber wie kann ich das jetzt durchlaufen? Achja: Ich will nicht die Diagonalen durchlaufen, sondern eine beliebige Schräge in dem Array!
Hier ist zurzeit meine Methode IsValid, in der ich eben alles horizontal und vertikal durchlaufe.
Code: Alles auswählen
public static bool IsValid(bool[,] field) {
bool isValid = true;
for (int i = 0; i < field.GetLength(0); i++) {
for (int j = 0; j < field.GetLength(1); j++) {
if (field[i, j]&&isValid) {
for (int k = 0; k < field.GetLength(0); k++) {
for (int l = 0; l < field.GetLength(1); l++) {
if (field[k, l]&&isValid) {
isValid = false;
}
}
}
}
}
}
return isValid;
}