Impressum
< Laufendes O - Teil 1 Inhalt Laufendes O - Teil 3>

Das laufende O - Teil 2 (Rahmen und Bewegungsfreiheit)

Beschreibung

Im Teil 1 konnte das laufende O überall hin laufen. Wenn es links oder oben aus dem Fenster gesteuert wird stürtzt das Programm allerdings ab.
Im zweiten Teil erweitern wir das Programm so, dass es zum einen die Bewegungsfreiheit des Os einschränkt und zum anderen zeichnen wir einen Rahmen damit der Benutzer auch sieht wie weit er gehen kann.

Algorithmus (Ablauf)

Zur Einschränkung der Bewegungsfreiheit prüfen wir vor jeder Positionsänderung ob diese erlaubt ist. Soll das O maximal bis X=15 nach rechts laufen dürfen, fragen wir bei jedem Tastendruck d zuerst ab ob x<15 ist und nur wenn dies der Fall ist, erhöhen wir den X-Wert der Position um 1.
Der Rahmen wird zu Spielbeginn einmalig gezeichnet. Da das O nie darauf läuft muss er nicht neu gezeichnet werden.

Youtube Video: Das laufende O Teil 2

Der Quellcode

using System; class Program { static void Main(string[] args) { // Teil 2 int x = 5; int y = 5; char c; int rx = 4; while(rx<=16) { Console.SetCursorPosition(rx,4); Console.Write("#"); Console.SetCursorPosition(rx,16); Console.Write("#"); Console.SetCursorPosition(16,rx); Console.Write("#"); Console.SetCursorPosition(4,rx); Console.Write("#"); rx = rx+1; } do { Console.SetCursorPosition(x,y); Console.Write("O"); c = Console.ReadKey(true).KeyChar; Console.SetCursorPosition(x,y); Console.Write(" "); if(c=='w') { if(y>5) { y=y-1; } } if(c=='s') { if(y<15) { y=y+1; } } if(c=='a') { if(x>5) { x=x-1; } } if(c=='d') { if(x<15) { x=x+1; } } } while(c!='q'); } }