void prepR2(Stats *stats){ Carta *c; c = topCarta(stats->baralhoJogo); free(c); c = topCarta(stats->baralhoJogo); addCarta(stats->maoMesa, criaCarta(c->valor, c->naipe)); };
/***************************************************************************** * Le caractere por caractere no arquivo, fazendo toda * a logica necessaria para insercao nas pilhas *****************************************************************************/ int leArquivoConfigurandoPilhas(Pilha* pilhas[], FILE *arquivo, unsigned short int linhaInicial, unsigned short int linhaFinal, unsigned short int tamLinha){ // Linha do arquivo = coluna no jogo. // 3 colunas no arquivo = carta (linha) no jogo. unsigned int short linha, coluna; for(linha = linhaInicial-1; linha < linhaFinal; linha++){ for(coluna = 0; coluna < tamLinha; coluna++){ char numeroCarta[2]; char naipeCarta; numeroCarta[0] = fgetc(arquivo); coluna++; if((int)numeroCarta[0] > 64){ if(numeroCarta[0] == 'A'){ numeroCarta[0] = '0'; numeroCarta[1] = '1'; coluna++; } else if(numeroCarta[0] == 'J'){ numeroCarta[0] = '1'; numeroCarta[1] = '1'; coluna++; } else if(numeroCarta[0] == 'Q'){ numeroCarta[0] = '1'; numeroCarta[1] = '2'; coluna++; } else if(numeroCarta[0] == 'K'){ numeroCarta[0] = '1'; numeroCarta[1] = '3'; coluna++; } } else { numeroCarta[1] = fgetc(arquivo); coluna++; } naipeCarta = fgetc(arquivo); Carta carta = criaCarta((unsigned short int)atoi(numeroCarta), naipeCarta); inserePilha(pilhas[linha], carta); } // Essas duas lidas ridiculas sao para consumir o '\n' // e o '\0' do final de cada linha char nada; nada = fgetc(arquivo); // Porem, o '\0' aparentemente so existe no Linux, entao // no Windows nao eh necessario ler duas vezes #ifndef __WIN32 nada = fgetc(arquivo); #endif } }
void prepR1(Stats *stats){ Carta *c; int x; c = topCarta(stats->baralhoJogo); free(c); for(x=0; x<3; x++){ c = topCarta(stats->baralhoJogo); addCarta(stats->maoMesa, criaCarta(c->valor, c->naipe)); }; };
void prepR0(Stats *stats){ PlayerBasic*plaux; Carta *c; plaux = *(stats->jogadores); badgeSetter(stats); setBlind(stats); plaux = *(stats->jogadores); do{ c = topCarta(stats->baralhoJogo); addCarta(plaux->mao, criaCarta(c->valor, c->naipe)); plaux = plaux->prox; }while(plaux->prox != (*(stats->jogadores))->prox); do{ c = topCarta(stats->baralhoJogo); addCarta(plaux->mao, criaCarta(c->valor, c->naipe)); plaux = plaux->prox; }while(plaux->prox != (*(stats->jogadores))->prox); };