IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Tetris v konzoli v C#.NET

Hru jsem napsal během pár dní jen tak pro radost. Může posloužit začátečníkům k inspiraci a k seznámení se s některými mírně pokročilejšími algoritmy a možnostmi, které lze v pouhé konzoli vytvořit. Pro lépe vzhledovou aplikaci by bylo vhodnější určitě použít např. Windows Forms. Tato konzolová aplikace však ukáže vnitřní logiku hry Tetris a jeden ze způsobů, jak jí naprogramovat. Dále může obeznámit s prací se zvuky, ukládáním a načítáním ze souborů, nadpisy vytvořenými z ASCII Art, animacemi, ovládání hry klávesnicí atd.

Vím, že existují miliony lepších způsobů, jak tuto hru naprogramovat, nebo k ní přidat další věci, jako jsou třeba barevná Tetromina (geometrické tvary ve hře), lepší možnosti pohybu a rotace, zapsání vlastního jména hráče a mnoho dalšího. Nadšenci to mohou využít, jako výzvu k vylepšení hry danými vymoženostmi :-)

Potřebné nastavení

Soubor obsahuje dvě verze hry. Jedna je i se zvuky a ukládáním výsledků do souboru a pro její fungování je potřeba upravit cestu k daným souborům v parametru files_path, který se nachází na začátku hlavní třídy Program:

class Program
{
        static int borderWidth = 22; // sirka obdelniku ve kterem se bude hrat / osa X (20 + 2 bocni steny)
        static int borderHeight = 21; // vyska obdelniku ve kterem se bude hrat / osa Y (20 + 1 spodni hranice)
        static int titleCoordinateX = borderWidth + 3; // souradnice X pro nadpis
        static int titleCoordinateY = 1; // souradnice Y pro nadpis
        static private char charForTet = '0'; //vykreslovaci bod
        static int X = borderWidth / 2; // Tetromino coordinate X
        static int Y = 0; // Tetromino coordinate Z
        static string files_path = "C:/Users/Jussepin/Dropbox/CSharp/MojeProjekty/TetrisByJussepinVar6/TetrisByJussepin/bin/Debug/";

Co se týče files_path, bude zřejmě stačit změnit cestu nacházející se mezi soubory Users a TetrisByJusse­pinVar6

Doplňující informace

Znak Tetromina

V proměnné charForTet lze jednoduše rychle změnit, kterým znakem má být Tetromino vykresleno

static private char charForTet = '0'; //vykreslovaci bod

Ovládání

Pohyb do stran se provádí šipkami. Šipka dolů položí Tetromino okamžitě k zemi. Mezerníkem se provádí rotace.

Hlavní menu

V hlavním menu je možnost zvolení obtížnosti od 1 do 4. Tato volba vlastně pouze mění rychlost pohybu Tetromin.

Na závěr

Doufám, že aplikace komukoliv jakkoliv užitečně poslouží. :-)


Galerie

Hra byla vytvořena v roce 2017.

 

Stáhnout

Stažením následujícího souboru souhlasíš s licenčními podmínkami

Staženo 169x (13.35 MB)
Aplikace je včetně zdrojových kódů v jazyce C#

 

Všechny články v sekci
Zdrojákoviště C# .NET - Objektově orientované programování
Článek pro vás napsal Joe Walker
Avatar
Uživatelské hodnocení:
Ještě nikdo nehodnotil, buď první!
Autor se věnuje programování v C#.NET
Aktivity