Jump to content
Fórum Script Brasil
  • 0

skullcrazy


Question

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 to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      148681
    • Total Posts
      644507
×
×
  • Create New...