Piškvorky

Tato hra jsou klasické piškvorky, jak je znáte. Na velké ploše musíte mít 5 svých křížků/koleček vedle sebe vodorovně, svisle, nebo diagonálně. Hra je napsaná v C#.NET WinForms. V týmu jsem jenom já sám, všechny textury jsou vytvořil.

Bude umožněno připojit se s ostatními hráči přes LAN (díky TCP) a hrát multiplayer, stejně jako si zahrát proti některému z mnou předpřipravených algoritmů singleplayer. Ve výsledné hře je i možnost napsat si vlastní AI :-)

Vlastní AI

Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!

Do hry je možné přidat vlastní algoritmus, který by hrál proti hráči, stačí vytvořit DLL:

using System.Drawing; // Je nutné přidat referenci na System.Drawing

namespace DLL
{
    public class customAI
    {
    // GameField -> dvojrozměrné pole reprezentující hrací pole. Volné pole je -1, protivníkova pole jsou reprezentovaná [OpponentState], pole AI jsou reprezentováno [AIstate]
        public static Point Play(int[,] gameField, int OpponentState, int AIstate)
        {

            // ...

            return new Point(2, 4);
        }
    }
}

.DLL soubor musí být umístěn ve stejné složce jako aplikace. Poté je nutno zvolit v nastavení AI "Custom AI" a zadat nejdřív jméno souboru ("mojeDLL.dll") a poté string ve tvaru {namespace}.{class} (zde DLL.customAI).

V .DLL souboru se musí nacházet veřejná statická metoda Play, která vrací System.Drawing.Point. Pointem jsou reprezentovány souřadnice, na které se přidá nový bod (zde na souřadnice X: 2, Y: 4). V případě nevalidních souřadnic se metoda zavolá znovu a do chatu bude vypsána informace o vrácení nevalidních souřadnic.

Hodnocení porotců

Aplikace byla vytvořena do soutěže ITnetwork summer 2017

Programátorská soutěž ITnetwork summer 2017
  • David Čápka (8 bodů) - Piškvorky rozšířené o síťovou hru s chatem, přes který můžete provokovat protihráče. Líbí se mi možnost přidat vlastní AI, dost je jich dostupných. Mohlo by to mít hezčí grafický kabát a nějaké zvuky.
  • Lucie Hartingerová (8 bodů) - Je super, že se to dá hrát přes síť a je k tomu ještě i chat. Jeden hráč se taky zabaví, protože počítač jako protihráč má nastavitelnou úroveň obtížnosti. Vtipná je možnost, kdy proti sobě můžou hrát dva počítače, taky s nastavitelnou úrovní inteligence. Škoda, že je to celé v jednodušší grafice a bez zvuků.
  • Tomáš Bitter (7 bodů) - Klasika. Upřímně na hře není nic moc zvláštního, ale je provedena dobře. Umělá inteligence rozhodně není hloupá. Možnost hrát multiplayer je dobrý bonus do hry.

Úpravy po skončení soutěže

  • 2020-03-13: Byl upraven soubor ke stažení, teď už obsahuje i obrázky a ostatní grafiku.
  • 2020-03-18: Byl upraven soubor ke stažení, teď obsahuje i .csproj soubor pro snazší editaci. Mimo jiné obsahuje i počítač, který se pravidla piškvorek učí sám, místo toho, aby je dostal předpřipravené. Tato část nebyla součástí hry v čase odevzdání soutěže.

Galerie

Hra byla vytvořena v roce 2017.

 

Stáhnout

Staženo 105x (46.41 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
Článek pro vás napsal Petr Šťastný
Avatar
Jak se ti líbí článek?
Ještě nikdo nehodnotil, buď první!
Autor se věnuje především Rustu a Haskellu, a navíc zbožňuje linux, i když původně začínal na C#.
Aktivity (11)

 

 

Komentáře

Avatar
Tomáš Kampán:29.1.2018 22:43

Projekt se mi pomocí Add > Existing Item ... podařilo dostat do Visual Studia, ale nemůžu ho buildnout kvůli následujícím chybám:
'Resources' does not contain a definition for 'itnetworklogo' a to samé pro soubory 'pskvrk_plr0', 'pskvrk_plr_l', 'pskvrk_plr_m­arked0', 'pskvrk_plr_m­arked_l' a 'pskvrk_tile'
Prosba na autora: Nebylo by možné chybějící soubory obrázků (pokud jsem to dobře pochopil) přibalit do zipu?

 
Odpovědět
29.1.2018 22:43
Avatar
Petr Šťastný
Redaktor
Avatar
Odpovídá na Tomáš Kampán
Petr Šťastný:29.1.2018 22:48

Opravím to během pár dní :) Díky za upozornění

 
Odpovědět
29.1.2018 22:48
Avatar
Odpovídá na Petr Šťastný
Matej Končal:7. března 9:55

Prosim Vás, kedy opravíte zmienenú chybu?

 
Odpovědět
7. března 9:55
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Petr Šťastný
Redaktor
Avatar
Odpovídá na Matej Končal
Petr Šťastný:13. března 8:10

Díky za upozornění, úplně jsem na to zapomněl. A strašně mě těší že to i po tak dlouhé době někoho zajímá :-)

Mezitím jsem přešel z Windows a projekt se mi do .net Core konvertovat opravdu nechce, ale tak za hodinku sem přidám, buďto přímo ke stažení nebo do článku přidám odkaz, samostatný soubor s grafikou, zájemci by neměli mít problém soubory do projektu přidat a potom si to zkompilovat.

 
Odpovědět
13. března 8:10
Avatar
 
Odpovědět
13. března 8:45
Avatar
Petr Šťastný
Redaktor
Avatar
Odpovídá na Matej Končal
Petr Šťastný:17. března 21:44

Máš to tam :)

 
Odpovědět
17. března 21:44
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.