Ir para conteúdo
Fórum Script Brasil
  • 0

skullcrazy


skullcrazy

Pergunta

estou tentando fazer um sistema de dicas, poporémrem não estar funcionando.

porfavor help-me

 

 

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
//#include "/storage/emulated/0/calculos/Numeros primos/Batalha Naval/test.h"

#define Qnavios 9
#define chances Qnavios + 2

void DicaMatriz(int dica[10][5])
{
    

int linha, coluna, j;

    for (linha = 0; linha < 10; linha++)
    {
        for (coluna = 0; coluna < 5; coluna++)
        {
            if (dica[linha][coluna] == 1)
            {
                j = coluna;
                    switch (linha + coluna)
                { 
            case 2:
            //coluna 1, linha 1
            printf("A");
            break;
            case 3:
            //coluna 1, linha 2
            if(coluna == 1)
            printf("B");
            //coluna 2, linha 1
            if(coluna == 2)
            printf("C");
            break;
            case 4:
            //coluna 1, linha 3
            if(coluna == 1)
            printf("D");
            //coluna 2, linha 2
            if(coluna == 2)
            printf("E");
            //coluna 3, linha 1
            if(coluna == 3)
            printf("F");
            break;
            case 5:
            //coluna 1, linha 4
            if(coluna == 1)
            printf("G");
            //coluna 2, linha 3
            if(coluna == 2)
            printf("H");
            //coluna 3, linha 2
            if(coluna == 3)
            printf("I");
            //coluna 4, linha 1
            if(coluna == 4)
            printf("J");
            break;
            case 6:
            //coluna 1, linha 5
            if(coluna == 1)
            printf("K");
            //coluna 2, linha 4
            if(coluna == 2)
            printf("L");
            //coluna 3, linha 3
            if(j == 3)
            printf("M");
            //coluna 4, linha 2
            if(j == 4)
            printf("");
            //coluna 5, linha 1
            if(j == 5)
            printf("N");
            break;
            case 7:
            //coluna 1, linha 6
            if(j == 1)
            printf("O");
            //coluna 2, linha 5
            if(j == 2)
            printf("P");
            //coluna 3, linha 4
            if(j == 3)
            printf("Q");
            //coluna 4, linha 3
            if(j == 4)
            printf("R");
            //coluna 5, linha 2
            if(j == 2)
            printf("S");
            break;
            case 8:
            //coluna 1, linha 7
            if(j == 1)
            printf("T");
            //coluna 2, linha 6
            if(j == 2)
            printf("U");
            //coluna 3, linha 5
            if(j == 3)
            printf("V");
            //coluna 4, linha 4
            if(j == 4)
            printf("W");
            //coluna 5, linha 3
            if(j == 5)
            printf("X");
            break;
            case 9:
            //coluna 1, linha 8
            if(j == 1)
            printf("Y");
            //coluna 2, linha 7
            if(j == 2)
            printf("Z");
            //coluna 3, linha 6
            if(j == 3)
            printf("a");
            //coluna 4, linha 5
            if(j == 4)
            printf("b");
            //coluna 5, linha 4
            if(j == 5)
            printf("c");
            break;
            case 10:
            //coluna 1, linha 9
            if(j == 1)
            printf("d");
            //coluna 2, linha 8
            if(j == 2)
            printf("e");
            //coluna 3, linha 7
            if(j == 2)
            printf("f");
            //coluna 4, linha 6
            if(j == 4)
            printf("g");
            //coluna 5, linha 5
            if(j == 5)
            printf("h");
            case 11:
            //coluna 1, linha 10
            if(j == 1)
            printf("i");
            //coluna 2, linha 9
            if(j == 2)
            printf("j");
            //coluna 3, linha 8
            if(j == 3)
            printf("k");
            //coluna 4, linha 7
            if(j == 4)
            printf("l");
            //coluna 5, linha 6
            if(j == 5)
            printf("m");
            break;
            case 12:
            //coluna 2, linha 10
            if(j == 2)
            printf("n");
            //coluna 3, linha 9
            if(j == 3)
            printf("o");
            break;
            //coluna 4, linha 8
            if(j == 5)
            printf("p");
            break;
            //coluna 5, linha 7
            if(j == 5)
            printf("q");
            break;
            case 13:
            //coluna 3, linha 10
            if(j == 3)
            printf("r");
            break;
            //coluna 4, linha 9
            if(j == 4)
            printf("s");
            break;
            //coluna 5, linha 8
            if(j == 5)
            printf("t");
            break;
            case 14:
            //coluna 4, linha 10
            if(j == 4)
            printf("u");
            break;
            //coluna 5, linha 9
            if(j == 5)
            printf("v");
            case 15:
            //coluna 5, linha 10
            printf("w");
            };
        }
    };
}
}

void inicializaTabuleiro(int tabuleiro[][5])
{
    int linha, coluna;
    for (linha = 0; linha < 10; linha++)
        for (coluna = 0; coluna < 5; coluna++)
            tabuleiro[linha][coluna] = -1;
}

