Hra lodě – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Hra lodě – .NET – Fórum – Programujte.comHra lodě – .NET – Fórum – Programujte.com

 

marpit0
Stálý člen
29. 3. 2010   #1
-
0
-

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?

Nahlásit jako SPAM
IP: 94.113.182.–
MarPit
amertak0
Návštěvník
29. 3. 2010   #2
-
0
-

Přes třídy a metodu drawing a intersect rectanglu :) Nějak podobně sem tak řešil piškvorky.

Nahlásit jako SPAM
IP: 80.251.245.–
marpit0
Stálý člen
30. 3. 2010   #3
-
0
-

To amertak : Mohl by jsi sem hodit ukazku?

Nahlásit jako SPAM
IP: 94.113.182.–
MarPit
marpit0
Stálý člen
30. 3. 2010   #4
-
0
-

Ještě mě napadlo vytvořit hrací plochu tlačítky (8x8 tlačítek pomocí cyklu), ale toto řešení se mi nezdá zrovna nejlepší.

Nahlásit jako SPAM
IP: 94.113.182.–
MarPit
liborb
~ Redaktor
+18
Guru
30. 3. 2010   #5
-
0
-

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:

Nahlásit jako SPAM
IP: 85.207.166.–
marpit0
Stálý člen
30. 3. 2010   #6
-
0
-

To liborb : Díky moc

Nahlásit jako SPAM
IP: 94.113.182.–
MarPit
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
30. 3. 2010   #7
-
0
-

[seznam][/seznam] :smile5: ©

Nahlásit jako SPAM
IP: 85.207.101.–
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žit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 13 hostů

Podobná vlákna

Hra lode — založil lodar

Hra lode (zacatecnik) — založil nuginy

Kontrolní cyklus lodě — založil rodka

Lode - kontrola vsech lodi — založil Vavat9

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý