Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rjmontenegro

problema projecto escolar bluej

Recommended Posts

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:

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; }...

classe jogo:

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; }...
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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está chamando algum método de um objeto não instanciado (está null).

Tente descobrir qual!

Como o código não está completo, não dá para eu saber todas classes envolvidas, mas experimento colocar isso no código:

public void moveUp(seres ser){//move o ser 10 posições para cima	if(ser==null)System.out.println("O ser está null!");	if(outroObjetoQueEstejaDentroDeAlgumMetodo==null)System.out.println("O outroObjeto está null!");	//Assim por diante.	limpaCanvas();	ser.moveUp();	desenhaElementos();}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.