Jump to content

Recommended Posts

Posted (edited)

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

}
Edited by brunoais
geshi
Posted

<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

Posted

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.

Posted

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
Posted

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)

Posted

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
Posted

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.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.