Ir para o conteúdo
Eu VS Java

Duvida em jogo simples

Mensagens Recomendadas

Eu VS Java

Boas pessoal, estou a fazer um jogo para uma cadeira e preciso de ajuda.

Quero colocar os bonecos a movimentarem-se livremente pelo mapa. As posições livres do mapa pela qual eles se podem movimentar estão guardadas numa arraylist.

Queria utilizar um método que me permitisse verificar se uma posição esta livre e um método para mover as criaturas que utilizasse este método para verificar se a posição para a qual ele se quer movimentar esta livre e que as mova.

eis o que eu fiz, mas nao está a resultar:

private void moveCreeps() {
for (MovingImage invasor : invaders) {
switch (new Random().nextInt(2)){
case 0: //baixo
if(estalivre(invasor.getPosition().x , invasor.getPosition().y + 50)){
 invasor.move(invasor.getPosition().x , invasor.getPosition().y + 50);
}
break;
case 1://direita
if(estalivre(invasor.getPosition().x + 50, invasor.getPosition().y)){
 invasor.move(invasor.getPosition().x + 50, invasor.getPosition().y);
}
break;
case 2: //esquerda
if(estalivre(invasor.getPosition().x - 50, invasor.getPosition().y)){
 invasor.move(invasor.getPosition().x - 50, invasor.getPosition().y);
}
break;
}

}
}
private boolean estalivre(int xi, int yi) {
for (Point posicao : posicoes) {
if(posicao.getX()==xi&&posicao.getY()==yi){
for (MovingImage invasor : invaders) {
 if(invasor.getPosition().x == xi && invasor.getPosition().y == yi){
 return false;
 }return true;
}
}
}return false;
}

se me puderem ajudar agradeço

Editado por pmg
GeSHi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

se bem que eu nunca faria como estás a fazer ...

o que pretendes será algo como isto :

private boolean estalivre(int xi, int yi) {
 for (Point posicao : posicoes) {
   if(posicao.getX()==xi&&posicao.getY()==yi) {
     for (MovingImage invasor : invaders) {
        if(invasor.getPosition().x == xi && invasor.getPosition().y == yi) {
          // alguem encontrado no local
          return false;
        };
     }
   }
 }

 // como passou pela verificação, então não se encontra ninguém na posição
 return true;
}


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

teria uma representação lógica do tabuleiro/mundo do jogo onde estaria referenciado nas suas posições os objectos ai existentes.

dessa maneira, a verificação dos objectos numa posição específica é directa e não necessitaria ter um ciclo dentro de outro ...


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.