bubbleshotter.c
int registerMatch()
{
    int i = 0, j, p;
    DadosJogador ranking[10];

    //abro o arquivo do ranking para passar os dados para a variavel ranking que eh um vetor de 10 do tipo DadosJogador
    arquivoranking = fopen("ranking.bin", "rb");
    fread(&ranking, sizeof(DadosJogador), 10, arquivoranking);
    fclose(arquivoranking);

    //verificacao para ver se os pontos do jogador atual eh maior do que o ultimo do ranking. Se for, o jogador eh colocado na ultima posicao
    if (jogador.pontos > ranking[9].pontos)
    {
        ranking[9].pontos = jogador.pontos;
        for (i = 0; i < 11; i++)
        {
            ranking[9].nome[i] = jogador.nome[i];
        }
    }

    //eh feito um bubble sort para ordenar o ranking
    DadosJogador aux;
    for (p = 9; p > 0; p--)
    {
        if (ranking[p].pontos > ranking[p - 1].pontos)
        {
            aux = ranking[p - 1];
            ranking[p - 1].pontos = ranking[p].pontos;
            for (i = 0; i < 11; i++)
            {
                ranking[p - 1].nome[i] = ranking[p].nome[i];
            }
            ranking[p].pontos = aux.pontos;
            for (i = 0; i < 11; i++)
            {
                ranking[p].nome[i] = aux.nome[i];
            }
        }
    }

    arquivoranking = fopen("ranking.bin", "wb");
    fwrite(&ranking, sizeof(DadosJogador), 10, arquivoranking);
    fclose(arquivoranking);
    return 0;
}
/*
############################################################################################
# A funcao abaixo eh responsavel por registrar a partida se o modo ranquead tiver ativado, #
############################################################################################
*/
A funcao abaixo eh responsavel por registrar a partida se o modo ranquead tiver ativado.
A funcao abaixo eh responsavel por registrar a partida se o modo ranquead tiver ativado .
int registerMatch()
{
    int i = 0, j, p;
    DadosJogador ranking[10];
    arquivoranking = fopen("ranking.bin", "rb");
    fread(&ranking, sizeof(DadosJogador), 10, arquivoranking);
    fclose(arquivoranking);
    if (jogador.pontos > ranking[9].pontos)
    {
        ranking[9].pontos = jogador.pontos;
        for (i = 0; i < 11; i++)
        {
            ranking[9].nome[i] = jogador.nome[i];
        }
    }
    DadosJogador aux;
    for (p = 9; p > 0; p--)
    {
        if (ranking[p].pontos > ranking[p - 1].pontos)
        {
            aux = ranking[p - 1];
            ranking[p - 1].pontos = ranking[p].pontos;
            for (i = 0; i < 11; i++)
            {
                ranking[p - 1].nome[i] = ranking[p].nome[i];
            }
            ranking[p].pontos = aux.pontos;
            for (i = 0; i < 11; i++)
            {
                ranking[p].nome[i] = aux.nome[i];
            }
        }
    }
    arquivoranking = fopen("ranking.bin", "wb");
    fwrite(&ranking, sizeof(DadosJogador), 10, arquivoranking);
    fclose(arquivoranking);
    return 0;
}
int registerMatch ( ) { int i = 0 , j , p ; DadosJogador ranking [ 10 ] ; arquivoranking = fopen ( " " , " " ) ; fread ( & ranking , sizeof ( DadosJogador ) , 10 , arquivoranking ) ; fclose ( arquivoranking ) ; if ( jogador . pontos > ranking [ 9 ] . pontos ) { ranking [ 9 ] . pontos = jogador . pontos ; for ( i = 0 ; i < 11 ; i ++ ) { ranking [ 9 ] . nome [ i ] = jogador . nome [ i ] ; } } DadosJogador aux ; for ( p = 9 ; p > 0 ; p -- ) { if ( ranking [ p ] . pontos > ranking [ p - 1 ] . pontos ) { aux = ranking [ p - 1 ] ; ranking [ p - 1 ] . pontos = ranking [ p ] . pontos ; for ( i = 0 ; i < 11 ; i ++ ) { ranking [ p - 1 ] . nome [ i ] = ranking [ p ] . nome [ i ] ; } ranking [ p ] . pontos = aux . pontos ; for ( i = 0 ; i < 11 ; i ++ ) { ranking [ p ] . nome [ i ] = aux . nome [ i ] ; } } } arquivoranking = fopen ( " " , " " ) ; fwrite ( & ranking , sizeof ( DadosJogador ) , 10 , arquivoranking ) ; fclose ( arquivoranking ) ; return 0 ; }
A funcao abaixo eh responsavel por registrar a partida se o modo ranquead tiver ativado,
A funcao abaixo eh responsavel por registrar a partida se o modo ranquead tiver ativado
//abro o arquivo do ranking para passar os dados para a variavel ranking que eh um vetor de 10 do tipo DadosJogador //verificacao para ver se os pontos do jogador atual eh maior do que o ultimo do ranking. Se for, o jogador eh colocado na ultima posicao //eh feito um bubble sort para ordenar o ranking