1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Random com pausas e repetições

Olá, desculpem-me se essa questão já foi respondida em outros tópicos mas não encontrei em lugar algum.

Estou tentando criar um jogo onde o Inimigo movimente-se com o Random e com isso usei o IF para todos os possíveis movimentos dele, entretando, o método random usa todos ao mesmo tempo e ele fica girando quase no mesmo lugar; procurei dar pausas para cada IF e encontrei o método Thread.Sleep, mas quando coloco ele no Random, todo o meu jogo fica lento como se o Thread estivesse para cada +1 das coordenadas.

Se alguém puder me ajudar ou dar outras opções para fazer esses movimentos.

Obrigado

public void aleatorio(){


        Random random = new Random();  
        int nAleatorio = random.nextInt(5);

        if(nAleatorio == 0){
            mover0(); 

        }else if(nAleatorio == 1){
            mover1();

        }else if(nAleatorio == 2){
            mover2();

        }else if(nAleatorio == 3){
            mover3();

        }else if(nAleatorio == 4){
            mover4();

        }
    }

Disseram-me para usar um timer para começar e encerrar no tempo do timer, igual no inicio de um jogo de memória onde as imagens são voltadas para frente e depois de um tempo viram-se.

Como eu conseguiria colocar esse timer??

  • O comando Thread.Sleep pausa o seu código na quantidade de milissegundo que você inseriu nele. Eu não consegui entender sua duvida do que você precisa.

    Wilson Tamarozzi Junior   26 de set de 2014
  • minha dúvida é como fazer meu personagem fazer com o Random um movimento que coloquei no IF, esperar a quantia de milisegundos que coloquei e executar o random outra vez.

    Guii Souza   26 de set de 2014
  • para repetir os movimenta, tem que coloca um FOR e colocar uma condição do tipo quando o inimigo não existe ele pausa o FOR... talvez eu só esteja piorando kkk

    Wilson Tamarozzi Junior   26 de set de 2014
  • São mais ações com o random como ataque, acho que seria um FOR para cada uma dai não é?

    Guii Souza   26 de set de 2014
  • o thread.sleep vai deixar o random executar inteiro e depois parar a ação, o ideal seria você criar uma thread e sincronizar com seu código, essa thread faria o movimento do personagem, e dentro de um loop você pausa e ativa essa thread.

    Marcelo Vasconcelos   26 de set de 2014
Mostrar todos os 6 comentários>
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags random java ou faça a sua própria pergunta.