Ti hogy programoznátok ez a játékot?
Adott egy mini szerepjáték. Választasz egy harcost és a térképen meghatározott időközönként ellenségek jelennek meg.
Az ellenségeknek le lehet kérni a az életét, nevét, fajtáját, páncéltípusát, hogy milyen messze van és hogy merre mozog.
A harcosnak van egy látószöge és egy látótávja, így csak azon egységek adatait éri el, melyeket lát.
Pl megjelenik egy orc warrior, medium armor-al, 100HP-val, xy koordinátán d távolságban.
A kérdésem az, hogy a megjelent ellenségek lekért adatait hogy szervezzem adatszerkezetbe. Erre azért lenne szükségem, hogy az adatok alapján eltudjam dönteni melyik van legközelebb, melyik a leggyengébb stb.
Csináljak egy osztályt és akkor minden egyes ellenség adatait egy külön objektum tárolja?
Ezzel az a problémám, hogy ha megjelenik egy egység akkor egy új objektumot kell létrehoznom, de ha kimegy a látótávolságból és visszajön, akkor be kell azonosítanom és meg kell néznem létezik-e ez az objektum, hogy ne hozzam újra létre.
Vagy csináljak egy 2 dimenziós tömböt és abba rakosgassam
soronként kvázi egységenként az ellenségeket?
Ti mit csinálnátok? A cél az, hogy az éppen látott ellenségek adatai valahogy rendszerezve legyenek. Egységbe legyenek foglalva külön külön.










Én mindenképp csinálnék egy vezérlő objektumot, amiben implementálnék minden szükséges metódust, függvényt (pl nearestEnemy, weakestEnemy stb...), és az ellenségek példányait egy, az osztályhoz tartozó listában tárolnám. Talán ez a legstruktúráltabb megoldás. A kétdimenziós tömbnek sok értelmét nem látom, mivel az ellenségpéldányok tárolják az x és y komponenseket (meg a többit), így egy gyűjteményt, ami tárolja ezeket az ellenségeket, simán végigiterálsz és a matek segítségével kiszűröd a releváns példányokat, amiket úgy rendezel gyűjteménybe, ahogy akarsz.
Remélem nem értettem semmit sem félre és tudtam segíteni :D
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!