Jogo de Paciência em C

1351 palavras 6 páginas
#include
#include

typedef struct no { int valor; char naipe; struct no *prox;
}noCarta;

noCarta *monte=NULL; noCarta *pilhaDeBaixo[7]={NULL,NULL,NULL,NULL,NULL,NULL,NULL}; noCarta *pilhaDeCima[4]={NULL,NULL,NULL,NULL}; noCarta *atual=NULL;

int linhaEscondida[7];

void criarMonte() { int c1,c2; noCarta *n;

n=(noCarta *)malloc(sizeof(noCarta));

monte=n;

for(c1=0;c1naipe='p'; else if(c1==1) n->naipe='c'; else if(c1==2) n->naipe='e'; else if(c1==3) n->naipe='o';

if(c1!=3 || c2!=13) { n->prox=(noCarta *)malloc(sizeof(noCarta)); n=n->prox; }else n->prox=NULL; } }
}

noCarta *removeMonte(int posicao)
{
noCarta *atual=monte; noCarta *anterior=NULL;

int c;

for(c=0;cprox; }

if (atual==monte) monte=monte->prox; else anterior->prox=atual->prox;

return (atual);
}

void imprimeMonte()
{
noCarta *atual=monte;

while(atual!=NULL) { printf("[%d%c]\n",atual->valor,atual->naipe); atual=atual->prox; }
}

void embaralharMonte()
{
noCarta *n,*novomonte; int c;

srand(time(NULL));

n=removeMonte(rand()%c); novomonte=n;

for(c=51;c>0;c--) { n->prox=removeMonte(rand()%c); n=n->prox; }

n->prox=NULL;

monte=novomonte;
}

void distribuiCartas()
{
noCarta *atual; int c1,c2;

for(c1=0;c1prox!=monte) atual=atual->prox;

atual->prox=NULL; linhaEscondida[c1]=c1; }
}

void imprimeCartas()
{
noCarta

Relacionados

  • a importancia do jogo de damas
    1000 palavras | 5 páginas
  • Torre de Hanói
    920 palavras | 4 páginas
  • Projeções Ortogonais
    851 palavras | 4 páginas
  • Valores Humanos Matemática da Vida
    2721 palavras | 11 páginas
  • Jogos didáticos na área de matemática: aprimorando o ensino- aprendizagem dos educados
    5877 palavras | 24 páginas
  • Terapia sistémica estratégica - formulação clínica
    2833 palavras | 12 páginas
  • Poluição dos Mananciais
    4761 palavras | 20 páginas
  • Didática II - Unigran
    1516 palavras | 7 páginas
  • Esportes Cooperativos
    1732 palavras | 7 páginas
  • Probabilidade
    1882 palavras | 8 páginas