Ez a metódus nagyon bonyolult vagy csak nekem nehéz így elsőre?
a 4.sorban miért kell -wallWidth?
1.static void addVerticalWall(String[][] level) {
2. int wallWidth = random.nextInt(width - 3);
3. int wallRow = random.nextInt(height - 2) + 1;
4. int wallColumn = random.nextInt(width - 2 - wallWidth);
5. for (int i = 0; i < wallWidth; i++) {
6. level[wallRow][wallColumn + i] = "X";
}
}
a chatGPT itt már nem tud segíteni.. eddig tök jól megvoltam vele
illetve miért kell a level inicializálásánál a wallColumn -hoz + i -t rakni?
egyébként ebbe a videóba található kb 12:30-nál
https://www.youtube.com/watch?v=ng3r9o5tk7M&list=PL1WwhU4dv6..
Videót nem nyitottam meg, de próbálok válaszolni:
"a 4.sorban miért kell -wallWidth?"
Hogy ne lógjon ki jobbra a fal (ha közelebb van a kezdő pozíció, mint a szélessége a falnak, akkor kilógna, ez ellen véd)
"illetve miért kell a level inicializálásánál a wallColumn -hoz + i -t rakni?"
Azért, mert az i végig megy 0-tól wallWidth-ig, így egyesével be X-elve a fal egyes tégláit. Tehát ez egy olyan ciklus, ahol a 2D-s tömbben az oszlop indexet növeljük egyesével a kezdő pozíciótól a fal vastagságáig (pontosabban a fal vastagság + kezdő pozícióig, ami a vég pozíció, és az előbbi inicializálás miatt nem lóg kis a tömbből)
2
A levelben karaktereket tárol, a cellákra meg természetes, hogy inttel hivatkozik, hiszen indexel. A többi cucc meg a mérete és pozíciója a falnak, ahol egy elem az egy egység.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!