Battleship

Disponível somente no TrabalhosFeitos
  • Páginas : 2 (402 palavras )
  • Download(s) : 0
  • Publicado : 22 de setembro de 2012
Ler documento completo
Amostra do texto
Desenvolvendo um jogo em C: Batalha Naval


Batalha Naval
Esse jogo consiste apenas da parte do jogador, ou seja, apenas o jogador pode derrubar os navios da "máquina".
Não foram utilizadasimagens. O jogo foi feito utilizando-se apenas caracacteres representando os navios, água e o campo oculto.

Explicando a lógica da função main()
Na função main, optei em desenvolver a parte deinicialização dos campos, posicionamento dos navios e um menu chamando então as funções "jogar", "creditos" e "ranking".

No princípio, duas matrizes 10x10 são incializadas. Uma é o campo do jogador e aoutra da "máquina".
Os navios são distribuidos de forma aleatória no campo da "máquina":
-Submarino (2 posições com S);
SS
-Hidro-Avião (3 posições com H);
H
H H
-Porta-Aviões (4 posições comP).
PPPP


Utilizei as variáveis X para representar o eixo horizontal, ou das abscissas; Y reprsentando o eixo vertical, ou das ordenadas e R representando o sentido de rotação que os navios podemser posicionados (cima, baixo, direita, esquerda).

Os números randômicos para os eixos X e Y podem variar de 0 a 9, visto que as matrizes são 10x10. Já o eixo de rotação R, foi definido 4 valoresrepresentando as 4 direções possíveis para o posicionamento dos navios na matriz (campo), sendo 1=cima, 2=direita, 3=baixo e 4=esquerda.

O campo visível para o jogador é inicializado com A,representando a água.

Caso algum navio seja colocado em uma posição já ocupada, o programa volta ao princípio fazendo com que todos os navios sejam distribuidos novamente, até que caiam em posiçõesdistintas. Pois uma vez que o navio foi posicionado na matriz através de um número aleatório, não há como apagar o que já foi escrito e gerar outro número randômico até posicioná-lo em um lugar vazio. Onavio posicionado por cima do outro continuaria lá.
Com certeza existem outras possibilidades, mas eu optei em utilizar essa lógica pois é muito mais simples e funcional.

Chamei de "parte central"...
tracking img