void mostraTabuleiro(int tabuleiro[10][5], int x)
{
    int linha, coluna;

    clrscr();
textcolor(x + 1);
printf("PLAYER %i\n", x);
    printf("\t1 \t2 \t3 \t4 \t5\n");
    textcolor(0);
    printf("\n");

    for (linha = 0; linha < 10; linha++)
    {
        textcolor(x + 1);
        printf("%d", linha + 1);
        textcolor(0);
        for (coluna = 0; coluna < 5; coluna++)
        {
            if (tabuleiro[linha][coluna] == -1)
            {
                textcolor(BLUE);
                printf("\t~");
                textcolor(WHITE);
            }
            else if (tabuleiro[linha][coluna] == 0)
            {
            //    textbackground(9);
                textcolor(RED);
                printf("\t*");
                textbackground(BLACK);
                textcolor(WHITE);
            }
            else if (tabuleiro[linha][coluna] == 1)
            {
                textbackground(BLUE);
                textcolor(RED);
                printf("\t#");
                textbackground(0);
                textcolor(WHITE);
            }
        }
        printf("\n");
        if(tabuleiro[linha][coluna] == 1){
            if(coluna == 2){
            printf("nddnshshshsh");
    }
        }
    }
    printf("\nLegendas:\n~ de cor azul, água\n* de cor vermelha, tiro na água\nX de cor verde, navio\nAtençao você só terá %i tentativas.\n\n", chances);
    printf("DICAS:\n");
    void DicaMatriz(tabuleiro[10][5]);

}

void iniciaNavios(int navios[][2])
{
    srand(time(NULL));
    int navio, anterior;

    for (navio = 0; navio < Qnavios; navio++)
    {
        
        navios[navio][0] = (rand() % 9) + 1;
        navios[navio][1] = (rand() % 4) + 1;
        //agora vamos checar se esse par não foi sorteado
        //se foi, so sai do do...while enquanto sortear um diferente
        for (anterior = 0; anterior < navio; anterior++)
        {
            if ((navios[navio][0] == navios[anterior][0]) && (navios[navio][1] == navios[anterior][1]))
                do
                {
                    navios[navio][0] = (rand() % 9) + 1;
                    navios[navio][1] = (rand() % 4) + 1;
                } while ((navios[navio][0] == navios[anterior][0]) && (navios[navio][1] == navios[anterior][1]));
        }
    }
}

void darTiro(int tiro[2])
{
    printf("Linha: ");
    scanf("%d", &tiro[0]);
    tiro[0]--;

    printf("Coluna: ");
    scanf("%d", &tiro[1]);
    tiro[1]--;
}

int acertou(int tiro[2], int navios[][2])
{
    int navio;

    for (navio = 0; navio < Qnavios; navio++)
    {
        if (tiro[0] == navios[navio][0] && tiro[1] == navios[navio][1])
        {
            return 1;
        }
    }
    return 0;
}

void alteraTabuleiro(int tiro[2], int navios[][2], int tabuleiro[][5])
{
    if (acertou(tiro, navios) == 1)
        tabuleiro[tiro[0]][tiro[1]] = 1;
    else
        tabuleiro[tiro[0]][tiro[1]] = 0;
}

int main()
{
    int PontoA = 0;
    int PontoB = 0;
    int jogador1(void);
    system("cls");
    int jogador2(void);
    
    PontoA = jogador1();
    
    PontoB = jogador2();
    
    if(PontoA > PontoB){
        printf("Jogador1 venceu com %i pontos", PontoA);
    } else if(PontoA < PontoB){
        printf("Jogador2 venceu com %i pontos", PontoB);
    } else
    printf("Parabéns aos jogadores, deu IMPATE!");
    
}

int jogador1(void){
    
    int tabuleiro[10][5];
    int navios[Qnavios][2];
    int tiro[2];
    int acertos = 0, tentativas = 0;
    
    inicializaTabuleiro(tabuleiro);
    iniciaNavios(navios);
    printf("\n");
    do
    {
        mostraTabuleiro(tabuleiro, 1);
        DicaMatriz(tabuleiro[10][5]);
        darTiro(tiro);
        tentativas++;
         if(acertou(tiro, navios) == 1)
        ++acertos;
        if(tentativas == chances && acertos < chances || tentativas == chances && acertos == chances)
        {
            //delay(4000);
            clrscr();
            return acertos;
        }
        alteraTabuleiro(tiro, navios, tabuleiro);
        //acertos = acertos + acertou(tiro[2], navios[][2]);
    } while (acertos != chances);
    
    mostraTabuleiro(tabuleiro, 1);
    
    printf("\n");
}

//------------------------------

int jogador2(void){
    
    int tabuleiro[10][5];
    int navios[Qnavios][2];
    int tiro[2];
    int acertos = 0, tentativas = 0;
    
    inicializaTabuleiro(tabuleiro);
    iniciaNavios(navios);
    printf("\n");
    do
    {
        mostraTabuleiro(tabuleiro, 2);
        
        darTiro(tiro);
        tentativas++;
        if(acertou(tiro, navios) == 1)
        ++acertos;
        if(tentativas == chances && acertos < chances || tentativas == chances && acertos == chances)
        {
            getchar();
            clrscr();
            return acertos;
        }
        alteraTabuleiro(tiro, navios, tabuleiro);

    } while (acertos != chances);
    
    mostraTabuleiro(tabuleiro, 2);
    
    printf("\n");

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...