Videostop v C# .NET konzoli
Nejprve jsem chtěl tuto hru vytvořit klasicky a jednotlivé střídající se kostky mít "nakreslené" pomocí ASCII znaků přímo v kódu. Všiml jsem si, že pro vykreslování potřebují asi 5 krátkých stringů, které se stále opakují. Toho jsem využil, očísloval jsem si je (uložil jsem je do pole stringů) a používané tvary 6 kostek jsou díky tomu v kódu zadané pouze několika čísly na pouhých 6ti řádcích, což se mi jeví jako velmi praktické a úsporné.
Vykreslování kostek je řešeno umístěním kurzoru na potřebné souřadnice v konzoli. Po vykreslení prvního řádku však kurzor přeskočí na úplný začátek další řádky, je tedy nutné kurzor umístit po každé vypsané řádce. Je tak dosaženo efektu, kdy se nejprve vykreslí celá jedna kostka, potom vedle ní celá druhá a naposled třetí. Také body je tímto způsobem možno vypisovat vlastně kdykoliv během hlavního cyklu programu, tedy tak, jak je zrovna potřeba. Řešili jsme ve škole otázku, zda to vůbec lze. - Tak ano, lze to, i v konzoli lze použít něco na způsob vykreslování "objektů" kus po kuse:-)
Aplikace využívá objektový model, ale vlastně žádné objekty netvoří. Z objektovosti vlastně využívá jen třídní metody, ale i to se mi zdá šikovnější, než mít vše definované přímo v hlavní třídě programu.
Nedokonalost generátoru náhodných čísel zde jakoby nevadí. Naopak, tím, že se někdy čísla hned po sobě shodují, je hra zajímavější a o náhody tu není nouze. Z původního jednoduchého bodování jsem přešel na poněkud pestřejší udílení bodů – zkuste si zahrát, a uvidíte sami. Není úplně snadné nepřijít o pracně získané body a nutí to člověka hrát spíše na jistotu. To dává hře prvek správného napětí.
Přiznám se, že grafickou stránkou jsem se krom kostek moc nezabýval. To
už nechávám na každém – kód je k dipozici o kousek níže
Galerie

Stáhnout
Stažením následujícího souboru souhlasíš s licenčními podmínkami
Staženo 118x (44.21 kB)
Aplikace je včetně zdrojových kódů v jazyce C#