Exercícios Opcionais - Batalha Naval
1) Implementar o jogo de batalha naval conforme exemplo apresentado em sala de aula. O código fonte implementado durante a aula e o programa de exemplo estão disponíveis na seção Aulas.
Comentários do código-fonte disponibilizado e sugestões (pode ser implementado de maneira diferente):
A função inicializaTabuleiro é responsável por inicializar o Tabuleiro contendo o valor -1 em todas as posições, que significa que nenhum palpite foi realizado.
A função mostraTabuleiro é a responsável por exibir o Tabuleiro na tela:
- "~", significa que nenhum palpite foi feito (corresponde ao valor -1 na matriz).
- "*", significa que foi feito um palpite e que não teve acerto (corresponde ao valor 0 na matriz)
- "X", significa que foi feito um palpite e que teve acerto (corresponde ao valor 1 na matriz)
A função iniciaNavios sorteia a localização dos 3 navios. Ela também verifica se uma posição já havia sido sorteada anteriormente e, se tiver sido, fica em um loop para sortear de novo até sortear uma posição diferente.
Sugestões:
Implementar uma função que receba o tiro (ou seja, o palpite do usuário).
Implementar uma função que dado um tiro, verifique se o usuário acertou ou não e exibe uma mensagem ao usuário.
Implementar uma função que altere o tabuleiro considerando o tiro dado.
2) Implementar as dicas do exibidas pelo usuário
3) Implementar usuário x computador, onde o computador também pode dar tiro. Vence quem acertar o maior número de barcos.