Ir ao conteúdo
  • Cadastre-se

Relry

Membro Pleno
  • Posts

    22
  • Cadastrado em

  • Última visita

Tópicos solucionados

  1. O post de Relry em Batalha naval em c++ foi marcado como solução   
    @RiXaRd simples cara, o seu unico erro foi ter colocado a atribuição no lugar onde era pra ser uma comparação, veja
     
    if (tabuleiro[linha--][coluna--]=' ') { v[linha--][coluna--]='.'; }  
    eu nem tinha reparado, mas o certo é
    if (tabuleiro[linha--][coluna--] == ' ') { v[linha--][coluna--]='.'; } com 2(dois) = (iguais)
    adicionado 28 minutos depois @RiXaRd eu cheguei a modificar um pouco seu codigo, caso queira aproveitar alguma coisa esta ai
    #include<stdio.h> #include<stdlib.h> //----------------------------DEFINIÇÕES--------------------------------------// #define MAX_LINHA 16 #define MAX_COLUNA 16 #define MAX_JOGADAS 75 //----------------------------DECLARACOES GLOBAIS-----------------------------// char v[MAX_LINHA][MAX_COLUNA], tabuleiro[MAX_LINHA][MAX_COLUNA]; int lin,col,jogarDeNovo, x = 0, linha, coluna, opcao, y, contador; //----------------------------------------------------------------------------// //----------------------------CABEÇALHO DAS FUNÇÕES--------------------------// void carregarJogo(); void inicio(); void escolha_mapa(); //----------------------------------------------------------------------------// //Funcao principal do programa int main() { int opcao,l,c,contador; char resp = 'N'; carregarJogo(); //executa uma vez a cada rodada, preenchendo todas as posições com espaco em branco ( ' ' ) escolha_mapa(); system ("cls"); inicio(); system("cls"); inicio(); } //----------------------------------------------------------------------------// //essa funcao faz a matriz ficar com o estilo do mapa, e também preenche com %c, para que o valor possa ser inserido no mapa void inicio() { for (contador=MAX_JOGADAS; contador>0; contador--) { printf(" "); for(int x = 0; x < MAX_COLUNA; x++){ printf("C%02d ", x+1); } printf("\n"); for (linha = 0; linha < MAX_LINHA; linha++) { printf("L%02d |", linha+1); for (int colV = 0; colV < MAX_COLUNA; colV++){ printf(" %c |", v[linha][colV]); } printf("\n"); //printf("L%02d | %c | %c | %c | %c | %c | %c | %c | %c | %c | %c | %c | %c | %c | %c | %c |\n", linha+1,v[linha][0], v[linha][1],v[linha][2],v[linha][3],v[linha][4],v[linha][5],v[linha][6],v[linha][7],v[linha][8],v[linha][9],v[linha][10],v[linha][11],v[linha][12],v[linha][13],v[linha][14],v[linha][15]); } /* for ( ; linha < 15; linha++) { printf("L%d| %c | %c | %c | %c | %c | %c | %c | %c | %c | %c | %c | %c | %c | %c | %c |\n", linha+1, v[linha][0], v[linha][1],v[linha][2],v[linha][3],v[linha][4],v[linha][5],v[linha][6],v[linha][7],v[linha][8],v[linha][9],v[linha][10],v[linha][11],v[linha][12],v[linha][13],v[linha][14],v[linha][15]); }//*/ printf("Jogadas Restantes: %d\n", contador); printf("Digite as coordenadas: "); scanf("%d %d",&linha,&coluna); if (tabuleiro[linha-1][coluna-1]==' ') { v[linha-1][coluna-1]='.'; } else { v[linha-1][coluna-1]=tabuleiro[linha-1][coluna-1]; } } } //----------------------------------------------------------------------------// // inicializa a matriz com espaço em branco ( ' ' ). void carregarJogo() { int lin, col; for(lin = 0; lin < MAX_LINHA ; lin++) { for(col = 0 ; col < MAX_COLUNA ; col++) { v[lin][col] = ' ' ; tabuleiro[lin][col] = ' ' ; } } } //------------------------------------------------------------------------------// //funcao usada para escolher o mapa quando o jogo inicia void escolha_mapa() { int y; printf("Escolha o mapa que deseja jogar:\n\nDigite 1 para Mar;\n 2 para Lagoa;\n 3 para Rio;\n"); scanf("%d",&opcao); fflush (stdin); switch (opcao) { case 1: //porta aviao tabuleiro[9][2]='p'; tabuleiro[9][3]='p'; tabuleiro[9][4]='p'; tabuleiro[9][5]='p'; tabuleiro[9][6]='p'; //hidroaviao tabuleiro[5][1]='h'; tabuleiro[4][2]='h'; tabuleiro[5][3]='h'; tabuleiro[7][1]='h'; tabuleiro[6][2]='h'; tabuleiro[7][3]='h'; tabuleiro[15][9]='h'; tabuleiro[14][10]='h'; tabuleiro[15][11]='h'; //cruzador tabuleiro[14][10]='c'; tabuleiro[14][11]='c'; tabuleiro[3][8]='c'; tabuleiro[3][9]='c'; tabuleiro[8][8]='c'; tabuleiro[8][9]='c'; //encouracado tabuleiro[1][9]='e'; tabuleiro[1][10]='e'; tabuleiro[1][11]='e'; tabuleiro[1][12]='e'; tabuleiro[4][3]='e'; tabuleiro[4][4]='e'; tabuleiro[4][5]='e'; tabuleiro[4][6]='e'; //submarino tabuleiro[0][1]='s'; tabuleiro[0][9]='s'; tabuleiro[11][6]='s'; tabuleiro[13][12]='s'; break; case 2: //porta aviao tabuleiro[11][2]='p'; tabuleiro[11][3]='p'; tabuleiro[11][4]='p'; tabuleiro[11][5]='p'; tabuleiro[11][6]='p'; //hidroaviao tabuleiro[5][1]='h'; tabuleiro[4][2]='h'; tabuleiro[5][3]='h'; tabuleiro[9][1]='h'; tabuleiro[8][2]='h'; tabuleiro[9][3]='h'; tabuleiro[11][9]='h'; tabuleiro[10][10]='h'; tabuleiro[11][11]='h'; //cruzador tabuleiro[0][10]='c'; tabuleiro[0][11]='c'; tabuleiro[2][10]='c'; tabuleiro[2][11]='c'; tabuleiro[9][8]='c'; tabuleiro[9][9]='c'; //encouracado tabuleiro[8][2]='e'; tabuleiro[8][3]='e'; tabuleiro[8][4]='e'; tabuleiro[8][5]='e'; tabuleiro[10][3]='e'; tabuleiro[10][4]='e'; tabuleiro[10][5]='e'; tabuleiro[10][6]='e'; //submarino tabuleiro[0][1]='s'; tabuleiro[11][9]='s'; tabuleiro[6][6]='s'; tabuleiro[12][12]='s'; break; case 3: //porta aviao tabuleiro[13][13]='p'; tabuleiro[13][12]='p'; tabuleiro[13][11]='p'; tabuleiro[13][10]='p'; tabuleiro[13][9]='p'; //hidroaviao tabuleiro[1][2]='h'; tabuleiro[2][1]='h'; tabuleiro[2][3]='h'; tabuleiro[5][6]='h'; tabuleiro[4][7]='h'; tabuleiro[6][7]='h'; tabuleiro[14][6]='h'; tabuleiro[13][7]='h'; tabuleiro[14][8]='h'; //cruzador tabuleiro[15][15]='c'; tabuleiro[15][14]='c'; tabuleiro[3][10]='c'; tabuleiro[3][11]='c'; tabuleiro[7][2]='c'; tabuleiro[7][3]='c'; //encouracado tabuleiro[6][1]='e'; tabuleiro[7][1]='e'; tabuleiro[8][1]='e'; tabuleiro[9][1]='e'; tabuleiro[4][3]='e'; tabuleiro[4][4]='e'; tabuleiro[4][5]='e'; tabuleiro[4][6]='e'; //submarino tabuleiro[13][4]='s'; tabuleiro[11][11]='s'; tabuleiro[2][14]='s'; tabuleiro[12][12]='s'; break; default: { printf("\nOpcao invalida!!!\n\n"); escolha_mapa(); } } } //--------------------------------FIM DO PROGRAMA-----------------------------//  
    adicionado 30 minutos depois @RiXaRd Outra coisa... qualquer duvida ou se precisar de ajuda pra randomizar a posição dos navios só dar um toque.

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!