Kezdőoldal » Számítástechnika » Programozás » Ez a játékprogramozás 22-es...

Ez a játékprogramozás 22-es csapdája?

Figyelt kérdés

Javacriptben írva (nincs pointer) egy térképet kell letárolni. Hogyan tárold?


- 2D tömbben: nagyon egyszerű megkeresni egy mező/cella szomszédait

- A tárgyakat egy struktúratömbben koordinátákkal: könnyű megkeresni az egyforma objektumokat a térképen


És mindkét szerkezet előnyeire szükség van programozáskor. És mivel nincsenek pointerek a pointertömb sem jön szóba.

Duplán letárolni meg szerintem pazarlás.


Van erre megoldás?



2017. aug. 28. 07:12
 1/6 anonim ***** válasza:
Ha ez Java lenne, akkor egy Mapet javasolnék. Nem tudom, hogy itt van-e olyan.
2017. aug. 28. 07:36
Hasznos számodra ez a válasz?
 2/6 anonim ***** válasza:
Nincsenek pointerek, ellenben olyan laza és verzatilis típuskezelés van, hogy gyakorlatilag a fantáziád szabja meg, mit tudsz megcsinálni benne. Arról nem is beszélve, hogy noha pointerek konkrétan nincsenek, az objektumok gyakorlatilag minden szempontból referencia szerint működnek, tehát tudsz hasonló szerkezetet készíteni.
2017. aug. 28. 09:49
Hasznos számodra ez a válasz?
 3/6 sharkxxx ***** válasza:
100%

Jegyezd meg, hogy: JavaScript-ben minden objektum.


Egy 2D játékban a x és y kordinátákat kell eltárolni.

Miben fogod tárolni? Mivel JavaScript-ben minden objektum, ezért objektumban fogod tárolni.


Létrehozunk neki egy új osztályt. Legyen az osztály neve Vector. Igy fog kinézni az osztály kostruktora:


function Vector(x,y) {

this.x = x;

this.y = y;

}


Letrehozzuk a Vector objektumokat, és elmentjük egy Array objektumba:


var arr = new Array();

vec = new Vector(1,1); arr.push(vec);

vec = new Vector(2,1); arr.push(vec);


Ha tényleg annyira fontosak a szomszédok, akkor azokat is eltárolhatod a Vector objektumokban.


function Vector(x,y) {

this.x = x;

this.y = y;

this.szomszedok = new Array();

}


Ha olyan 2D játékot készítel, aminek az elemei egy képzeletbeli rácson helyezkednek el (mint például: Snake, Packman), akkor annál a játéknál használhatol 2 dimeneziós tömböt az elemek eltárolására.

2017. aug. 28. 10:43
Hasznos számodra ez a válasz?
 4/6 anonim ***** válasza:
Nem, nem ez.
2017. szept. 21. 21:51
Hasznos számodra ez a válasz?
 5/6 anonim ***** válasza:
100%

JavaScriptben vannak pointerek! Pontosabban referenciák vannak. Például:


var a = { name: "Józsi", age: 24 };

var b = a;


Akkor az a és a b változó is egy ugyanarra az objektumra mutató referenciát fog tárolni. Bizonyítás:


b.age += 10;

console.log(b.age); // 34 - ezt vártuk

console.log(a.age); // 34 - hoppáhoppáHOPPÁ!!!

2017. szept. 22. 22:07
Hasznos számodra ez a válasz?
 6/6 anonim ***** válasza:
100%

1. Szerintem fogalmad sincs, hogy miről is szól a 22-es csapdája kifejezés.


2. Mindent leírtak korábban. Minek emelted ki a kérdést?


3. Nem.

2017. szept. 23. 08:36
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!