Bom dia.
Tenho uma dúvida com um projecto escolar utilizando o bluej.
Situação:
-Classe seres: responsáveis por representar no canvas circulos, quadrados, etc. movimentos, e outras funções relativas ao seres.
-Classe jogo: cria o canvas e coloca seres no arranque entre outros.
Problema:
Classe seres:
[code]public seres(String nome, int x, int y, int energia, int l, int a, int f)
{
// initialise instance variables
this.setX(x);
this.setY(y);
this.setNome(nome);
this.setEnergia(energia);
this.setLargura(l);
this.setAltura(a);
this.setForma(f);
}
public void moveUp(){//move o ser 10 posições para cima
this.y-=10;
}
public void moveDown(){//move o ser 10 posições para baixo
this.y+=10;
}[/code]
…
classe jogo:
[code]public void moveUp(seres ser){//move o ser 10 posições para cima
limpaCanvas();
ser.moveUp();
desenhaElementos();
}
public void moveDown(seres ser){//move o ser 10 posições para cima
limpaCanvas();
ser.moveDown();
desenhaElementos();
}
public void limpaCanvas(){
myCanvas.erase();
}
private boolean processCommand(Cmd comando){
boolean wantToQuit = false;
if(comando.isUnknown()) {
System.out.println(“Comando inválido…”);
return false;
}
String commandWord = comando.getCommandWord();
if (commandWord.equals(“help”))
printHelp();
else if (commandWord.equals(“moveup”))
moveUp(ser);
else if (commandWord.equals(“movedown”))
moveDown(ser);
else if (commandWord.equals(“moveleft”))
teste(ser);
else if (commandWord.equals(“moveright”))
System.out.println();
else if (commandWord.equals(“insere_ser”))
//???
else if (commandWord.equals(“lista_seres”))
showElementos();
else if (commandWord.equals(“limpa_canvas”))
limpaCanvas();
else if (commandWord.equals(“exit”)) {
wantToQuit = quit(comando);
}
return wantToQuit;
}[/code]
…
Quando pretende chamar o moveUp obtenho sempre um erro de NullPointerException null
Alguém sabe qual é o erro que estou a cometer?
Pretendo também adicionar seres “insere_ser” e não sei como o fazer. Alguma sugestão?
Grato pela voça atenção.