Buscar

BATALHA NAVAL EM C, PARA DOIS JOGADORES SIMULTANEAMENTE.

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include <locale.h>
//DEFINIÇÃO DO TAMANHO DO TABULEIRO DA BATALHA NAVAL.
#define MAXL 20
#define MAXC 50
int main(){
setlocale(LC_ALL, "Portuguese");
system ("color 1f");
//COR DA TELA DE FUNDO DO JOGADOR 1 AZUL
//VARIAVÉIS.
 char tabuleiro1[MAXL][MAXC],tabuleiro2[MAXL][MAXC];
 int x, y,v,w,i,j,c=0,z=0,a,b,d=0,t;
//DESCRIÇÃO DO JOGO.
 printf("\n\t\t\t\**************************************************");
 printf("\n\t\t\t\t\tJOGO BATALHA NAVAL");
 printf("\n\t\t\t\**************************************************\n\n");
//LAÇO PARA OS TABULEIROS 1 e 2.
 printf("\t\tTABULEIRO 1 \t\t\t\t\t\tTABULEIRO 2\n\n");
 for(x=0; x<MAXL; x++){
 for(y=0; y<MAXC;y++){
 tabuleiro1[x][y] = 'N';
 printf("%c", tabuleiro1[x][y]);
 }
 printf("\t");
 for(v=x; v<=x; v++){
 for(w=0; w<MAXC;w++){
 tabuleiro2[v][w] = 'N';
 printf("%c", tabuleiro2[v][w]);
 }
 }
 printf("\n");
 }
//POSICIONAMENTO DO NAVIO DE CADA JOGADOR:
 printf("\n\nJOGADOR 1 SELECIONE A POSIÇÃO DO NAVIO DO JOGADOR 2\n");
 printf("\nLinha: ");
 scanf("%d", &a);
 printf("\nColuna: ");
 scanf("%d", &b);
//LAÇO PARA O JOGADOR 2 NÃO VIZUALIZAR A LOCALIZAÇÃO DO SEU NAVIO
 for(t=0; t<100; t++){
 }
 printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t");
 printf("\n\t\t\t\**************************************************");
 printf("\n\t\t\t\t\tJOGO BATALHA NAVAL");
 printf("\n\t\t\t\**************************************************\n\n");
 printf("\t\tTABULEIRO 1 \t\t\t\t\t\tTABULEIRO 2\n\n");
 for(x=0; x<MAXL; x++){
 for(y=0; y<MAXC;y++){
 tabuleiro1[x][y] = 'N';
 printf("%c", tabuleiro1[x][y]);
 }
 printf("\t");
 for(v=x; v<=x; v++){
 for(w=0; w<MAXC;w++){
 tabuleiro2[v][w] = 'N';
 printf("%c", tabuleiro2[v][w]);
 }
 }
 printf("\n");
 }
 system ("color 2f");
 printf("\nJOGADOR 2 SELECIONE A POSIÇÃO DO NAVIO DO JOGADOR 1\n");
 printf("\nLinha:");
 scanf("%d", &i);
 printf("\nColuna:");
 scanf("%d", &j);
//LAÇO PARA O JOGADOR 1 NÃO VIZUALIZAR A LOCALIZAÇÃO DO SEU NAVIO
 for(t=0; t<100; t++){
 }
 printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t");
 printf("\n\t\t\t\**************************************************");
 printf("\n\t\t\t\t\tJOGO BATALHA NAVAL");
 printf("\n\t\t\t\**************************************************\n\n");
 printf("\n\t\t\t\tNAVIOS POSICIONADOS. O JOGO COMEÇOU!!\n\n ");
 printf("\t\tTABULEIRO 1 \t\t\t\t\t\tTABULEIRO 2\n\n\n");
 for(x=0; x<MAXL; x++){
 for(y=0; y<MAXC;y++){
 tabuleiro1[x][y] = '*';
 printf("%c", tabuleiro1[x][y]);
 }
 printf("\t");
 for(v=x; v<=x; v++){
 for(w=0; w<MAXC;w++){
 tabuleiro2[v][w] = '*';
 printf("%c", tabuleiro2[v][w]);
 }
 }
 printf("\n");
 }
 do{
//LAÇO PARA CADA ESCOLHA DE LINHA E COLUNA COM SEUS RESPECTIVOS LIMITES JOGADOR 1 E JOGADOR 2.
 system ("color 1f");
 printf("\n\t\t\t\t\tJOGADOR 1\n\n\n\n\n");
 printf("\n\tJOGADOR 1 Digite as coordenadas do tiro (linha e coluna):\n");
 do{
 printf("\n\tLinha(Entre 0 e 19); ");
 do{
 scanf("%d", &x);
 if(x<0 || x>19){
 printf("\n\tDIGITE UM NÚMERO ENTRE 0 E 19: ");
 }
 }while(x<0 || x>19);
 printf("\n\tColuna(Entre 0 e 49); ");
 do{
 scanf("%d", &y);
 if(y<0 || y>49){
 printf("\n\tDIGITE UM NÚMERO ENTRE 0 E 49: ");
 }
 }while(y<0 || y>49);
//CONDIÇÃO PAARA A RESTRIÇÃO DE JOGADA REPETIDA PARA O JOGADOR 1.
 if(tabuleiro1[x][y] !='*')
 printf("\n\tCOORDENADA JÁ ESCOLHIDA!! ESCOLHA NOVAMENTE OUTRAS COORDENADAS JOGADOR 1\n");
 }
 while(tabuleiro1[x][y] !='*');
//COR DA TELA DE FUNDO DO JOGADOR 2 VERDE
 system ("color 2f");
 printf("\n\t\t\t\t\tJOGADOR 2\n\n\n\n\n");
 printf("\n\tJOGADOR 2 Digite as coordenadas do tiro (linha e coluna):\n");
 do{
 printf("\n\tLinha(Entre 0 e 19); ");
 do{
 scanf("%d", &v);
 if(v<0 || v>19){
 printf("\n\tDIGITE UM NÚMERO ENTRE 0 E 19: ");
 }
 }while(v<0 || v>19);
 printf("\n\tColuna(Entre 0 e 49); ");
 do{
 scanf("%d", &w);
 if(w<0 || w>49){
 printf("\n\tDIGITE UM NÚMERO ENTRE 0 E 49: ");
 }
 }while(w<0 || w>49);
//CONDIÇÃO PAARA A RESTRIÇÃO DE JOGADA REPETIDA PARA O JOGADOR 2.
 if(tabuleiro2[v][w] !='*')
 printf("\n\tCOORDENADA JÁ ESCOLHIDA!! ESCOLHA NOVAMENTE OUTRAS COORDENADAS JOGADOR 2\n");
 }
 while(tabuleiro1[v][w] !='*');
//CONDIÇÃO PARA ACERTAR O NAVIO (N), E SE ERRAR ACERTA A ÁGUA (A) DO JOGADOR 1 E 2.
 if(x>=a && x<= a+2 && y>=b && y<=b+4){
 tabuleiro1[x][y] = 'N';
 printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t\tJOGADOR 1 ACERTOU O NAVIO!!\n");
 c++;
 }
 else{
 tabuleiro1[x][y] = 'A';
 printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t\tJOGADOR 1 ERROU!!\n");
 }
 if(v>=i && v<= i+2 && w>=j && w<=j+4){
 tabuleiro2[v][w] = 'N';
 printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t\tJOGADOR 2 ACERTOU O NAVIO!!\n");
 d++;
 }
 else{
 tabuleiro2[v][w] = 'A';
 printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t\tJOGADOR 2 ERROU!!\n\n");
 }
 printf("\n\t\t\t\**************************************************");
 printf("\n\t\t\t\t\tJOGO BATALHA NAVAL");
 printf("\n\t\t\t\**************************************************\n\n");
 printf("\n\t\tTABULEIRO 1 \t\t\t\t\t\tTABULEIRO 2\n\n");
 printf("\n");
 for(x=0; x<MAXL; x++){
 for(y=0; y<MAXC;y++){
 printf("%c", tabuleiro1[x][y]);
 }
 printf("\t");
 for(v=x; v<=x; v++){
 for(w=0; w<MAXC;w++){
 printf("%c", tabuleiro2[v][w]);
 }
 }
 printf("\n");
 }
 }
// LAÇO QUE INDICA O NÚMERO POSSÍVEL DE JOGADAS PARA ACERTAR O NAVIO, FEITO ISSO O JOGADOR VENCE.
 while(c<15 && d<15);
//CONDIÇÃO PARA EMPATE E VITÓRIA DO JOGADOR 1 OU JOGADOR 2.
 if(c==15 && d==15 ){
 printf("\nEMPATARAM!\n ");
 }
 else if(c==15 ){
 printf("\nJOGADOR 1 VENCEU!!! O NAVIO AFUNDOU!\n ");
 }
 else if(d==15 ){
 printf("\nJOGADOR 2 VENCEU!!! O NAVIO AFUNDOU!\n ");
}
return 0;
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais