Direções aleatórias do inimigo

Olá, eu estou programando um jogo no estilo Zelda de Nintendo, porem nao tô sabendo programar meu inimigo para que ele fique andando em direções aleatórias.

Depende de como já funciona o movimento do inimigo. No geral, se já tem código para movê-lo em uma direção qualquer (baseado em coordenadas), basta gerar uma posição aleatória (x e y), e colocar essa como local pro inimigo se mover.

Se não é isso, mostre as partes relevantes do código da sua classe inimigo.

Abraço.

Não tenho ainda uma movimentação para o inimigo. Uma base que eu tenho é fazer o inimigo perseguir o player. Mas queria que ele ficasse andando em direções aleatórias ao invés disso, mas não faço ideia de como executar

Você já sabe alguma coisa de desenvolvimento de jogos? Como está estruturado seu código?

Mas isso já funciona ou não? Se sim, em vez de perseguir o player, faça o Inimigo ir em uma direção aleatória, determinada por coordenadas x e y. É o mesmo princípio, só muda o “alvo”.

Em pseudocodigo, é algo mais ou menos assim:

classe VetorXY { float x=0; float y=0; }

classe Inimigo {
  VetorXY posicao; // posição atual do Inimigo
  VetorXY alvo;  // posição "alvo", para a qual o Inimigo se move constantemente
  boolean perseguindoOJogador = false; // se está perseguindo o jogador ou não
  float mudarDeDirecao = 2; // tempo pra mudar de direcao
  float velocidade = 10; // velocidade de movimento
  
  // update atualiza o Inimigo
  update(delta){
    if (!perseguindoOJogador) {
      mudarDeDirecao = mudarDeDirecao - delta;
      if (mudarDeDirecao <= 0) {
        calcularNovoAlvo();
        mudarDeDirecao = 2;
      }
    } else{
        alvo = jogador.posicao; // usa a posicao do jogador como alvo
    }

    // Move o Inimigo na direção alvo (jogador ou aleatoria)
    VectoXY direcao = alvo - posicao;
    VetorXY movimento = direcao * velocidade * delta;
    posicao = posicao + movimento;
  }

  // gera uma nova posição aleatória X e Y pro inimigo se
  VetorXY calcularNovoAlvo() {
    alvo.x = NumeroAleatorio();
    alvo.y = NumeroAleatorio();
  }
}

Note que é um código de exemplo, e pressupõe que você sabe trabalhar com coordenadas, e que tem acesso à uma classe que simular um vetor de 2 dimenões (X e Y), além de ter métodos para operar esses vetores (somar, subtrair, multiplicar e normalizar vetores).

Abraço.

Obrigado cara, na verdade eu estou cursando programação, fiz um jogo porem somente com o inimigo perseguindo o player. Vou estudar o seu código e por em prática.