Ahoj, vyvtvářím hru lodě a potřeboval bych poradit. Mám vytvořené jádro programu (dvojrozměrné pole, které je náhodně vyplněno loděmi). Souřadnice políčka, na které střílím se zadávají souřadnicemi. Chtěl bych hru ještě doplnit o nějaké grafické rozhraní (nejlépe pomoci WinForms), ale nevím, jak vykreslit hrací plochu a jak kliknutím myši na plochu vzít souřadnice políčka. Mohl by mi někdo poradit?
Fórum › .NET
Hra lodě
Tlačítka není dobrá cesta, začni "primitivní" grafikou (v Paint), pomocí které si vykreslíš dle tvojí datové reprezentace hru:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
Graphics platno = Graphics.FromHwnd(Handle);
// hraci pole
using (Pen cernePero = new Pen(Color.Black))
{
Point [] cary = new Point[2];
platno.DrawRectangle(cernePero, 10, 10, 320, 320);
for (int i = 0; i < 8; i++)
{
cary[0].X = 10 + i * 40;
cary[0].Y = 10;
cary[1].X = cary[0].X;
cary[1].Y = 330;
platno.DrawLines(cernePero, cary);
cary[0].Y = 10 + i * 40;
cary[0].X = 10;
cary[1].Y = cary[0].Y;
cary[1].X = 330;
platno.DrawLines(cernePero, cary);
}
}
// lod
using (Brush modryStetec = new SolidBrush(Color.Blue))
{
// klidne tupe jako 4 ctverecky :)
platno.FillRectangle(modryStetec, 10, 10, 40, 40);
platno.FillRectangle(modryStetec, 50, 10, 40, 40);
platno.FillRectangle(modryStetec, 90, 10, 40, 40);
platno.FillRectangle(modryStetec, 50, 50, 40, 40);
}
}
}
a pak pokračuj .... Double Buffering .... :smile1:
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 16 hostů
Podobná vlákna
Hra lode (zacatecnik) — založil nuginy
Kontrolní cyklus lodě — založil rodka
Lode - kontrola vsech lodi — založil Vavat9
Lode - vkladani lodi do hraciho pole — založil Vavat9
Moderátoři diskuze