Fórum:  C#

V tomto dílu si ukážeme různé typy kolekcí a polí.



Zadání úkolu - Pohyb písmenka v konzoli

Za splnění úkolu můžete získat až 10 bodů.

Tento úkol již bude značně složitější a použijete při něm většinu věcí, které jste se již naučili. Naprogramujte "chodící písmeno v poli" - asi takhle:

obrazek

Samotná hrací plocha bude uložena v dvourozměrném poli. Každé políčko bude nabývat dvou hodnot - hráč je/není. Pohyb bude probíhat pomocí kláves WSAD. Změna velikosti pole by neměla být pro zbytek aplikace žádný problém! Jak na pohyb v konzoli? V každém díle jsme se setkávali s metodou Console.ReadKey(), která mimo "podržení" programu také danou klávesu předá. Můžete tedy zjistit, jaká klávesa byla stisknuta například takto (v tomto příkladu je také ukázka "herní smyčky"):

ConsoleKeyInfo k = Console.ReadKey();
while (k.Key != ConsoleKey.Escape) {
 if(k.Key == ConsoleKey.W) {
  Console.WriteLine("Je to W!");
 }

 k = Console.ReadKey();
}

Dále se bude hodit metoda k vymazání okna konzole - Console.Clear(); Oddělte samotnou logiku a "vykreslování" do dvou metod.

HINT: kromě pole si vytvořte dvě proměnné, x a y - ty budou uchovávat aktuální pozici hráče. V každém kroku "herní smyčky" zjistěte, jakou klávesu uživatel stiskl a podle toho změňte hodnotu x a y. Nezapomeňte na kontrolu, jestli není x nebo y mimo hrací pole! Před tímto vším nastavte aktuální pozici x;y v poli na 0 a po tom všem nastavte novou pozici x;y v poli na 1, nebo jakékoliv jiné hodnoty, záleží na vás, jestli použijete int nebo třeba char. Pro vykreslování budete muset použít dva vnořené cykly - jeden bude vykreslovat řádky a druhý uvnitř něj sloupce. Metoda pro vykreslování by neměla být na zbytku téměř nijak závislá.

Povolené přípony

cs