示例#1
0
void prepR2(Stats *stats){
    Carta *c;

    c = topCarta(stats->baralhoJogo);
    free(c);
    c = topCarta(stats->baralhoJogo);
    addCarta(stats->maoMesa, criaCarta(c->valor, c->naipe));
};
示例#2
0
/*****************************************************************************
 * 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
  }
}
示例#3
0
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));
    };
};
示例#4
0
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);
};