Implemente um jogo de batalha naval. O jogo deve aceitar conexões via rede, e deve funcionar com vários jogadores. Algum jogador deve iniciar o jogo, enviando via rede o comando
CRIA x yonde x e y são o tamanho do tabuleiro. Os outros jogadores vão se juntando ao jogo, e quando um deles dá o comando "INICIE", o jogo começa.
Há tres tipos de jogo:
Faça também um robô que joga aleatoriamente, para testes.
O servidor deve aceitar estes comandos:
CRIA x y INICIE JOGA x y MOSTRAO comando "JOGA x y ataca a posição (x,y). O comando MOSTRA, obviamente, mostra a visão daquele jogador (ele vê seus navios e os que acertou).
Quando um jogador chega, o sistema responde:
NENHUM JOGOse ninguém tiver dado o comando CRIE, ou
JOGO PREPARADO M NSe o comando CRIE já tiver sido dado. M e N são as dimensões do tabuleiro.
O tabuleiro é gerado automaticamente pelo sistema.
O tabuleiro é mostrado em ASCII. Os seus próprios navios são "*". Os de cada adversário são mostrados com caracteres diferentes. Os lugares que o jogador já atacou, mas que só tinham água, são mostrados como "+"
. . . . . . . . . . . . . . + . * * * . * . . + A . . . . . . + B + A + . + . . . . . . . . . . . . B . . + . . + . . .
Neste exemplo, o jogador já atacou dois navios de B e um navio grande de A.