Ir ao conteúdo

Posts recomendados

Postado

Boa tarde!

 

Eu estou desenvolvendo um trabalho pra faculdade utilizando a linguagem C, o trabalho é um jogo, batalha naval,  onde, os jogadores tem que poisicionar as embarcações no tabuleiro e depois atacar. Essa parte já está pronta (posicionar e atacar para PLAYER VS PLAYER), mas eu queria fazer uma opção de PLAYER VS MAQUINA, onde a máquina posiciona/ataca as pecas do/no tabuleiro. 

Eu tentei fazer essa parte utilizando a função rand() mas não deu certo logo na função que eu criei chamada:

 posicionar() //funcao que posiciona as pecas;

 

Onde a máquina tem que escolher aleatoriamente: 

  • A peca a ser posicionada: Porta-aviao, navio-tanque, contra-torpedeiro e submarino [ de 0 a 3 ]
  • A posição da linha do tabuleiro para posicionar a peca [ de 0 a  9 ]
  • A posição da coluna do tabuleiro para posicionar a coluna [ de 0 a 9]
  • O sentido da posicionamento se é na VERTICAL ou na HORIZONTAL [ de 0 a 1 ]

 

Não deu certo pois:

Citação

Dentro da função posicionar() tem um laço (while) de repetição que só vai ser falso quando a maquina posicionar todas as pecas

 

 

O programa até entra na função, mas não sai do while, acho que é porque são muitas possibilidades de combinação, seila...

 

Alguem tem uma sugestão melhor?

 

Qualquer coisa eu posto o link do github com o projeto...

  • Amei 1
Postado

@Reberth Siqueira     huma IA  é a sua I  e não tem nada de A  ,  pois o pc só faz o que mandar ele fazer , através dos comandos da linguagem , então é você que precisa imaginar todas as possibilidades usando os if's  e colocar o que fazer em cada caso ,  coisa demorada , e quanto mais possibilidades você imaginar melhor será ,  então nesse caso de posicionar as embarcações você pode usar mesmo o comando rand , mas depois de cada escolha precisa verificar todas as posições da peça , se não está encostada em outra ou nas laterais , tudo como se você mesmo estivesse posicionando , e depois para jogar também seria isso ,  tem um método chamado min - max que pode ajudar .   poste o código que você já fez para podermos ver como está e em que podemos ajudar   .

  • Haha 1
Postado
Em 19/10/2019 às 14:34, devair1010 disse:

@Reberth Siqueira     huma IA  é a sua I  e não tem nada de A  ,  pois o pc só faz o que mandar ele fazer , através dos comandos da linguagem , então é você que precisa imaginar todas as possibilidades usando os if's  e colocar o que fazer em cada caso ,  coisa demorada , e quanto mais possibilidades você imaginar melhor será ,  então nesse caso de posicionar as embarcações você pode usar mesmo o comando rand , mas depois de cada escolha precisa verificar todas as posições da peça , se não está encostada em outra ou nas laterais , tudo como se você mesmo estivesse posicionando , e depois para jogar também seria isso ,  tem um método chamado min - max que pode ajudar .   poste o código que você já fez para podermos ver como está e em que podemos ajudar   .

 

O link no github é https://github.com/reberthkss/BatalhaNaval

 

A pasta p/ download: 

BatalhaN.rar

 

obrigado desde já

  • Amei 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!