⚡ CsQuest – kurz programování v C#

C# a .NET · 12–15 let · VIA IT 2026

O kurzu

Celoroční kurz programování v C# pro věk 12–15 let. Postavený na principu „nejdřív výsledek, pak teorie": už první hodinu vzniká program, který se studenta na něco zeptá a odpoví mu, a každá další hodina do něj přidává nový programátorský koncept.

Výsledkem je hra CsQuest — textová RPG hra s postavou, inventářem, souboji, místnostmi a ukládáním postupu, kterou jde spustit v terminálu na jakémkoliv počítači s .NET.

Proč C# a proč konzole

C# je jazyk, kterým se dnes píše většina firemních aplikací, her v Unity i webů na .NET. Je striktní — hlídá typy, vyžaduje středníky a složené závorky — a přesně tím je pro výuku dobrý: spoustu chyb najde překladač dřív, než program vůbec poběží, a dítě se učí psát přesně.

Začínáme v konzoli, protože je na ní nejlíp vidět, co program dělá: příkaz po příkazu, řádek po řádku. Žádné skryté kouzlo na pozadí. A hlavně: konzolový program jde spustit rovnou tady v prohlížeči tlačítkem Spustit, takže se dá začít i bez instalace.

Jak bude vypadat hotová hra

Jak je hodina postavená

Každá stránka má čtyři části:

  1. Pro učitele — technický i netechnický výklad, analogie, časté chyby
  2. Ukázky — hotový kód k promítání, píše se živě před dětmi
  3. Cvičení — 4–5 úloh s podrobným zadáním a třemi úrovněmi obtížnosti
  4. Řešení — hotový kód pouze pro učitele

Časové rozvržení

Ze tří hodin IT se programování věnují dvě. Doporučené tempo jedné dvouhodiny:

Část Čas
Motivace a co dnes vytvoříme 5 min
Výklad a živá ukázka 15–20 min
Společné experimenty „co když" 10 min
Samostatná cvičení 30–40 min
Přírůstek do projektu CsQuest 20 min
Umíme informatiku (rychlejší studenti) 10 min
Reflexe a zadání domácího úkolu 5 min

Práce se smíšenou skupinou

Každé cvičení má tři úrovně. Začátečník odchází s funkčním programem, pokročilý má co dělat.

Nástroje

.NET SDK 8 nebo novější a Visual Studio Code s rozšířením C# Dev Kit. Instalaci krok za krokem popisuje stránka Než začneme: C# ve Visual Studio Code.

dotnet --version
dotnet new console -o CsQuest
cd CsQuest
dotnet run

Kdo instalaci nestihne, nepřijde o nic: kód na těchto stránkách jde spustit rovnou v prohlížeči tlačítkem Spustit. Překládá ho skutečný překladač C# (Roslyn), který běží uvnitř prohlížeče — ne na serveru.

Kód ke stažení

Veškerý kód z těchto stránek je zároveň uložený jako soubory ve složce kod/hodinaNN/. Struktura:

Jednotlivé hodiny

Než začneme
Než začneme: C# ve Visual Studio Code
Instalace .NET SDK, rozšíření C# Dev Kit, první projekt přes dotnet new console a spuštění příkazem dotnet run.
Hotovo
▶ živý kód
Hodina 01
Konzole a první program
První konzolová aplikace v C#, výpis textu, proměnné, interpolace, čtení vstupu a vykreslení vizitky hrdiny.
Hotovo
▶ živý kód
Hodina 02
Proměnné a datové typy
Typy v C# — int, double, decimal, bool, char, string, klíčová slova var a const, převody mezi typy a stavový panel hrdiny.
Hotovo
▶ živý kód
Hodina 03
Vstupy od uživatele
Čtení z klávesnice přes Console.ReadLine, převod textu na čísla pomocí Parse a TryParse, ošetření nesmyslného vstupu a skládání výpisu z uživatelských dat.
Hotovo
▶ živý kód
Hodina 04
Podmínky a pravidla hry
Rozhodování v C# — if, else if, else, porovnávací operátory, logické operátory &&, || a !, příkaz switch i moderní switch expression.
Hotovo
▶ živý kód
Hodina 05
Stav hry mezi koly a herní smyčka
Smyčka `while (true)`, příkazy od hráče, proměnné mimo smyčku a první souboj na víc kol.
Hotovo
▶ živý kód
Hodina 06
Seznamy a inventář hrdiny
`List<string>`, přidávání a odebírání věcí, `.Count`, indexy a procházení `foreach` — hrdina konečně dostane batoh.
Hotovo
▶ živý kód
Hodina 07
Řetězce, popisy a hlášky
Text jako materiál — `$"..."`, `Substring`, `Split`, `string.Join`, `Trim`, `ToUpper`, `Contains`, `Replace` a hlášky, které zní jako z opravdové hry.
Hotovo
▶ živý kód
Hodina 08
Slovníky a data hry
Klíč a hodnota. Jak popsat jednu příšeru jedním objektem a jak si hra pamatuje ceník, bestiář a inventář.
Hotovo
▶ živý kód
Hodina 09
Cykly
Jak nechat počítač opakovat práci místo tebe. For, while, do-while a vnořené cykly.
Hotovo
▶ živý kód
Hodina 10
Funkce (metody)
Jak dát kusu kódu jméno, zavolat ho odkudkoliv a přestat psát pořád to samé.
Hotovo
▶ živý kód
Hodina 11
Náhoda
Jak dostat do hry kostku. Random, rozsahy, pravděpodobnost a vzácná kořist.
Hotovo
▶ živý kód
Hodina 12
Hledání nejkratší cesty v bludišti
Naivní hrubá síla proti chytrým algoritmům: brute-force, BFS a Dijkstra na mapě dungeonu.
Hotovo
▶ živý kód
Hodina 13
Řadicí algoritmy — od bublin po chytré řazení
Jak počítač řadí čísla a předměty. Bubble sort, merge sort, quicksort a hotové řazení v .NETu.
Hotovo
▶ živý kód
Hodina 14
Soubory a JSON — aby si hra pamatovala
Zápis a čtení souborů, ukládání dat ve formátu JSON a uložená hra pro CsQuest.
Hotovo
▶ živý kód
Hodina 15
Třídy a objekty
Vlastní třída v C#, pole a vlastnosti, konstruktor, metody objektu, klíčové slovo new a rozdíl mezi instancí a static.
Hotovo
▶ živý kód
Hodina 16
Dědičnost — bestiář
Dědičnost v C#, potomci tříd, base konstruktor, virtual a override, abstraktní třídy a polymorfní bestiář CsQuestu.
Hotovo
▶ živý kód
Hodina 17
Úklid kódu — moduly, jmenné prostory a vlastní knihovna
Rozdělení programu do více souborů a tříd, namespace, using, statické třídy jako moduly a převod objektu na řádek a zpátky.
Hotovo
▶ živý kód
Hodina 18
Finále — CsQuest 1.0, nasazení a prezentace
Dokončení projektu, menu a obrazovky, vyvažování obtížnosti, ladění cizího kódu, sestavení hotové aplikace a prezentace před třídou.
Hotovo
▶ živý kód