If-Bedingung mit && Operator in C

Gast #295983
Lesenswert?

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?
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren