Ida88
08-04-2010, 21:35
Buonasera!sto realizzando un videogioco! precisamente sto facendo il gioco snake,quello che è presente sui cellulari nokia,(o almeno cerco di fare qualcosa di simile!). Ma ho un problema. Sostanzialmante il mio gioco è composto da uno snake che si muove liberamente in uno spazio b-dimensionale, e può mangiare o il cibo o il bonus. Tra le classi del mio gioco c'è il pannello:
public Pannello_Principale(World mondo) {
super();
}
Il mio problema è proprio qui nella paintComponent. Ho questo frammento di codice:
for (int i = 0; i < mondo.getDimensioneX(); i++) {
for (int j = 0; j < mondo.getDimensioneY(); j++) {
if (mondo.getElementoOccupato(new Coordinate(i,j))) { //funzione che data la posizione (i,j), restituisce true, se c'è un oggetto
Oggetto o = mondo.GetOggetto(new Coordinate(i,j));//funzione che restituisce l'oggetto in posizione (i,j)
if (o.getTipo().equals(Tipo.BONUS)){ // se il tipo dell'oggetto è bonus allora disegna un cerchio verde
g.setColor(Color.GREEN);
g.fillOval(i*20, j*20, 15, 15);
}
if (o.getTipo().equals(Tipo.CIBO)){// se il tipo è cibo allora disegna il cerchi magenta
g.setColor(Color.MAGENTA);
g.fillOval(i*20, j*20, 10, 10);
}
}
}
}
Il mio problema, è che se il bonus non è presente,java solleva l'eccezione java.lang.NullPointerException, perchè non trova nessun oggetto
di quel tipo. Potreste suggerirmi qualcosa per risolvere il problema?
Spero di essere stata chiara!
Grazie anticipatamente
public Pannello_Principale(World mondo) {
super();
}
Il mio problema è proprio qui nella paintComponent. Ho questo frammento di codice:
for (int i = 0; i < mondo.getDimensioneX(); i++) {
for (int j = 0; j < mondo.getDimensioneY(); j++) {
if (mondo.getElementoOccupato(new Coordinate(i,j))) { //funzione che data la posizione (i,j), restituisce true, se c'è un oggetto
Oggetto o = mondo.GetOggetto(new Coordinate(i,j));//funzione che restituisce l'oggetto in posizione (i,j)
if (o.getTipo().equals(Tipo.BONUS)){ // se il tipo dell'oggetto è bonus allora disegna un cerchio verde
g.setColor(Color.GREEN);
g.fillOval(i*20, j*20, 15, 15);
}
if (o.getTipo().equals(Tipo.CIBO)){// se il tipo è cibo allora disegna il cerchi magenta
g.setColor(Color.MAGENTA);
g.fillOval(i*20, j*20, 10, 10);
}
}
}
}
Il mio problema, è che se il bonus non è presente,java solleva l'eccezione java.lang.NullPointerException, perchè non trova nessun oggetto
di quel tipo. Potreste suggerirmi qualcosa per risolvere il problema?
Spero di essere stata chiara!
Grazie anticipatamente