Kezdőoldal » Számítástechnika » Programozás » Ha csinálni kell egy téglalap...

Ha csinálni kell egy téglalap alakú pályát egy játékhoz, akkor azt tömbként érdemes csinálni vagy van valami jobb módszer?

Figyelt kérdés
2017. márc. 11. 16:51
 1/6 A kérdező kommentje:
van pl 800 mezője,20x40-es téglalap
2017. márc. 11. 16:52
 2/6 anonim ***** válasza:
Van. Csak először tisztázni kéne miylen nyelvről beszélünk...
2017. márc. 11. 18:10
Hasznos számodra ez a válasz?
 3/6 anonim ***** válasza:

Hát azért az nagyban függ attól, hogy milyen jellegű játékról van szó. Ha egy egyszerű Torpedó játék a cél, akkor bőven elég. Ellenben ha már valami komolyabbra lenne szükség, akkor azt másképp érdemes csinálni.


Kezdésnek felveheted a térképet:

class Map {

.. //Ebben tárolod a terepet (pl. hol van víz, hol van hegy, stb.)

.. List<ITerrainObject> TerrainObjects;

.. //Ebben pedig minden más, a játékmenethez kapcsolódó objektumot (pl. épületek, emberek...)

.. List<IGameObject> GameObjects;


.. int Width;

.. int Height;

}


Utána pedig elkezdhetsz agyalni, hogyan nézzenek ki az objektumaid:

interface IObject {

.. int XPosition;

.. int YPosition;

.. int Width;

.. int Height;

}


interface ITerrainObject : IObject{


}


interface IGameObject : IObject {


}


És ezekre az interfészekre építve szépen menni fog a játékod.

2017. márc. 11. 18:16
Hasznos számodra ez a válasz?
 4/6 Hominida ***** válasza:

Nem csak a programnyelvtől függ. Át kell gondolni, hogy a pálya mezőihez milyen módon, milyen gyakorisággal fogsz hozzáférni, olvasásva vagy írva az adatot. Megtörténhet, hogy egydimenziós tömbként gyorsabb lesz a kezelése, de mindenféle alakzat szerint is bejárható, a mező azonosítására pedig segédadatot generálunk. Ennek a sebességét az adat és a paraméterek adattípusa is befolyásolja. Szintén gond lehet a nagyon nagy pályát ábrázoló számhalmaz tárolásakor a felhasznált memória mérete, az integer számtömbök helyett gazdaságosabb módszerre lehet szükség, byte típusra, vagy akár mezőnként néhány bites megfeleltetésre is.


De egy átlagos esetben a két dimenziós számtömb teljesen rendben van.

2017. márc. 11. 19:01
Hasznos számodra ez a válasz?
 5/6 anonim ***** válasza:

Csak tömbben lehet.

Hogy te egy komplex struktúrát tárolsz tömbben, vagy integert, netán csak biteket, az részletkérdés.


Ha PC-s megvalósítás és nem igényel összetett struktúrát, akkor az integert ajánlom, mert az a leggyorsabb.

2017. márc. 12. 03:45
Hasznos számodra ez a válasz?
 6/6 Hominida ***** válasza:
Nem csak tömbben lehet, mert megoldható akár egyetlen stringben is. Csak ritkán érdemes. De előfordul, hogy igen.
2017. márc. 12. 15:18
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!