Hey,
Ik ben bezig met een project genaamd Sokoban.
Dit is een spelletje waarmee je met een poppetje door een level loopt en dozen op een eindveld moet schuiven.
Oke, ik wil een 2 dimensional array vullen met verschillende Veld objecten.
Maar nu krijg ik de onderstaande foutmelding:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 9
Als ik het goed heb begrepen houdt dit in dat ik een index in de array willen vullen die niet bestaat.
Dus dan zou of mijn array demension of mijn for loop niet goed moeten zijn.
Maar zie echt niet waar ik de fout ben in gegaan.
Als iemand de moeite zou willen nemen om even een kijkje te nemen in mij code zou ik dat erg op prijs stellen.
ps: in de string map zouden nog wat spaties moeten staan maar die haalt hij eruit dus vandaar dat het zo rommelig eruit ziet
Code:
Staat nog een lap code onder voor de andere tekens zoals (@,$, enz) maar die kan ik zelf wel fixen zodra de 1e lukt.
Donny
Ik ben bezig met een project genaamd Sokoban.
Dit is een spelletje waarmee je met een poppetje door een level loopt en dozen op een eindveld moet schuiven.
Oke, ik wil een 2 dimensional array vullen met verschillende Veld objecten.
Maar nu krijg ik de onderstaande foutmelding:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 9
Als ik het goed heb begrepen houdt dit in dat ik een index in de array willen vullen die niet bestaat.
Dus dan zou of mijn array demension of mijn for loop niet goed moeten zijn.
Maar zie echt niet waar ik de fout ben in gegaan.
Als iemand de moeite zou willen nemen om even een kijkje te nemen in mij code zou ik dat erg op prijs stellen.
ps: in de string map zouden nog wat spaties moeten staan maar die haalt hij eruit dus vandaar dat het zo rommelig eruit ziet
Code:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| private Veld veld [][]; public void maakLevel(){ String map= "#############\n"+ "# #\n"+ "# $ ## #\n"+ "# $ ## #\n"+ "# $ #\n"+ "# @ ## #\n"+ "# ## #\n"+ "#... #\n"+ "#############\n"; String regels[] = map.split("\n"); veld = new Veld[regels.length][regels[0].length()]; int row = 0; for (String regel : regels){ for (int c = 0; c < regel.length(); c++){ char item = regel.charAt(c); if(item == '#'){ veld[row][c] = new Muurveld(row,c); } row ++; } } } |
Staat nog een lap code onder voor de andere tekens zoals (@,$, enz) maar die kan ik zelf wel fixen zodra de 1e lukt.
Donny