Hallo für´s Programmierpraktikum (1. Semester, FH) arbeiten wir gerade an einem Programm, welches mittels Cursortasten den Weg durch ein einfaches Labyrinth finden soll. Es wird also (über ein 2d-array) geprüft, ob die Cursor-Bewegung zulässig ist. Das Labyrinth wird über eine header-Datei included (außerdem wurde ne vorgegebene Object-Datei eingebunden). Dabei sind wir auf folgendes Problem gestoßen: die Bedingung if ((key_code == CURSOR_DOWN) && (maze[r+1][c]=='°')) ist offensichtlich niemals true. '°' ist das vorgegebene Zeichen, welches einen gültigen Gang durchs Labyrinth symbolisiert. key_code == CURSOR_DOWN ist eine vorgegebene Bedingung, welche true ist, wenn die cursor-down-Taste gedrückt wird. Wenn man && (maze[r+1][c]=='°') aus der Zeile rausnimmt, bewirkt das Drücken der cursor-down-Taste das Ausführen des folgenden Codes. Offensichtlich stimmt etwas nicht mit der zweiten Bedingung && (maze[r+1][c]=='°'). Dabei ist maze[][] nur das Array, in dem das Labyrinth abgelegt ist. maze[r+1][c] soll also eine Reihe unter der aktuellen Position im Labyrinth darstellen, das =='°' dient der Prüfung, ob das Zeichen an der Position vorhanden ist. Kann uns jemand aufzeigen, was an der letztgenannten Bedingung nicht so klappt wie gewünscht?
Die Bedingung ist richtig. Aber ihr benutzt die Variablen r und c, um im Feld nachzuschaun und x_coord und y_coord für die Position. Es sollte dann wohl eher maze[y_coord+1][x_coord] sein.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.