Ir ao conteúdo
  • Cadastre-se

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


Posts recomendados

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
Link para o comentário
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
Link para o comentário
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

Link para o comentário
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
Link para o comentário
Compartilhar em outros sites

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...