Kezdőoldal » Számítástechnika » Programozás » Milyen logika alapján lehetne...

Milyen logika alapján lehetne 2D térképet generálni?

Figyelt kérdés
Esetleg valakinek valami ötlete, megoldása?
2012. aug. 2. 21:27
 1/5 anonim ***** válasza:
milyen fajta térképet szeretnél? és milyen adatokból generálnád? vagy egy teljesen random generált térkép kellene?
2012. aug. 2. 22:59
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:

Ötletem van hogy fognék hozzá. Végül is mi van egy térképen? Első megközelítésbe (és egyszerűség kedvéért csak) utak/úthálózatok. Olyan utak melyek egyesülhetnek szétválhatnak melyek görbék általában. Ilyen görbéket kell előállítani és tárolni valahogy a memóriába, több féle képen lehet melyeknek "szép" matematikai elmélete van.(Beiser görbék,lánckód, gráfok ...) Hogy Mikor hogy görbüljön az út azt súlyozott véletlen döntések sorozatával döntené el a program. Itt még nem beszéltünk semmit a kirajzolásról, az majd a legutolsó fáziba kell.

Hasonlóan Bele lehet venni folyókat, tavakat, a szabályrendszert bővíteni kell, tavon keresztül kevesebb úthálózat halad át stb stb.

Amúgy mire kell?

2012. aug. 2. 23:23
Hasznos számodra ez a válasz?
 3/5 A kérdező kommentje:

Nem voltam elég konkrét.

C# Console alkalmazásban szeretnék írni egy primitív térkép generátort, igazából csak a határokat szeretném megjeleníteni, vagy játékos nyelven a falakat.

Próbálkozok vele, de nekem ez nem megy, a kódom nem szeretném megmutatni, szerintem említésre sem méltó.

Mégis kíváncsi lennék ezt, hogyan oldották meg mások, mert már láttam ilyeneket egyszerű programozó kezéből, de kódot még nem, bár egy magyarázatnak, rövid utasításnak jobban örülnék.


Csak úgy elfelejthetném, mert nem lenne belőle hasznom, de mégis fájdalommal tölt el, hogy nincs erre logikám.

2012. aug. 2. 23:29
 4/5 anonim ***** válasza:

Akkor ezek szerint csak a falakat kell eltárolnod, és máris kész a térképed.


C# objektum orientált, tehát szabadon írhatsz osztályokat, mely jelentősen megkönnyíti a feladatot. pl. célszerű egy Fal nevű osztályt létrehoznod:

class Fal {

kezdőpont

végpont

}

ez egész jól definiálja a falat


Ezek után létre kell hoznod csomó random falat a megfelelő rand() függvényt használva, ezeket a falakat eltárolhatod tömbben is, vagy list adatszerkezetben.


Ha ábrázolni kellene a térképedet, akkor elég végigmenni az összes falon (for ciklus, iterátor, stb), és kirajzolni egyenként őket


Ha ütközésvizsgálatot akarnál lefuttatni, akkor is alkalmazható az, hogy egyenként mindegyiket megvizsgálod. Ekkor ugye a fal koordinátáit kell összehasonlítani az objektum koordinátáival


Ha a generátoron van a hangsúly, tehát egy "egész jó" generátor lenne a cél, akkor létrehozhatsz objektumokat, melyek magasabb szintűek mint a fal, pl négyzet, és a random generátor csak ezeket fogja véletlen pozícióba elhelyezni, majd ha kész, akkor lebontod a négyzetet vonalakra (Falakra), és azt jeleníted meg.

2012. aug. 3. 02:46
Hasznos számodra ez a válasz?
 5/5 Srapnel ***** válasza:
De még mindig attól függ. Mert lehet labirintust is csinálni falakból, meg szobákat tartalmazó lakásalaprajzot is.
2012. aug. 3. 11:51
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!