Ir para o conteúdo
Eu VS Java

Mover objectos em jogo java

Mensagens Recomendadas

Eu VS Java

Boas estou com o seguinte problema, pretendo que os objectos (neste caso invasores) quando encontram um cruzamento em que podem escolher entre direita e esquerda, sigam sempre no sentido escolhido até nao puderem mais...

eis o que fiz:

private String ultimo;
private String ult(MovingImage invasor){
 return ultimo;
}

   private void moveCreeps() {

 for (MovingImage invasor : invaders) {

  int valor = new Random().nextInt(2);
  switch (valor){
  case 0://direita
   System.out.println("entrou direita");
   if(estalivre(invasor.getPosition().x , invasor.getPosition().y + 50)){
    invasor.move(0,50);
    ultimo="baixo";
   }else if(ult(invasor) != "esq"){
    if(estalivre(invasor.getPosition().x + 50, invasor.getPosition().y)){
     invasor.move(50,0);
     ultimo="dir";
     }
   }
   break;

  case 1://esquerda
   System.out.println("entrou esquerda");
   if(estalivre(invasor.getPosition().x , invasor.getPosition().y + 50)){
    invasor.move(0,50);
    ultimo="baixo";
   }else if(ult(invasor)!="dir"){
    if(estalivre(invasor.getPosition().x - 50, invasor.getPosition().y)){
     invasor.move(-50,0);
     ultimo="esq";
     }
   }
   break;
  }
 } 

}

Editado por brunoais
geshi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

podes ser mais explícito no que realmente queres ? de preferência apresenta um exemplo ...

Editado por HappyHippyHippo

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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Eu VS Java

<p>este é o mapa que eu tenho para o nivel 1. como vês o invasor pode ir por dois caminhos,e o que eu pretendo é que qnd por exemplo escolhe o caminho da direita(quando entra no case 0)13zbf4h.png

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
tcms

A questão é que a leitura dos caminhos não é feita ao mesmo tempo com a actualização do seu movimento.

Ou seja, tu primeiro vais buscar as posições onde ele vai andar certo? E posto isto, sobre essas posições ele tem de perceber o caminho a tomar.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

A questão é que a leitura dos caminhos não é feita ao mesmo tempo com a actualização do seu movimento.

Ou seja, tu primeiro vais buscar as posições onde ele vai andar certo? E posto isto, sobre essas posições ele tem de perceber o caminho a tomar.

isso não interessa, se dizes que tens os caminhos previamente guardados em listas, é só por o objecto a percorrer uma destas.


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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
tcms

Sim tens razão, mas na situação dele penso que o problema está no facto de depois de escolher uma direcção o case estar constantemente a mudar (calculo que tenha usado um switch)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

Sim tens razão, mas na situação dele penso que o problema está no facto de depois de escolher uma direcção o case estar constantemente a mudar (calculo que tenha usado um switch)

então eu pergunto : porque raio estaria sempre a verificar para qual caminho tem de se mover ?


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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

nop ... se um/todos os caminhos estão definidos em arraylist's, só necessita de tomar uma decisão ao chegar a uma intersecção, fazer-lo a toda a hora é completamente desnecessário, muito menos ao sair de uma intersecção ...


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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
tcms

pois, tens razão! Mas aí tem de haver implementação para a verificação se se encontra num intersecção ou não, e penso que isso não foi feito pelo user. É uma questão dele se pronunciar.

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.