Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
Lucas Assunção de Sousa

C Alocação de barcos de modo aleatório em C

Recommended Posts

Olá à todos! Estou com uma dúvida sobre o raciocínio de como elaborar um código:

 

Tempos atrás algumas gentis pessoas me ajudaram a corrigir meu jogo de Batalha Naval

E estou numa fase que agora estou tentando melhorar o código dele, e uma das coisas que queria fazer desde o começo é que e não estou conseguindo

terminar o raciocínio é colocar as embarcações de modo aleatório na arena.

 

Meu pensamento se resume a eu tentar criar uma função que sorteia ou número 1 e 2, caso de 1 imprime ele em posição vertical e 2 na horizontal da arena.  Porém, outro problema que é encontro é que são algumas embarcações com um porta-aviões, possui mais de um na arena, e cada um deles precisa ter 3 espaços. E são nessas partes eu travo e não consigo mais pensar.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Lucas Assunção de Sousa   para posicionar suas embarcações você pode usar aleatório com as funções

srand(time(NULL))
rand()%2+1

que vai sortear o número 1  ou 2,  e assim se for 1 você posiciona na vertical todos os pedaços da embarcação e se for 2 coloca na horizontal, e em seguida faça a verificação se não ficou colada ou por cima de outra embarcação, usando para isso o comando if comparando também cada pedaço da embarcação, se já exite no local onde está colocando a outra, 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@devair1010

 

Obrigado por responder!

Bem, após pesquisar bastante sobre referências na internet eu acabei achando um que tinha essa função que fazia exatamente o que quero. Tudo parece funcionar de perfeita maneira, entretanto eu não estou conseguindo alocar numa matriz principal que é exibida na tela, ou seja, é uma arena vazia em que o jogador tá atirando.

 

Como o código é bastante grande e está separado em várias funções, resolvi colocar ele pra baixar do que colocar aqui.

SinglePlayer.rar

Compartilhar este post


Link para o post
Compartilhar em outros sites
15 horas atrás, devair1010 disse:

@Lucas Assunção de Sousa   para posicionar suas embarcações você pode usar aleatório com as funções


srand(time(NULL))
rand()%2+1

que vai sortear o número 1  ou 2,  e assim se for 1 você posiciona na vertical todos os pedaços da embarcação e se for 2 coloca na horizontal, e em seguida faça a verificação se não ficou colada ou por cima de outra embarcação, usando para isso o comando if comparando também cada pedaço da embarcação, se já exite no local onde está colocando a outra, 

Somente destacar que o seed rand ou srand(time(NULL)), deve ser chamado somente uma vez no programa. Pode ser no inicio de main.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×