S
Ich habe nun die "nachgebaute" Funktion kbhit ersteinmal 1:1 übernommen und eine if-Anweisung in die innere Schleife eingefügt, die bei einer neuen Richtungsanweisung jene Schleife abbricht und mit der äußeren fortfährt.
Dieser Teil des Codeschnipsels sieht nun folgendermaßen aus:
do {
printfield(&field[0][0]);
// printf("schleife1");
zug=tty_getchar();
e=zug;
do {
// printf("schleife2");
printfield(&field[0][0]);
// tty_getchar()=e;
move(&field[0][0], &posy, &posx, zug, &a, &b);
if(kbhit()) break;
sleep(1);
}while(zug == e);
zug=tty_getchar();
e=zug;
}while(zug != 'x');
Vielleicht werde ich nochmal einen Lösungsansatz suchen für etwaige unsaubere Bewegungen der "Schlange", jedoch werde ich mir vorerst mal den Code für die KBhit-Funktion genauer anschauen und versuchen zu verstehen, da dies für mich im moment sehr kryptisch ist und ich gern verstehen würde, was in meinem Programm so drin steht.
Wenn keine weiteren Anmerkungen, gut gemeinte Ratschläge mehr anliegen, möchte ich mich nochmal bei den Helfenden bedanken.
Das Thema kann von meiner Seite aus als abgeschlossen/gelöst angesehen werden.
Ich wünsche euch noch einen schönen Abend
PS: Die späte Antwort ist leider durch einen Ausfall der Internetverbindung verursacht worden.