Přejít na hlavní obsah

Jak nakreslit pole pro nulové křížky na C# - podrobný návod se schématy

  • Šárka Blažek
  • Praxe

Piškotová hra je jednou z nejpopulárnějších a nejjednodušších logických her, které lze implementovat v téměř jakémkoli programovacím jazyce. Náš návod vám pomůže vytvořit pole pro tuto hru v jazyce C# a také přidat možnost hrát ve dvou na jednom počítači.

K vytvoření pole použijte třídy a metody poskytované jazykem C#. Pro vykreslení grafické části hry můžete využít knihovny grafického rozhraní, jako jsou Windows Forms nebo WPF. V tomto návodu použijeme knihovnu Windows Forms.

Postupujte podle podrobných kroků uvedených níže a vytvořte si vlastní pole pro piškoty na C#!

Jak vytvoříte pole pro nulové křížky na C#?

Pro začátek je nutné vytvořit grafické rozhraní, podle kterého bude uživatel provádět své činnosti. V C# to lze provést pomocí Windows Forms. Vytvoříme nový projekt a do formuláře přidáme ovládací prvek panelu.

Panel bude použit jako hrací pole, na kterém budou umístěny křížky a Noly. Pro panel nastavíme rozměry 300x300 a barvu pozadí, například bílou.

Nyní je třeba implementovat logiku hry. To bude vyžadovat vytvoření tříd představujících hráče a hrací pole. Třída hráče bude mít název a třída hrací plochy bude obsahovat informace o aktuálním stavu hrací plochy a metody pro ověření podmínek vítězství.

Přidejme do projektu class Player:

class Player>

A Třída GameField:

class GameFieldpublic bool MakeMove(int row, int col)return false;>public bool CheckWin()>

V metodě MakeMove třídy GameField je nastavena hodnota aktuálního hráče do vybrané buňky pole. Zároveň také dochází k ověření, že buňka je prázdná. Pokud byl přesun úspěšný, změní se současný hráč.

Metoda CheckWin testuje všechny možné kombinace pro vítězství. Pokud najde jednu z kombinací, vrátí true. Jinak-false.

Nyní už zbývá jen propojit grafické rozhraní s logikou hry.

Přidáme obslužnou rutinu události MouseClick panelu, která při kliknutí na buňku pole vyvolá metody třídy GameField. Zpracovatel určí index buňky, na kterou uživatel klikl, a vyvolá metodu MakeMove.

private void panel1_MouseClick(object sender, MouseEventArgs e)>>

Všimněte si, že po každé změně herního pole je vyvolána metoda Invalidate, která způsobuje metodu překreslení panelu. To je nezbytné pro aktualizaci grafického rozhraní po každém tahu.

Kromě toho přidáme metodu ResetGame, která bude použita k zahájení nové hry, a vytvoříme instance tříd Player a GameField:

private void ResetGame();panel1.Invalidate();>

Tímto způsobem jsme vytvořili pole pro hru "piškoty" v jazyce C#. Kompletní implementace této hry může zahrnovat další funkce, jako je zobrazení aktuálního hráče a zvýraznění vítězné kombinace.

Příprava na vytvoření pole pro nulové křížky

Než začnete vytvářet pole pro nulové křížky v jazyce C#, musíte provést několik předběžných kroků. Tyto kroky vám pomohou správně uspořádat kód a zajistit použitelnost vytvořeného pole.

1. Vytvoření projektu

Prvním krokem je vytvoření nového projektu v jazyce C#. Můžete použít jakékoli vývojové prostředí, jako je Visual Studio nebo JetBrains Rider, nebo vytvořit Projekt na příkazovém řádku pomocí nástrojů.Net Core.

2. Vývoj třídy pro reprezentaci pole

Druhým krokem je vývoj třídy, která bude představovat hrací pole pro nulové křížky. Tato třída by měla obsahovat metody a vlastnosti, které umožňují spravovat stav pole, testovat jej na vítězné kombinace a vykreslovat na obrazovce.

3. Vytvoření uživatelského rozhraní

Třetím krokem je vytvoření uživatelského rozhraní, prostřednictvím kterého bude uživatel komunikovat s herním polem. Musíte se rozhodnout, zda se jedná o konzolovou aplikaci nebo grafickou aplikaci pomocí oken a tlačítek.

4. Implementace algoritmu pro pohyby hráčů

Čtvrtým krokem je implementace algoritmu, který bude řídit pohyby hráčů. Musíte se rozhodnout, zda budete vyvíjet umělou inteligenci, která může hrát proti uživateli, nebo vyvinete hru pro více hráčů, kde pohyby dělají skuteční hráči.

Nyní, když máte pochopení toho, jak se připravit na vytvoření pole pro křížky nul v jazyce C#, můžete pokračovat se zbytkem kroků, které budou zahrnovat vytvoření a inicializaci pole, zpracování pohybů hráčů a kontrolu vítěze. Hodně štěstí ve vývoji!

Vytváření a kreslení pole pro nolikové křížky

Při vytváření piškotové hry v programovacím jazyce C# je nutné nakreslit pole, na kterém budou umístěny piškoty a Noly. K tomu lze použít grafické prvky a metody knihovny. NET Framework.

Nejprve je třeba vytvořit nový projekt ve Visual Studio a do formuláře přidat prvek PictureBox s názvem "gameField". Tento prvek bude použit k zobrazení herního pole.

K vykreslení herního pole lze použít metodu Paint () formuláře. Vytvoříme novou obslužnou rutinu události Paint a propojíme ji s prvkem PictureBox takto:

private void gameField_Paint(object sender, PaintEventArgs e)// Отрисовка вертикальных линийfor (int i = 1; i < 3; i++)>

Tento kód používá objekt Graphics k vykreslení obrázků a grafických prvků. Nejprve se určí velikost hrací plochy a velikost jednotlivých buněk. Pomocí metody DrawLine () jsou pak nakresleny vodorovné a svislé čáry, které oddělují buňky pole.

Chcete-li vyvolat metodu malování() a nakreslit pole, přidejte následující kód do hlavní metody programu:

private void Form1_Load(object sender, EventArgs e)

Metoda Invalidate () vyvolá událost malování a zahájí vykreslení prvku PictureBox s hracím polem. Nyní, při spuštění programu, se na obrazovce zobrazí pole pro křížky.

Vytvoření a vykreslení pole pro C# x-Noly na C # se tedy provádí pomocí prvku PictureBox a metody malování(). To vám umožní vytvořit interaktivní hrací pole, na které můžete umístit křížky a Noly.

Přidání funkce do pole pro nulové křížky

Pro přidání funkce do pole pro křížky nul můžeme použít programovací jazyk C# a jeho funkce.

Jednou z možností je zpracovat kliknutí na buňky pole. Když kliknete na volnou buňku, musíte ji označit křížkem nebo nulou, v závislosti na aktuálním hráči. K tomu můžete použít obslužnou rutinu události kliknutí na každou buňku.

Další možností je zkontrolovat vítěze po každém tahu. Chcete - li to provést, musíte zkontrolovat všechny možné kombinace vítězných pozic-vodorovné, svislé a diagonální řádky.

Můžete také přidat funkci pro vytvoření nové hry, která resetuje všechny pohyby a vrátí hru do počátečního stavu. V tomto případě je třeba vyčistit všechny buňky a znovu nainstalovat počáteční hráče.

Výsledkem je, že přidáním všech těchto funkcí do pole pro nulové křížky získáme plnohodnotnou hru, ve které mohou hráči bojovat proti sobě a určit vítěze.