Schachbrett C++

Hi, ich habe eine Praktikumsaufgabe für C++ an der ich nicht weiterkomme:

Ein Schachbrett wird dargestellt als ein zweidimensionales Feld der Dimension 8x8 von booleschen Elementen. Auf dem Schachbrett steht ein Springer auf der Feldposition (startX, startY). 0<=startX<=7 und 0<=startY<=7. Es soll ein Weg des Springers zum Ziel mit der Position (zielX, zielY) gefunden werden. Der Weg besteht aus einer Folge von gültigen Springerzügen. Gültige Springerzüge sind:
1) x->x+2, y->y+1 2) x->x+2, y->y-1 3) x->x-2, y->y+1 4) x->x-2, y->y-1 5) x->x+1, y->y+2 6) x->x+1, y->y-2 7) x->x-1, y->y+2 8) x->x-1, y->y-1
Schreiben Sie dazu eine Funktion , die Springerzüge auf einem Schachbrett , repräsentiert durch das zweidimensionale Feld, durchführt. Die Funktion soll Zugriff auf das globale zweidimensionale Feld haben. Die Funktion hat zwei Ganzzahl Eingabeparameter, die die Position des Springers auf dem Spielfeld angeben. Die Funktion soll zuerst die Gültigkeit außerhalb des Feldes liegt, soll die Funktion mit return false beendet werden. Falls die Position (zielX, zielY) erreicht wird, soll die Funktion mit return true beendet werden. Wird ein Feldelement erreicht mit dem Wert true (Schleife) soll die Funktion mit false beendet werden. Sonst wird der Wert an der aktuellen Position im Feld auf true gesetzt und die Funktion meinSpringerzug() ruft die meinSpringerzug() Funktion mit allen möglichen Zügen auf (siehe oben).
Einen Zug durchführen heißt, im rekursiven Aufruf die neue Position anzugeben, z.B.: meinSpringerzug(posX+2, posY+1).

wäre echt suuuuuper wenn mir jemand ein beispielprogramm (oder schon das hier^^) hätte und mir noch sagen könnte warum und wie was funktioniert

danke im vorraus!!!
 
Es wäre schön, wenn du "an der ich nicht weiterkomme" genauer spezifizierst. "Hausaufgaben" macht hier keiner gerne für einen anderen und vorallem soll die Aufgabe jawohl einen Lerneffekt haben und dir das Programmieren näher bringen. Wenn einer von uns das macht bringt es dir nicht viel.
 
Hinweise die dir helfen könnten sind ja schon in der Aufgabe gegeben.

Außerdem hast du in der Aufgabenstellung eine Zeile vergessen nehme ich an:
Die Funktion soll zuerst die Gültigkeit außerhalb des Feldes liegt, soll die Funktion mit return false beendet werden.

Du musst vom Startpunkt aus nur der Reihe nach rekursiv alle gültigen Spielzüge durchgehen, bis die Funktion einmal true zurückgibt oder alle gültigen Spielzüge gemacht worden sind. Im letzten Fall gibt es keine gültige Kombination von Zügen, die es erlaubt mit dem Springer vom Startpunkt zum Zielpunkt zu kommen.
 
Zurück
Oben