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

Das laufende O - Teil 4 (Verschönerung)

Beschreibung

Um das Spiel zu verschönern hilft Farbe. In Konsolenanwendungen setzt man hierzu die Vorder- bzw. Hintergrundfarbe. Alles was danach ausgegeben wird ist in dieser Farbe. Ausgaben die bereits getätigt wurden ändern ihre Farbe dadurch nicht.

Neue Befehle

Um die Konsole bunt zu gestalten müssen wir die Farbeigenschaften der Konsole benutzen:
ConsoleColor.Farbe; Eine Farben auf der Konsole sind nicht frei wählbar. Die gültigen Farben bekommt man über ConsoleColor.
Console.ForegroundColor = ConsoleColor.Blue; Setzt die "Vordergrundfarbe", d.h. die Farbe der Schrift, auf blau.
Console.BackgroundColor = ConsoleColor.Blue; Setzt die Hintergrundfarbe auf blau.
Console.Clear(); Löscht die Konsole. Hierbei wird das ganze Fenster mit "Leerzeichen" in der aktuellen Hintergrundfarbe überschrieben.

Der Quellcode

using System; class Program { static void Main4(string[] args) { int x = 5; int y = 5; char c; int gx,gy; Random zufall = new Random(); gx = zufall.Next(11)+5; gy = zufall.Next(11)+5; int punkte = 0; Console.BackgroundColor = ConsoleColor.Gray; Console.Clear(); Console.CursorVisible = false; Console.ForegroundColor = ConsoleColor.Blue; Console.BackgroundColor = ConsoleColor.Blue; 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; } Console.BackgroundColor = ConsoleColor.Gray; do { Console.ForegroundColor = ConsoleColor.White; Console.SetCursorPosition(18,8); Console.Write("Punkte: "+punkte); Console.ForegroundColor = ConsoleColor.Green; Console.SetCursorPosition(gx,gy); Console.Write("*"); Console.ForegroundColor = ConsoleColor.White; 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; } } if(x==gx && y==gy) { gx = zufall.Next(11)+5; gy = zufall.Next(11)+5; punkte = punkte+1; } } while(c!='q'); }