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í.

Logická hra formule v C#

Hra formule se hrává ve více hráčích na čtverečkovaném papíře. Program simuluje tuto hru včetně umělé inteligence Zdrojové kódy v C# .NET ke stažení.

Pravidla hry

Máme čtverečkovaný papír, na který nakreslíme rozumně širokou trať se startem, cílem a několika zatáčkami. Na start umístíme několik autíček. Jízda sama vypadá tak, že si vybereme průsečík čar, kam se chceme dostat, přičemž platí pravidlo, že výchozím bodem je ten, na který bychom se dostali, kdybychom opakovali předchozí tah beze změny. My si ovšem můžeme vybrat některý z vedlejších průsečíků, čímž se nám upraví i pozice dalšího výchozího bodu, tudíž můžeme vybrat kupříkladu následující zatáčku. Každý tah je tedy složen ze dvou kroků, opakování předchozího tahu a rozhodnutí zda zůstat na takovém průsečíku, či se přemístit o jeden průsečík v libovolném směru. Vítězem se stává hráč, který první projede přes cílovou čáru. Pokud hráč vyjede z dráhy, hra pro nej končí. První tah nemá svého předchůdce, není tedy možné provést první fázi tahu(kopii tahu předchozího) a tak se rovnou přejde do druhé fáze tahu, tedy posun na nejbližší průsečík. Na jednom průsečíku se může nacházet jen jedno autíčko v jeden okamžik. Pokud jsou jinými hráči obsazena všechna políčka na které se smí hráč přemístit, musí zůstat v tomto kole stát. Dráhy autíček se mohou křížit a je možné "přeskakovat" tedy přejet přes políčko, které je již obsazeno.

Program je rozdělen na několik logických celků.

- Grafické rozhraní pro uživatele. Hrací plán bude buď vybrán z již uložených nebo si uživatel nakreslí vlastní v editoru.
- Editor k nakreslení hracího plánu s možnoszí uložení a kontrolou, zda je možné ze startu dojet do cíle. Uživatel nejprve zvolí velikost hracího plánu, pak vybere komponentu (cíl, start, dráha) a klikáním na průsečíky nakreslí hrací plán.
- Kontrola, zda se uživatel nesnaží zahrát nepovolený tah.
- Algoritmus, který se bude snažit najít nejkratší cestu k cíli, podle které se bude pohybovat hráč počítač. Rekurzivně se bude volat metoda, která bude podle vstupních parametrů (souřadnice aktuálního průsečíku, směr a rychlost) volat sama sebe pro každý průsečík na který je možné se dostat tak dlouho, dokud se nedostane k cíli. Při každém průchodu se zvýší hodnota čítače a pokud nově nalezené řešení bude mít nižší hodnotu, původní řešení bude přepsáno,jinak se nově nalezené řešení zahodí. Nakonec v čítači bude nejnižší počet tahů pro překonání cíle. Čítačů bude děvět, pro každý první průsečík (prvního následujícího tahu) a bude vybrán ten průsečík, ke kterému náleží čítač s nejmenší hodnotou.


Galerie

Program byl vytvořen v roce 2012.

 

Stáhnout

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

Staženo 384x (84.54 kB)
Aplikace je včetně zdrojových kódů v jazyce C#

 

Všechny články v sekci
Zdrojákoviště C# .NET - Okenní aplikace Windows Forms
Program pro vás napsal Michael Baitler
Avatar
Uživatelské hodnocení:
1 hlasů
Aktivity