Jogo de trucoi em java

4 respostas
X

oi alguém tem um jogo de truco em java ? é para um trabalho da faculdade mas eu não sei como fazer :oops:

4 Respostas

D

Dei uma olhada no forum e encontrei:

http://www.portaljava.com/home/modules.php?name=Content&pa=list_pages_categories&cid=16

tem o jogo, e os fontes, de uma olhada no link!

qualque duvida! Manda que A Turma do PJ Responde!

X

onde que eu não consegui encontrar pelo link???

R

pegar trabalho pronto não rola…

tenta fazer

se tiver qq duvida por mais simples que seja, poste no portal java
o pessoal responde o mais rápido possível

D

So para ter uma base!

/*Jogo de truco em C*/
/*Versão 0.20*/


/*Bibliotecas utilizadas*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>


/*Estados:
	0=normal
	1=trucado
	2=vale seis
	3=vale nove
	4=vale doze
		*/


/*Constantes*/
#define opcoes 4
#define versao 0.20
#define TRUE 1
#define FALSE 0
#define ptsmax 12
#define g "(Gato)"
#define c "(Copas)"
#define e "(Espadilha)"
#define m "(Mole)"
#define truco "truco"
#define seis "seis"
#define nove "nove"
#define doze "doze"
#define vazio "vazio"
#define autor2 "Celito Gregolon J\£nior"     /*Ordem alfabética*/
#define autor1 "Carlos Eduardo Weber"
#define autor3 "Ricardo Oenning"
#define part "Partidas"
#define sal "Pontos"
#define jog "Jogador"
#define vit "Vit\¢rias"


/*Variáveis Globais*/
char	nome[40]="Design";
int 	pnts[2];
int	pntsrod[2];
int	baralho[40];
int	matriz[40];
int 	mao[2][3];
int	mesa[2][3];
int	cartas[40];
char	ranknomes[100][40];
int	rankpts[100];
int	rankpartidas[100];
int	rankvitorias[100];
FILE 	*fl;
FILE 	*arq;
int	primeiro, virada, turno, rodada, estado, last, saldo, inicial, continua, qly, sorteado, local, npartidas, vitorias;
char	status[6][10]={vazio,truco,seis,nove,doze,vazio};
char	esp;


/*Funções e procedimentos definidos*/
void 	embaralha(void);
int	sorteia(int max);
void	distribui(void);
void	pcplay(void);
void	jgplay(void);
void	atribui(void);
char 	toon(int card);
char	carta(int card);
void    save(void);
void	pcpensa(void);
void	pctruca(void);
void	pcordena(void);
void	jgtruca(void);
void	jogo(void);
void	sobre(void);
void	rank(void);


/*Principal*/
void main()
{
	/*Variáveis locais*/
	int opcao, i;


	/*Início*/
	opcao=opcoes+1;
	while (opcao!=opcoes)
	{
		/* Pede para que o usuário escolha uma opção*/
		printf("\n");
		printf("************************\n");
		printf("O que voc\? deseja fazer?\n");
		printf("\t1 - Jogar truco\n");
		printf("\t2 - Ver ranking\n");
		printf("\t3 - Sobre...\n");
		printf("\t4 - Sair\n");
		printf("\nDigite uma op\?\Æo:");
		scanf("%d",&opcao);
		strcpy(&status[1],&truco);
		strcpy(&status[2],&seis);
		strcpy(&status[3],&nove);
		strcpy(&status[4],&doze);
		/*Verifica possíveis entradas erradas*/
		if ((opcao<1)||(opcao>opcoes))
		{
			printf("\a\n\nVALOR INCORRETO!\n\n");
			printf("Por favor escolha uma op\?\Æo entre 1 e %d\n\n", opcoes);
			system("Pause");
		}
		if (opcao==1)
		{
			jogo();
		}
		if (opcao==2)
		{
			rank();
		}
		if (opcao==3)
		{
			sobre();
		}
	}
}


void sobre(void)
{
/**/	printf("\n\n");
	printf("Programa: Super Truco\n>>");
	esp=getch();
	printf("\nVers\Æo: %3.2f\n>>",versao);
	esp=getch();
	printf("\nAutores:\n");
	printf("\t%s\n",autor1);
	printf("\t%s\n",autor2);
	printf("\t%s\n>>",autor3);
	esp=getch();
	printf("\nComent\ rios\n");
	printf("\t       Este programa foi feito em novembro de 2004 como trabalho\n");
	printf("\tde conclus\Æo da disciplina de Processamento de Dados (PRD) da \n");
	printf("\t3\¦ fase do curso de Engenharia El\?trica da Universidade do Estado\n");
	printf("\tde Santa Catarina (UDESC).\n>>");
	esp=getch();
}


void rank(void)
{
	char 	car;
	int	i;
	if ((arq=fopen("rank.txt","r"))==NULL)
	{
		arq=fopen("Rank.txt","w");
		for (i=0; i<100; i++)
			fprintf(arq,"%s %d %d %d\n",vazio,0,0,0);
		fclose(arq);
		arq=fopen("rank.txt","r");
	}
	printf("\n");
	printf(" Rank -%15s\t%10s\t%8s%10s\n\n",jog,part,vit,sal);
	for (i=0; i<10; i++)
	{
		fscanf(arq,"%s%d%d%d",ranknomes[i],&rankpartidas[i],&rankvitorias[i],&rankpts[i]);
		printf("%3d   -%15s\t%8d\t%5d\t%9d\n",i+1,ranknomes[i],rankpartidas[i],rankvitorias[i],rankpts[i]);
	}
	printf("\n");
	system("Pause");
	fclose(arq);
	if ((strcmp(&ranknomes[0],&vazio))!=0)
	{
		car='a';
		while ((car!='s')&&(car!='n'))
		{
			printf("\nVoc\? deseja limpar a lista?(s/n)\n");
			scanf("%s",&car);
			if (car=='s')
			{
				arq=fopen("Rank.txt","w");
				for (i=0; i<100; i++)
					fprintf(arq,"%s %d %d %d\n",vazio,0,0,0);
				printf("Lista limpa!\n\n");
				system("Pause");
			}
			fclose(arq);
		}
	}
}


void jogo(void)
{
	char ch[5], tipo[40], car;
	int i, primeira, vale, naipe0, naipe1, valor;

			srand(time(NULL));
			for (i=0; i<40; i++)
				matriz[i]=39-i;

	
	/*Pede o nome do jogador*/
	printf("\n\nDigite seu nome:");
	scanf("%s",&nome);
	pnts[0]=0;
	pnts[1]=0;
	primeiro=sorteia(2);
	rodada=0;
	vitorias=0;
	npartidas=0;
	saldo=0;
	while ((pnts[0]<ptsmax)&&(pnts[1]<ptsmax))
	{
		/*embaralha as cartas*/
		embaralha();
		/*Distribui as cartas entre os jogadores*/
		distribui();
		/*Atribui uma pontuação as cartas para fins de comparação do valor das mesmas*/
		atribui();
		pntsrod[0]=0;
		pntsrod[1]=0;
		inicial=primeiro;
		turno=-1;
		estado=0;
		vale=0;
		last=2;
		local=1;
		sorteado=sorteia(40);
		while ((pntsrod[0]<2)&&(pntsrod[1]<2))
		{
			printf("\n***********************************\n");
			turno=turno+1;
			mesa[1][turno]=-1;
			/*Os jogadores jogam as cartas*/
			pcordena();
			continua=TRUE;
			if ((pnts[0]==11)&&(pnts[1]==11))
			{
				printf("\n\t*** Escurinha! ***\n");
			}
			if (inicial==0)
			{
				if (((pnts[0]==11)&&(pnts[1]<11))&&(turno==0))
				{
					printf("Pc est\  com m\Æo de 11.\n>>");
					esp=getch();
					if (qly<45)
					{
						printf("\nPc correu.\n>>");
						pntsrod[1]=3;
						continua=FALSE;
					}
					else
					{
						printf("\nPc aceitou.\n>>");
						estado=1;
						last=-1;
					}
				esp=getch();
				}
				if (((pnts[1]==11)&&(pnts[0]<11))&&(turno==0))
				{
					printf("Voc\? est\  com m\Æo de 11.\n>>");
					esp=getch();
					printf("\nVirada: %c %c\n",carta(virada),toon(virada));
					printf("\nSua m\Æo \?:\n");
					for (i=0; i<3; i++)
					{
						tipo[0]='[code]/*Jogo de truco em C*/
/*Versão 0.20*/


/*Bibliotecas utilizadas*/
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;string.h&gt;


/*Estados&#58;
	0=normal
	1=trucado
	2=vale seis
	3=vale nove
	4=vale doze
		*/


/*Constantes*/
#define opcoes 4
#define versao 0.20
#define TRUE 1
#define FALSE 0
#define ptsmax 12
#define g &quot;&#40;Gato&#41;&quot;
#define c &quot;&#40;Copas&#41;&quot;
#define e &quot;&#40;Espadilha&#41;&quot;
#define m &quot;&#40;Mole&#41;&quot;
#define truco &quot;truco&quot;
#define seis &quot;seis&quot;
#define nove &quot;nove&quot;
#define doze &quot;doze&quot;
#define vazio &quot;vazio&quot;
#define autor2 &quot;Celito Gregolon J\£nior&quot;     /*Ordem alfabética*/
#define autor1 &quot;Carlos Eduardo Weber&quot;
#define autor3 &quot;Ricardo Oenning&quot;
#define part &quot;Partidas&quot;
#define sal &quot;Pontos&quot;
#define jog &quot;Jogador&quot;
#define vit &quot;Vit\¢rias&quot;


/*Variáveis Globais*/
char	nome&#91;40&#93;=&quot;Design&quot;;
int 	pnts&#91;2&#93;;
int	pntsrod&#91;2&#93;;
int	baralho&#91;40&#93;;
int	matriz&#91;40&#93;;
int 	mao&#91;2&#93;&#91;3&#93;;
int	mesa&#91;2&#93;&#91;3&#93;;
int	cartas&#91;40&#93;;
char	ranknomes&#91;100&#93;&#91;40&#93;;
int	rankpts&#91;100&#93;;
int	rankpartidas&#91;100&#93;;
int	rankvitorias&#91;100&#93;;
FILE 	*fl;
FILE 	*arq;
int	primeiro, virada, turno, rodada, estado, last, saldo, inicial, continua, qly, sorteado, local, npartidas, vitorias;
char	status&#91;6&#93;&#91;10&#93;=&#123;vazio,truco,seis,nove,doze,vazio&#125;;
char	esp;


/*Funções e procedimentos definidos*/
void 	embaralha&#40;void&#41;;
int	sorteia&#40;int max&#41;;
void	distribui&#40;void&#41;;
void	pcplay&#40;void&#41;;
void	jgplay&#40;void&#41;;
void	atribui&#40;void&#41;;
char 	toon&#40;int card&#41;;
char	carta&#40;int card&#41;;
void    save&#40;void&#41;;
void	pcpensa&#40;void&#41;;
void	pctruca&#40;void&#41;;
void	pcordena&#40;void&#41;;
void	jgtruca&#40;void&#41;;
void	jogo&#40;void&#41;;
void	sobre&#40;void&#41;;
void	rank&#40;void&#41;;


/*Principal*/
void main&#40;&#41;
&#123;
	/*Variáveis locais*/
	int opcao, i;


	/*Início*/
	opcao=opcoes+1;
	while &#40;opcao!=opcoes&#41;
	&#123;
		/* Pede para que o usuário escolha uma opção*/
		printf&#40;&quot;\n&quot;&#41;;
		printf&#40;&quot;************************\n&quot;&#41;;
		printf&#40;&quot;O que voc\? deseja fazer?\n&quot;&#41;;
		printf&#40;&quot;\t1 - Jogar truco\n&quot;&#41;;
		printf&#40;&quot;\t2 - Ver ranking\n&quot;&#41;;
		printf&#40;&quot;\t3 - Sobre...\n&quot;&#41;;
		printf&#40;&quot;\t4 - Sair\n&quot;&#41;;
		printf&#40;&quot;\nDigite uma op\?\Æo&#58;&quot;&#41;;
		scanf&#40;&quot;%d&quot;,&amp;opcao&#41;;
		strcpy&#40;&amp;status&#91;1&#93;,&amp;truco&#41;;
		strcpy&#40;&amp;status&#91;2&#93;,&amp;seis&#41;;
		strcpy&#40;&amp;status&#91;3&#93;,&amp;nove&#41;;
		strcpy&#40;&amp;status&#91;4&#93;,&amp;doze&#41;;
		/*Verifica possíveis entradas erradas*/
		if &#40;&#40;opcao&lt;1&#41;||&#40;opcao&gt;opcoes&#41;&#41;
		&#123;
			printf&#40;&quot;\a\n\nVALOR INCORRETO!\n\n&quot;&#41;;
			printf&#40;&quot;Por favor escolha uma op\?\Æo entre 1 e %d\n\n&quot;, opcoes&#41;;
			system&#40;&quot;Pause&quot;&#41;;
		&#125;
		if &#40;opcao==1&#41;
		&#123;
			jogo&#40;&#41;;
		&#125;
		if &#40;opcao==2&#41;
		&#123;
			rank&#40;&#41;;
		&#125;
		if &#40;opcao==3&#41;
		&#123;
			sobre&#40;&#41;;
		&#125;
	&#125;
&#125;


void sobre&#40;void&#41;
&#123;
/**/	printf&#40;&quot;\n\n&quot;&#41;;
	printf&#40;&quot;Programa&#58; Super Truco\n&gt;&gt;&quot;&#41;;
	esp=getch&#40;&#41;;
	printf&#40;&quot;\nVers\Æo&#58; %3.2f\n&gt;&gt;&quot;,versao&#41;;
	esp=getch&#40;&#41;;
	printf&#40;&quot;\nAutores&#58;\n&quot;&#41;;
	printf&#40;&quot;\t%s\n&quot;,autor1&#41;;
	printf&#40;&quot;\t%s\n&quot;,autor2&#41;;
	printf&#40;&quot;\t%s\n&gt;&gt;&quot;,autor3&#41;;
	esp=getch&#40;&#41;;
	printf&#40;&quot;\nComent\ rios\n&quot;&#41;;
	printf&#40;&quot;\t       Este programa foi feito em novembro de 2004 como trabalho\n&quot;&#41;;
	printf&#40;&quot;\tde conclus\Æo da disciplina de Processamento de Dados &#40;PRD&#41; da \n&quot;&#41;;
	printf&#40;&quot;\t3\¦ fase do curso de Engenharia El\?trica da Universidade do Estado\n&quot;&#41;;
	printf&#40;&quot;\tde Santa Catarina &#40;UDESC&#41;.\n&gt;&gt;&quot;&#41;;
	esp=getch&#40;&#41;;
&#125;


void rank&#40;void&#41;
&#123;
	char 	car;
	int	i;
	if &#40;&#40;arq=fopen&#40;&quot;rank.txt&quot;,&quot;r&quot;&#41;&#41;==NULL&#41;
	&#123;
		arq=fopen&#40;&quot;Rank.txt&quot;,&quot;w&quot;&#41;;
		for &#40;i=0; i&lt;100; i++&#41;
			fprintf&#40;arq,&quot;%s %d %d %d\n&quot;,vazio,0,0,0&#41;;
		fclose&#40;arq&#41;;
		arq=fopen&#40;&quot;rank.txt&quot;,&quot;r&quot;&#41;;
	&#125;
	printf&#40;&quot;\n&quot;&#41;;
	printf&#40;&quot; Rank -%15s\t%10s\t%8s%10s\n\n&quot;,jog,part,vit,sal&#41;;
	for &#40;i=0; i&lt;10; i++&#41;
	&#123;
		fscanf&#40;arq,&quot;%s%d%d%d&quot;,ranknomes&#91;i&#93;,&amp;rankpartidas&#91;i&#93;,&amp;rankvitorias&#91;i&#93;,&amp;rankpts&#91;i&#93;&#41;;
		printf&#40;&quot;%3d   -%15s\t%8d\t%5d\t%9d\n&quot;,i+1,ranknomes&#91;i&#93;,rankpartidas&#91;i&#93;,rankvitorias&#91;i&#93;,rankpts&#91;i&#93;&#41;;
	&#125;
	printf&#40;&quot;\n&quot;&#41;;
	system&#40;&quot;Pause&quot;&#41;;
	fclose&#40;arq&#41;;
	if &#40;&#40;strcmp&#40;&amp;ranknomes&#91;0&#93;,&amp;vazio&#41;&#41;!=0&#41;
	&#123;
		car='a';
		while &#40;&#40;car!='s'&#41;&amp;&amp;&#40;car!='n'&#41;&#41;
		&#123;
			printf&#40;&quot;\nVoc\? deseja limpar a lista?&#40;s/n&#41;\n&quot;&#41;;
			scanf&#40;&quot;%s&quot;,&amp;car&#41;;
			if &#40;car=='s'&#41;
			&#123;
				arq=fopen&#40;&quot;Rank.txt&quot;,&quot;w&quot;&#41;;
				for &#40;i=0; i&lt;100; i++&#41;
					fprintf&#40;arq,&quot;%s %d %d %d\n&quot;,vazio,0,0,0&#41;;
				printf&#40;&quot;Lista limpa!\n\n&quot;&#41;;
				system&#40;&quot;Pause&quot;&#41;;
			&#125;
			fclose&#40;arq&#41;;
		&#125;
	&#125;
&#125;


void jogo&#40;void&#41;
&#123;
	char ch&#91;5&#93;, tipo&#91;40&#93;, car;
	int i, primeira, vale, naipe0, naipe1, valor;

			srand&#40;time&#40;NULL&#41;&#41;;
			for &#40;i=0; i&lt;40; i++&#41;
				matriz&#91;i&#93;=39-i;

	
	/*Pede o nome do jogador*/
	printf&#40;&quot;\n\nDigite seu nome&#58;&quot;&#41;;
	scanf&#40;&quot;%s&quot;,&amp;nome&#41;;
	pnts&#91;0&#93;=0;
	pnts&#91;1&#93;=0;
	primeiro=sorteia&#40;2&#41;;
	rodada=0;
	vitorias=0;
	npartidas=0;
	saldo=0;
	while &#40;&#40;pnts&#91;0&#93;&lt;ptsmax&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;ptsmax&#41;&#41;
	&#123;
		/*embaralha as cartas*/
		embaralha&#40;&#41;;
		/*Distribui as cartas entre os jogadores*/
		distribui&#40;&#41;;
		/*Atribui uma pontuação as cartas para fins de comparação do valor das mesmas*/
		atribui&#40;&#41;;
		pntsrod&#91;0&#93;=0;
		pntsrod&#91;1&#93;=0;
		inicial=primeiro;
		turno=-1;
		estado=0;
		vale=0;
		last=2;
		local=1;
		sorteado=sorteia&#40;40&#41;;
		while &#40;&#40;pntsrod&#91;0&#93;&lt;2&#41;&amp;&amp;&#40;pntsrod&#91;1&#93;&lt;2&#41;&#41;
		&#123;
			printf&#40;&quot;\n***********************************\n&quot;&#41;;
			turno=turno+1;
			mesa&#91;1&#93;&#91;turno&#93;=-1;
			/*Os jogadores jogam as cartas*/
			pcordena&#40;&#41;;
			continua=TRUE;
			if &#40;&#40;pnts&#91;0&#93;==11&#41;&amp;&amp;&#40;pnts&#91;1&#93;==11&#41;&#41;
			&#123;
				printf&#40;&quot;\n\t*** Escurinha! ***\n&quot;&#41;;
			&#125;
			if &#40;inicial==0&#41;
			&#123;
				if &#40;&#40;&#40;pnts&#91;0&#93;==11&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;11&#41;&#41;&amp;&amp;&#40;turno==0&#41;&#41;
				&#123;
					printf&#40;&quot;Pc est\  com m\Æo de 11.\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					if &#40;qly&lt;45&#41;
					&#123;
						printf&#40;&quot;\nPc correu.\n&gt;&gt;&quot;&#41;;
						pntsrod&#91;1&#93;=3;
						continua=FALSE;
					&#125;
					else
					&#123;
						printf&#40;&quot;\nPc aceitou.\n&gt;&gt;&quot;&#41;;
						estado=1;
						last=-1;
					&#125;
				esp=getch&#40;&#41;;
				&#125;
				if &#40;&#40;&#40;pnts&#91;1&#93;==11&#41;&amp;&amp;&#40;pnts&#91;0&#93;&lt;11&#41;&#41;&amp;&amp;&#40;turno==0&#41;&#41;
				&#123;
					printf&#40;&quot;Voc\? est\  com m\Æo de 11.\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					printf&#40;&quot;\nVirada&#58; %c %c\n&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
					printf&#40;&quot;\nSua m\Æo \?&#58;\n&quot;&#41;;
					for &#40;i=0; i&lt;3; i++&#41;
					&#123;
						tipo&#91;0&#93;='\0';
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
							strcpy&#40;&amp;tipo,&amp;g&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
							strcpy&#40;&amp;tipo,&amp;c&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
							strcpy&#40;&amp;tipo,&amp;e&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
							strcpy&#40;&amp;tipo,&amp;m&#41;;
						printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
					&#125;
					car='a';
					while &#40;&#40;car!='s'&#41;&amp;&amp;&#40;car!='n'&#41;&#41;
					&#123;
						printf&#40;&quot;Voc\? aceita?&#40;s/n&#41;&quot;&#41;;
						scanf&#40;&quot;%s&quot;,&amp;car&#41;;
					&#125;
					if &#40;car=='n'&#41;
					&#123;
						pntsrod&#91;0&#93;=3;
						continua=FALSE;
					&#125;
					else
					&#123;
						estado=1;
						last=-1;
					&#125;
				&#125;
				if &#40;continua==TRUE&#41;
					pctruca&#40;&#41;;
				if &#40;continua==TRUE&#41;
					pcplay&#40;&#41;;
				local=2;
				if &#40;continua==TRUE&#41;
					jgtruca&#40;&#41;;
				if &#40;continua==TRUE&#41;
					jgplay&#40;&#41;;
			&#125;
			else
			&#123;
				if &#40;&#40;&#40;pnts&#91;0&#93;==11&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;11&#41;&#41;&amp;&amp;&#40;turno==0&#41;&#41;
				&#123;
					printf&#40;&quot;Pc est\  com m\Æo de 11.\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					if &#40;qly&lt;60&#41;
					&#123;
						printf&#40;&quot;\nPc correu.\n&gt;&gt;&quot;&#41;;
						pntsrod&#91;1&#93;=3;
						continua=FALSE;
					&#125;
					else
					&#123;
						printf&#40;&quot;\nPc aceitou.\n&gt;&gt;&quot;&#41;;
						estado=1;
						last=-1;
					&#125;
				esp=getch&#40;&#41;;
				&#125;
				if &#40;&#40;&#40;pnts&#91;1&#93;==11&#41;&amp;&amp;&#40;pnts&#91;0&#93;&lt;11&#41;&#41;&amp;&amp;&#40;turno==0&#41;&#41;
				&#123;
					printf&#40;&quot;Voc\? est\  com m\Æo de 11.\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					printf&#40;&quot;\nVirada&#58; %c %c\n&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
					printf&#40;&quot;\nSua m\Æo \?&#58;\n&quot;&#41;;
					for &#40;i=0; i&lt;3; i++&#41;
					&#123;
						tipo&#91;0&#93;='\0';
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
							strcpy&#40;&amp;tipo,&amp;g&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
							strcpy&#40;&amp;tipo,&amp;c&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
							strcpy&#40;&amp;tipo,&amp;e&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
							strcpy&#40;&amp;tipo,&amp;m&#41;;
						printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
					&#125;
					car='a';
					while &#40;&#40;car!='s'&#41;&amp;&amp;&#40;car!='n'&#41;&#41;
					&#123;
						printf&#40;&quot;Voc\? aceita?&#40;s/n&#41;&quot;&#41;;
						scanf&#40;&quot;%s&quot;,&amp;car&#41;;
					&#125;
					if &#40;car=='n'&#41;
					&#123;
						pntsrod&#91;0&#93;=3;
						continua=FALSE;
					&#125;
					else
					&#123;
						estado=1;
						last=-1;
					&#125;
				&#125;
				local=1;
				if &#40;continua==TRUE&#41;
					jgtruca&#40;&#41;;
				if &#40;continua==TRUE&#41;
					jgplay&#40;&#41;;
				if &#40;continua==TRUE&#41;
					pctruca&#40;&#41;;
				if &#40;continua==TRUE&#41;
					pcplay&#40;&#41;;
			&#125;
        	    	if &#40;&#40;pntsrod&#91;0&#93;&lt;2&#41;&amp;&amp;&#40;pntsrod&#91;1&#93;&lt;2&#41;&#41;
	           	&#123;           
				/*Avalia o resultado do turno*/
				if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;
				&#123;
					inicial=0;
					if &#40;&#40;vale==1&#41;||&#40;vale==2&#41;&#41;
						pntsrod&#91;0&#93;=3;
					else
						pntsrod&#91;0&#93;++;
					if &#40;turno==0&#41;
						primeira=0;
					printf&#40;&quot;\nPc levou este turno.\n&gt;&gt;&quot;&#41;;
				&#125;
				if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;&lt;cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;
				&#123;
					inicial=1;
					if &#40;&#40;vale==1&#41;||&#40;vale==2&#41;&#41;
						pntsrod&#91;1&#93;=3;
					else
						pntsrod&#91;1&#93;++;
					if &#40;turno==0&#41;
						primeira=1;
					printf&#40;&quot;\nVoc\? levou este turno.\n&gt;&gt;&quot;&#41;;
				&#125;
				if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;
				&#123;
					if &#40;turno==0&#41;
					&#123;
						vale=1;
						printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
					&#125;
					if &#40;turno==1&#41;
						if &#40;vale==0&#41;
						&#123;
							pntsrod&#91;primeira&#93;=3;
							printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
						&#125;
						else
						&#123;
							vale=2;
							printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
						&#125;
					if &#40;turno==2&#41;
					&#123;
						if &#40;vale==2&#41;
						&#123;
							naipe0=&#40;int&#41;&#40;mesa&#91;1&#93;&#91;3&#93;/10&#41;;
							naipe1=&#40;int&#41;&#40;mesa&#91;1&#93;&#91;3&#93;/10&#41;;
							if &#40;naipe0&gt;naipe1&#41;
							&#123;
								pntsrod&#91;0&#93;=3;
								printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
							&#125;
							else
							&#123;
								pntsrod&#91;1&#93;=3;
								printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
							&#125;
						&#125;
						else
						&#123;
							pntsrod&#91;primeira&#93;=3;
							printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
						&#125;
					&#125;	
				&#125;
				esp=getch&#40;&#41;;
			&#125;
		&#125;
		printf&#40;&quot;\n***********************************\n&quot;&#41;;
		valor=estado*3;
		if &#40;estado==0&#41;
			valor=1;
		if &#40;pntsrod&#91;0&#93;&gt;=2&#41;
		&#123;
			if &#40;pnts&#91;0&#93;==11&#41;
				valor=1;
			pnts&#91;0&#93;=pnts&#91;0&#93;+valor;
			if &#40;valor==1&#41;
				printf&#40;&quot;\nPc ganhou 1 ponto\n&quot;&#41;;
			else
               			printf&#40;&quot;\nPc ganhou %d pontos\n&quot;,valor&#41;;
            		printf&#40;&quot;\n***********************************\n&quot;&#41;;
           	&#125;
		if &#40;pntsrod&#91;1&#93;&gt;=2&#41;
		&#123;
			if &#40;pnts&#91;1&#93;==11&#41;
				valor=1;
			if &#40;valor==1&#41;
				printf&#40;&quot;\nVoc\? ganhou 1 ponto\n&quot;&#41;;
			else
               			printf&#40;&quot;\nVoc\? ganhou %d pontos\n&quot;,valor&#41;;
			pnts&#91;1&#93;=pnts&#91;1&#93;+valor;
            		printf&#40;&quot;\n***********************************\n&quot;&#41;;
		&#125;
		esp=getch&#40;&#41;;
		if &#40;pnts&#91;0&#93;&gt;12&#41;
			pnts&#91;0&#93;=12;
		if &#40;pnts&#91;1&#93;&gt;12&#41;
			pnts&#91;1&#93;=12;
		printf&#40;&quot;\n\tPLACAR PARCIAL\n&quot;&#41;;
		printf&#40;&quot;\t---------------------\n\t Pc =   %d\n&quot;,pnts&#91;0&#93;&#41;;
		printf&#40;&quot;\t---------------------\n\t %s =   %d\n&quot;,nome,pnts&#91;1&#93;&#41;;
		printf&#40;&quot;\t---------------------\n&quot;&#41;;
		printf&#40;&quot;&gt;&gt;&quot;&#41;;
		esp=getch&#40;&#41;;
		if &#40;&#40;pnts&#91;0&#93;&gt;=ptsmax&#41;||&#40;pnts&#91;1&#93;&gt;=ptsmax&#41;&#41;
		&#123;
			if &#40;pnts&#91;0&#93;&gt;=ptsmax&#41;
			&#123;
				npartidas++;
				saldo=pnts&#91;1&#93;-ptsmax;
		    		printf&#40;&quot;\n\n\tVOC\Ò PERDEU!!!\n\n&quot;&#41;;
	      		&#125;
			if &#40;pnts&#91;1&#93;&gt;=ptsmax&#41;
			&#123;
				vitorias++;
				npartidas++;
				saldo=ptsmax-pnts&#91;0&#93;;
				printf&#40;&quot;\n\n\tVOC\Ò GANHOU!!!\n\n&quot;&#41;;
			&#125;
			system&#40;&quot;Pause&quot;&#41;;
		&#125;
		if &#40;primeiro==0&#41;
			primeiro++;
		else
		    	primeiro--;
        	rodada++;
	&#125;
	save&#40;&#41;;
&#125;

void embaralha&#40;void&#41;
&#123;
	int num, i, j, k;
	char ch&#91;2&#93;;
	for &#40;i=0; i&lt;40; i++&#41;
	&#123;
		num=sorteia&#40;40-i&#41;;
		baralho&#91;i&#93;=matriz&#91;num&#93;;
		for &#40;j=num; j&lt;&#40;39&#41;; j++&#41;
			matriz&#91;j&#93;=matriz&#91;j+1&#93;;
	&#125;
	for &#40;i=0; i&lt;40; i++&#41;
		matriz&#91;i&#93;=baralho&#91;i&#93;;
&#125;

int sorteia&#40;int max&#41;
&#123;
	return &#40;&#40;int&#41;max*rand&#40;&#41;/&#40;RAND_MAX+1&#41;&#41;;
&#125;

void distribui&#40;void&#41;
&#123;
	int	a, b, i;
	for &#40;a=0; a&lt;3; a++&#41;
	&#123;
		for &#40;b=0; b&lt;2; b++&#41;
		&#123;
			mao&#91;b&#93;&#91;a&#93;=baralho&#91;a*2+b&#93;;
		&#125;
	&#125;
	virada=baralho&#91;6&#93;;
	printf&#40;&quot;\n***********************************\n&quot;&#41;;
	printf&#40;&quot;Rodada %2d&quot;,rodada+1&#41;;
	printf&#40;&quot;\n&gt;&gt;&quot;&#41;;
	esp=getch&#40;&#41;;
	if &#40;primeiro==0&#41;
	    printf&#40;&quot;\nPc come\?a!\n&gt;&gt;&quot;&#41;;
   	else
        	printf&#40;&quot;\nVoc\? come\?a!\n&gt;&gt;&quot;&#41;;
    	printf&#40;&quot;&quot;&#41;;
    	esp=getch&#40;&#41;;
&#125;

void pcplay&#40;void&#41;
&#123;
	int num, i, j, wx, ql, jogou, valormao;
	char tipo&#91;40&#93;;
	
	


	/*Pc escolhe carta para jogar*/
	if &#40;inicial==0&#41;
	&#123;
		if &#40;&#40;pntsrod&#91;0&#93;==0&#41;&amp;&amp;&#40;turno&gt;0&#41;&#41;
		&#123;
			if &#40;cartas&#91;mao&#91;0&#93;&#91;1&#93;&#93;&gt;6&#41;
				num=sorteia&#40;3-turno&#41;;
			else
				num=0;
		&#125;
		else
			num=sorteia&#40;3-turno&#41;;
	&#125;
	if &#40;&#40;pnts&#91;0&#93;==11&#41;||&#40;pnts&#91;1&#93;==11&#41;&#41;
		num=sorteia&#40;3-turno&#41;;
	if &#40;inicial==1&#41;
	&#123;
		jogou=FALSE;
		for &#40;i=&#40;2-turno&#41;; i&gt;=0; i--&#41;
		&#123;
			if &#40;&#40;cartas&#91;mao&#91;0&#93;&#91;i&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;&amp;&amp;&#40;jogou==FALSE&#41;&#41;
			&#123;
				num=i;
				jogou=TRUE;
			&#125;
		&#125;
		if &#40;jogou==FALSE&#41;
			for &#40;i=&#40;2-turno&#41;; i&gt;=0; i--&#41;
			&#123;
				if &#40;&#40;cartas&#91;mao&#91;0&#93;&#91;i&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;&amp;&amp;&#40;jogou==FALSE&#41;&#41;
				&#123;
					num=i;
					jogou=TRUE;
				&#125;
			&#125;
		if &#40;jogou==FALSE&#41;
			num=2-turno;
		if &#40;&#40;pntsrod&#91;0&#93;==pntsrod&#91;1&#93;&#41;&amp;&amp;&#40;turno!=0&#41;&#41;
			num=0;
	&#125;

	tipo&#91;0&#93;='\0';
	mesa&#91;0&#93;&#91;turno&#93;=mao&#91;0&#93;&#91;num&#93;;
	for &#40;i=num; i&lt;&#40;2-turno&#41;; i++&#41;
		mao&#91;0&#93;&#91;i&#93;=mao&#91;0&#93;&#91;i+1&#93;;
	if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==13&#41;
		strcpy&#40;&amp;tipo,&amp;g&#41;;
	if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==12&#41;
		strcpy&#40;&amp;tipo,&amp;c&#41;;
	if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==11&#41;
		strcpy&#40;&amp;tipo,&amp;e&#41;;
	if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==10&#41;
		strcpy&#40;&amp;tipo,&amp;m&#41;;
	printf&#40;&quot;\nPc jogou&#58;  %c %c  %s\n&quot;,carta&#40;mesa&#91;0&#93;&#91;turno&#93;&#41;,toon&#40;mesa&#91;0&#93;&#91;turno&#93;&#41;,tipo&#41;;
	printf&#40;&quot;&gt;&gt;&quot;&#41;;
	esp=getch&#40;&#41;;
&#125;

void jgplay&#40;void&#41;
&#123;
	int num, i, vle;
	char tipo&#91;40&#93;;
	num=10;
	while &#40;&#40;num&lt;0&#41;||&#40;num&gt;&#40;2-turno&#41;&#41;&#41;
	&#123;
	   	printf&#40;&quot;\nVirada&#58;  %c %c\n&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
		if &#40;&#40;pnts&#91;0&#93;==11&#41;&amp;&amp;&#40;pnts&#91;1&#93;==11&#41;&#41;
		&#123;
			printf&#40;&quot;\nQue carta voc\? quer jogar?&#40;1&quot;&#41;;
			for &#40;i=1; i&lt;&#40;3-turno&#41;; i++&#41;
				printf&#40;&quot;/%d&quot;,i+1&#41;;
			printf&#40;&quot;&#41;\n&quot;&#41;;
			scanf&#40;&quot;%d&quot;,&amp;num&#41;;
			num--;			
		&#125;
		else
		&#123;
			printf&#40;&quot;\nQue carta voc\? quer jogar?\n&quot;&#41;;
			for &#40;i=0; i&lt;&#40;3-turno&#41;; i++&#41;
			&#123;
				tipo&#91;0&#93;='\0';
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
					strcpy&#40;&amp;tipo,&amp;g&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
					strcpy&#40;&amp;tipo,&amp;c&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
					strcpy&#40;&amp;tipo,&amp;e&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
					strcpy&#40;&amp;tipo,&amp;m&#41;;
	        		printf&#40;&quot;%d - %c %c %s\n&quot;,i+1,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
			&#125;
			scanf&#40;&quot;%d&quot;,&amp;num&#41;;
			num--;
		&#125;
		if &#40;&#40;num&lt;0&#41;||&#40;num&gt;&#40;2-turno&#41;&#41;&#41;
		&#123;
			printf&#40;&quot;\a\n\tVALOR INCORRETO!!\n&quot;&#41;;
			printf&#40;&quot;\nDigite sua op\?\Æo entre 0 e %d\n&quot;,&#40;2-turno&#41;&#41;;
			system&#40;&quot;Pause&quot;&#41;;
		&#125;
		else
        	&#123;
			tipo&#91;0&#93;='\0';
			if &#40;cartas&#91;mao&#91;1&#93;&#91;num&#93;&#93;==13&#41;
				strcpy&#40;&amp;tipo,&amp;g&#41;;
			if &#40;cartas&#91;mao&#91;1&#93;&#91;num&#93;&#93;==12&#41;
				strcpy&#40;&amp;tipo,&amp;c&#41;;
			if &#40;cartas&#91;mao&#91;1&#93;&#91;num&#93;&#93;==11&#41;
				strcpy&#40;&amp;tipo,&amp;e&#41;;
			if &#40;cartas&#91;mao&#91;1&#93;&#91;num&#93;&#93;==10&#41;
				strcpy&#40;&amp;tipo,&amp;m&#41;;
                       	printf&#40;&quot;Voc\? jogou&#58; %c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;num&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;num&#93;&#41;,tipo&#41;;
	                printf&#40;&quot;&gt;&gt;&quot;&#41;;
   	    	&#125;
	        esp=getch&#40;&#41;;
	&#125;
	mesa&#91;1&#93;&#91;turno&#93;=mao&#91;1&#93;&#91;num&#93;;
	for &#40;i=num; i&lt;&#40;2-turno&#41;; i++&#41;
		mao&#91;1&#93;&#91;i&#93;=mao&#91;1&#93;&#91;i+1&#93;;	
&#125;

void atribui&#40;void&#41;
&#123;
	int vle, a, i, j, card;
	if &#40;&#40;virada%10&#41;&lt;9&#41;
	&#123;
		card=&#40;virada%10&#41;+1;
	&#125;
	else	
		card=0;
	vle=0;
	for &#40;i=0; i&lt;4; i++&#41;
	&#123;
		vle=0;
		for &#40;j=0; j&lt;10; j++&#41;
		&#123;
			if &#40;card==j&#41;
				cartas&#91;10*i+j&#93;=10+i;
			else
			&#123;
				cartas&#91;10*i+j&#93;=vle;
				vle=vle+1;
			&#125;
		&#125;
	&#125;
&#125;

char toon&#40;int card&#41;
&#123;
	int vle, x;
	vle=&#40;int&#41;&#40;card/10&#41;;
	if &#40;vle==0&#41;
		x=4;
	if &#40;vle==1&#41;
		x=6;
	if &#40;vle==2&#41;
		x=3;
	if &#40;vle==3&#41;
		x=5;
	return &#40;&quot;%c&quot;,x&#41;;
&#125;

char carta&#40;int card&#41;
&#123;
	int vle;
	char x;
	vle=card%10;
	if &#40;vle&gt;7&#41;
		x=&#40;&quot;\c&quot;,42+vle&#41;;
	if &#40;vle==7&#41;
		x='A';
	if &#40;vle==6&#41;
		x='K';
	if &#40;vle==5&#41;
		x='J';
	if &#40;vle==4&#41;
		x='Q';
	if &#40;vle&lt;4&#41;
		x=&#40;&quot;%c&quot;,52+vle&#41;;
	return x;
&#125;

void save&#40;void&#41;
&#123;
	int	i, pos, njogadores, pontos, j;
	char	nm&#91;40&#93;;

	/*Abre o arquivo para leitura, se existir*/
	if &#40;&#40;arq=fopen&#40;&quot;Rank.TXT&quot;,&quot;r&quot;&#41;&#41;!=NULL&#41;
	&#123;
		/*Obtem os nomes e a pontuação*/		
		for &#40;i=0; i&lt;100; i++&#41;
		&#123;
			fscanf&#40;arq,&quot;%s%d%d%d&quot;,&amp;ranknomes&#91;i&#93;,&amp;rankpartidas&#91;i&#93;,&amp;rankvitorias&#91;i&#93;,&amp;rankpts&#91;i&#93;&#41;;
		&#125;
	&#125;


	/*senão, o cria*/
	else
	&#123;
		arq=fopen&#40;&quot;Rank.txt&quot;,&quot;w&quot;&#41;;
		for &#40;i=0; i&lt;100; i++&#41;
		&#123;
			fprintf&#40;arq,&quot;%s %d %d %d\n&quot;,vazio,0,0,0&#41;;
			strcpy&#40;&amp;ranknomes&#91;i&#93;,&amp;vazio&#41;;
			rankpartidas&#91;i&#93;=0;
			rankvitorias&#91;i&#93;=0;
			rankpts&#91;i&#93;=0;
		&#125;
	&#125;


	/*fecha o arquivo*/
	fclose&#40;arq&#41;;


	/*procura o nome e conta o número de jogadores na lista*/
	njogadores=0;
	pos=-1;
	i=0;
	while &#40;&#40;pos==-1&#41;||&#40;i==njogadores&#41;&#41;
	&#123;
		if &#40;strcmp&#40;&amp;ranknomes&#91;i&#93;,&amp;nome&#41;==0&#41;
			pos=i;
		if &#40;&#40;pos==-1&#41;&amp;&amp;&#40;i==99&#41;&#41;
			pos=100;
		if &#40;strcmp&#40;&amp;ranknomes&#91;i&#93;,&amp;vazio&#41;!=0&#41;
			njogadores++;
		i++;
	&#125;


	/*se encontrar, acrescenta ou diminui seus pontos*/
	if &#40;pos&lt;100&#41;
	&#123;
		rankpartidas&#91;pos&#93;=rankpartidas&#91;pos&#93;+npartidas;
		rankpts&#91;pos&#93;=rankpts&#91;pos&#93;+saldo;
		rankvitorias&#91;pos&#93;=rankvitorias&#91;pos&#93;+vitorias;
	&#125;


	/*senão, adiciona-lhe ao final da lista*/
	else
	&#123;
		njogadores++;
		rankpartidas&#91;njogadores-1&#93;=npartidas;
		rankvitorias&#91;njogadores-1&#93;=vitorias;
		rankpts&#91;njogadores-1&#93;=saldo;
		strcpy&#40;&amp;ranknomes&#91;njogadores-1&#93;,&amp;nome&#41;;
	&#125;


	/*ordena a lista em forma decrescente*/
	for &#40;i=0; i&lt;&#40;njogadores-1&#41;; i++&#41;
	&#123;
		for &#40;j=0; j&lt;&#40;njogadores-1&#41;; j++&#41;
		&#123;
			if &#40;rankvitorias&#91;j&#93;&lt;rankvitorias&#91;j+1&#93;&#41;
			&#123;
				pontos=rankpts&#91;j&#93;;
				rankpts&#91;j&#93;=rankpts&#91;j+1&#93;;
				rankpts&#91;j+1&#93;=pontos;

				pontos=rankvitorias&#91;j&#93;;
				rankvitorias&#91;j&#93;=rankvitorias&#91;j+1&#93;;
				rankvitorias&#91;j+1&#93;=pontos;

				pontos=rankpartidas&#91;j&#93;;
				rankpartidas&#91;j&#93;=rankpartidas&#91;j+1&#93;;
				rankpartidas&#91;j+1&#93;=pontos;

				strcpy&#40;&amp;nm,&amp;ranknomes&#91;j&#93;&#41;;
				strcpy&#40;&amp;ranknomes&#91;j&#93;,&amp;ranknomes&#91;j+1&#93;&#41;;
				strcpy&#40;&amp;ranknomes&#91;j+1&#93;,&amp;nm&#41;;
			&#125;
			else
			&#123;
				if &#40;rankvitorias&#91;j&#93;==rankvitorias&#91;j+1&#93;&#41;
				&#123;
					if &#40;rankpts&#91;j&#93;&lt;rankpts&#91;j+1&#93;&#41;
					&#123;
						pontos=rankpts&#91;j&#93;;
						rankpts&#91;j&#93;=rankpts&#91;j+1&#93;;
						rankpts&#91;j+1&#93;=pontos;

						pontos=rankvitorias&#91;j&#93;;
						rankvitorias&#91;j&#93;=rankvitorias&#91;j+1&#93;;
						rankvitorias&#91;j+1&#93;=pontos;
	
						pontos=rankpartidas&#91;j&#93;;
						rankpartidas&#91;j&#93;=rankpartidas&#91;j+1&#93;;
						rankpartidas&#91;j+1&#93;=pontos;
	
						strcpy&#40;&amp;nm,&amp;ranknomes&#91;j&#93;&#41;;
						strcpy&#40;&amp;ranknomes&#91;j&#93;,&amp;ranknomes&#91;j+1&#93;&#41;;
						strcpy&#40;&amp;ranknomes&#91;j+1&#93;,&amp;nm&#41;;
					&#125;
					else
					&#123;
						if &#40;rankpts&#91;j&#93;==rankpts&#91;j+1&#93;&#41;
						&#123;
							if &#40;rankpartidas&#91;j&#93;&lt;rankpartidas&#91;j+1&#93;&#41;
							&#123;
								pontos=rankpts&#91;j&#93;;
								rankpts&#91;j&#93;=rankpts&#91;j+1&#93;;
								rankpts&#91;j+1&#93;=pontos;

								pontos=rankvitorias&#91;j&#93;;
								rankvitorias&#91;j&#93;=rankvitorias&#91;j+1&#93;;
								rankvitorias&#91;j+1&#93;=pontos;
			
								pontos=rankpartidas&#91;j&#93;;
								rankpartidas&#91;j&#93;=rankpartidas&#91;j+1&#93;;
								rankpartidas&#91;j+1&#93;=pontos;
	
								strcpy&#40;&amp;nm,&amp;ranknomes&#91;j&#93;&#41;;
								strcpy&#40;&amp;ranknomes&#91;j&#93;,&amp;ranknomes&#91;j+1&#93;&#41;;
								strcpy&#40;&amp;ranknomes&#91;j+1&#93;,&amp;nm&#41;;
							&#125;
						&#125;
					&#125;
				&#125;
			&#125;
		&#125;
	&#125;


	/*recria o arquivo para escrita*/
	if &#40;&#40;arq=fopen&#40;&quot;Rank.txt&quot;,&quot;w&quot;&#41;&#41;==NULL&#41;
	&#123;
		printf&#40;&quot;\n\aErro de leitura.\nO arquivo 'Rank.Txt' pode estar corrompido ou danificado.\n&quot;&#41;;
	&#125;
	else
	&#123;
		/*escreve os dados da lista*/
		for &#40;i=0; i&lt;100; i++&#41;
		&#123;
			fprintf&#40;arq,&quot;%s %d %d %d\n&quot;,ranknomes&#91;i&#93;,rankpartidas&#91;i&#93;,rankvitorias&#91;i&#93;,rankpts&#91;i&#93;&#41;;
		&#125;
	&#125;


	/*fecha o arquivo*/
	fclose&#40;arq&#41;;
&#125;

void pcpensa&#40;void&#41;
&#123;
	int i, valormao;
	valormao=0;
	for &#40;i=0; i&lt;&#40;3-turno&#41;; i++&#41;
		valormao=valormao+cartas&#91;mao&#91;0&#93;&#91;i&#93;&#93;;
	qly=3*valormao;
	if &#40;turno==0&#41;
	&#123;
		if &#40;inicial==1&#41;
		&#123;
			for &#40;i=0; i&lt;3; i++&#41;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;i&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;0&#93;&#93;&#41;
					qly=qly+5;
			if &#40;qly==&#40;3*valormao&#41;&#41;
			&#123;
				qly=25+sorteia&#40;50&#41;;	/*Facão*/
			&#125;
		&#125;
	&#125;
	if &#40;turno==1&#41;
	&#123;
		if &#40;pntsrod&#91;0&#93;==1&#41;
		&#123;
			qly=5*valormao;
			if &#40;cartas&#91;mesa&#91;0&#93;&#91;1&#93;&#93;==-1&#41;
			&#123;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;&gt;=10&#41;
					qly=60;
				if &#40;cartas&#91;mao&#91;9&#93;&#91;1&#93;&#93;&gt;=8&#41;
					qly=qly+20;
			&#125;
			else
			&#123;
				if &#40;cartas&#91;mesa&#91;0&#93;&#91;1&#93;&#93;&gt;=11&#41;
					qly=65;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;1&#93;&#93;&gt;=9&#41;
					qly=90;
			&#125;
			if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;==13&#41;
				qly=100;
		&#125;
		if &#40;pntsrod&#91;1&#93;==1&#41;
		&#123;
			if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;&lt;cartas&#91;mesa&#91;1&#93;&#91;1&#93;&#93;&#41;
			&#123;
					qly=30+sorteia&#40;50&#41;;	/*Facão*/
			&#125;
			else
			&#123;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;1&#93;&#93;&lt;cartas&#91;mesa&#91;1&#93;&#91;1&#93;&#93;&#41;
				&#123;
						qly=20+sorteia&#40;50&#41;;	/*Facão*/
				&#125;
				else
				&#123;
					qly=4*valormao+sorteado;
				&#125;
			&#125;
		&#125;
		else
		&#123;
			qly=6*cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;+2*cartas&#91;mao&#91;0&#93;&#91;1&#93;&#93;+sorteado;
		&#125;
	&#125;
	if &#40;turno==2&#41;
	&#123;
		if &#40;inicial==1&#41;
		&#123;
			if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;2&#93;&#93;&#41;
			&#123;
				qly=100;
			&#125;
			else
			&#123;
				if &#40;&#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;==cartas&#91;mesa&#91;1&#93;&#91;2&#93;&#93;&#41;&amp;&amp;&#40;cartas&#91;mesa&#91;0&#93;&#91;0&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;0&#93;&#93;&#41;&#41;
				&#123;
					qly=100;
				&#125;
				else
				&#123;
						qly=30+sorteia&#40;60&#41;;	/*Facão*/
				&#125;
			&#125;			
		&#125;
		if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;==13&#41;
			qly=100;
	&#125;
&#125;

void pctruca&#40;void&#41;
&#123;
	int	num, i;
	char	tipo&#91;40&#93;;
	pcpensa&#40;&#41;;
	if &#40;&#40;&#40;pnts&#91;0&#93;&lt;11&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;11&#41;&#41;&amp;&amp;&#40;&#40;&#40;last==1&#41;||&#40;last==2&#41;&#41;&amp;&amp;&#40;estado&lt;4&#41;&#41;&#41;
	&#123;
		if &#40;qly&gt;&#40;50+sorteia&#40;20&#41;+estado*8&#41;&#41;
		&#123;
			printf&#40;&quot;\nPc pediu %s.\n&gt;&gt;&quot;,status&#91;estado+1&#93;&#41;;
			esp=getch&#40;&#41;;
			printf&#40;&quot;\nVirada&#58; %c %c\n&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
			printf&#40;&quot;\nSua m\Æo \?&#58;\n&quot;&#41;;
			if &#40;mesa&#91;1&#93;&#91;turno&#93;==-1&#41;
			&#123;
				for &#40;i=0; i&lt;&#40;3-turno&#41;; i++&#41;
				&#123;
					tipo&#91;0&#93;='\0';
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
						strcpy&#40;&amp;tipo,&amp;g&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
						strcpy&#40;&amp;tipo,&amp;c&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
						strcpy&#40;&amp;tipo,&amp;e&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
						strcpy&#40;&amp;tipo,&amp;m&#41;;
					printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
				&#125;
			&#125;
			else
			&#123;
				for &#40;i=0; i&lt;&#40;2-turno&#41;; i++&#41;
				&#123;
					tipo&#91;0&#93;='\0';
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
						strcpy&#40;&amp;tipo,&amp;g&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
						strcpy&#40;&amp;tipo,&amp;c&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
						strcpy&#40;&amp;tipo,&amp;e&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
						strcpy&#40;&amp;tipo,&amp;m&#41;;
					printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
				&#125;
			&#125;		
			printf&#40;&quot;Digite&#58;\n1 - Aceitar;\n2 - Correr\n&quot;&#41;;
			if &#40;estado&lt;3&#41;
				printf&#40;&quot;3 - Pedir '%s'\n&quot;,status&#91;estado+2&#93;&#41;;
			scanf&#40;&quot;%d&quot;,&amp;num&#41;;
			if &#40;num==1&#41;
			&#123;
				estado++;
				last=0;
			&#125;
			if &#40;num==2&#41;
			&#123;
				continua=FALSE;
				pntsrod&#91;0&#93;=3;
			&#125;
			if &#40;num==3&#41;
			&#123;
				last=0;
				estado++;
				local=0;
				jgtruca&#40;&#41;;
			&#125;
			
		&#125;
	&#125;
&#125;

void pcordena&#40;void&#41;
&#123;
	int	i, j, wx;
	/*Ordena as cartas do pc no primeiro turno*/
	if &#40;turno==0&#41;
	&#123;
		for &#40;i=0; i&lt;2; i++&#41;
			for &#40;j=0; j&lt;2; j++&#41;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;j&#93;&#93;&lt;cartas&#91;mao&#91;0&#93;&#91;j+1&#93;&#93;&#41;
				&#123;
					wx=mao&#91;0&#93;&#91;j&#93;;
					mao&#91;0&#93;&#91;j&#93;=mao&#91;0&#93;&#91;j+1&#93;;
					mao&#91;0&#93;&#91;j+1&#93;=wx;
				&#125;
	&#125;
&#125;

void jgtruca&#40;void&#41;
&#123;
	char	car;
	char	tipo&#91;40&#93;;
	int	cont, i, num;
	if &#40;&#40;&#40;pnts&#91;0&#93;&lt;11&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;11&#41;&#41;&amp;&amp;&#40;&#40;&#40;last==0&#41;||&#40;last==2&#41;&#41;&amp;&amp;&#40;estado&lt;4&#41;&#41;&#41;
	&#123;
		cont=TRUE;
		if &#40;local!=0&#41;
		&#123;
			printf&#40;&quot;\nVirada&#58; %c %c&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
			printf&#40;&quot;\nSua m\Æo \?&#58;\n&quot;&#41;;
			for &#40;i=0; i&lt;&#40;3-turno&#41;; i++&#41;
			&#123;
				tipo&#91;0&#93;='\0';
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
					strcpy&#40;&amp;tipo,&amp;g&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
					strcpy&#40;&amp;tipo,&amp;c&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
					strcpy&#40;&amp;tipo,&amp;e&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
					strcpy&#40;&amp;tipo,&amp;m&#41;;
				printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
			&#125;
			num=0;
			while &#40;&#40;num!=1&#41;&amp;&amp;&#40;num!=2&#41;&#41;
			&#123;
				printf&#40;&quot;\nVoc\? quer pedir %s?\n&quot;,status&#91;estado+1&#93;&#41;;
				printf&#40;&quot;1 - Sim\n&quot;&#41;;
				printf&#40;&quot;2 - N\Æo\n&quot;&#41;;
				scanf&#40;&quot;%d&quot;,&amp;num&#41;;
			&#125;

			if &#40;num==2&#41;
				cont=FALSE;
		&#125;
		if &#40;cont==TRUE&#41;
		&#123;
			pcpensa&#40;&#41;;
			if &#40;&#40;qly&gt;&#40;sorteia&#40;10&#41;+&#40;estado+1&#41;*8+40&#41;&#41;&amp;&amp;&#40;&#40;qly&lt;&#40;sorteia&#40;10&#41;+&#40;estado+2&#41;*8+40&#41;&#41;&#41;||&#40;estado&gt;2&#41;&#41;
			&#123;
				estado++;
				last=1;
				printf&#40;&quot;\nPc aceitou!\n&gt;&gt;&quot;&#41;;
				esp=getch&#40;&#41;;
			&#125;
			else
			&#123;
				if &#40;&#40;qly&gt;&#40;sorteia&#40;10&#41;+&#40;estado+2&#41;*8+40&#41;&#41;&amp;&amp;&#40;estado&lt;3&#41;&#41;
				&#123;
					estado++;
					last=1;
					printf&#40;&quot;\nPc aceitou!\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					pctruca&#40;&#41;;
				&#125;
				else
				&#123;
					continua=FALSE;
					pntsrod&#91;1&#93;=3;
					printf&#40;&quot;\nPc correu!\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
				&#125;
			&#125;
		&#125;
	&#125;
&#125;
'; if (cartas[mao[1][i]]==13) strcpy(&tipo,&g); if (cartas[mao[1][i]]==12) strcpy(&tipo,&c); if (cartas[mao[1][i]]==11) strcpy(&tipo,&e); if (cartas[mao[1][i]]==10) strcpy(&tipo,&m); printf("%c %c %s\n",carta(mao[1][i]),toon(mao[1][i]),tipo); } car='a'; while ((car!='s')&&(car!='n')) { printf("Voc\? aceita?(s/n)"); scanf("%s",&car); } if (car=='n') { pntsrod[0]=3; continua=FALSE; } else { estado=1; last=-1; } } if (continua==TRUE) pctruca(); if (continua==TRUE) pcplay(); local=2; if (continua==TRUE) jgtruca(); if (continua==TRUE) jgplay(); } else { if (((pnts[0]==11)&&(pnts[1]<11))&&(turno==0)) { printf("Pc est\ com m\Æo de 11.\n>>"); esp=getch(); if (qly<60) { printf("\nPc correu.\n>>"); pntsrod[1]=3; continua=FALSE; } else { printf("\nPc aceitou.\n>>"); estado=1; last=-1; } esp=getch(); } if (((pnts[1]==11)&&(pnts[0]<11))&&(turno==0)) { printf("Voc\? est\ com m\Æo de 11.\n>>"); esp=getch(); printf("\nVirada: %c %c\n",carta(virada),toon(virada)); printf("\nSua m\Æo \?:\n"); for (i=0; i<3; i++) { tipo[0]='
/*Jogo de truco em C*/
/*Versão 0.20*/


/*Bibliotecas utilizadas*/
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;string.h&gt;


/*Estados&#58;
	0=normal
	1=trucado
	2=vale seis
	3=vale nove
	4=vale doze
		*/


/*Constantes*/
#define opcoes 4
#define versao 0.20
#define TRUE 1
#define FALSE 0
#define ptsmax 12
#define g &quot;&#40;Gato&#41;&quot;
#define c &quot;&#40;Copas&#41;&quot;
#define e &quot;&#40;Espadilha&#41;&quot;
#define m &quot;&#40;Mole&#41;&quot;
#define truco &quot;truco&quot;
#define seis &quot;seis&quot;
#define nove &quot;nove&quot;
#define doze &quot;doze&quot;
#define vazio &quot;vazio&quot;
#define autor2 &quot;Celito Gregolon J\£nior&quot;     /*Ordem alfabética*/
#define autor1 &quot;Carlos Eduardo Weber&quot;
#define autor3 &quot;Ricardo Oenning&quot;
#define part &quot;Partidas&quot;
#define sal &quot;Pontos&quot;
#define jog &quot;Jogador&quot;
#define vit &quot;Vit\¢rias&quot;


/*Variáveis Globais*/
char	nome&#91;40&#93;=&quot;Design&quot;;
int 	pnts&#91;2&#93;;
int	pntsrod&#91;2&#93;;
int	baralho&#91;40&#93;;
int	matriz&#91;40&#93;;
int 	mao&#91;2&#93;&#91;3&#93;;
int	mesa&#91;2&#93;&#91;3&#93;;
int	cartas&#91;40&#93;;
char	ranknomes&#91;100&#93;&#91;40&#93;;
int	rankpts&#91;100&#93;;
int	rankpartidas&#91;100&#93;;
int	rankvitorias&#91;100&#93;;
FILE 	*fl;
FILE 	*arq;
int	primeiro, virada, turno, rodada, estado, last, saldo, inicial, continua, qly, sorteado, local, npartidas, vitorias;
char	status&#91;6&#93;&#91;10&#93;=&#123;vazio,truco,seis,nove,doze,vazio&#125;;
char	esp;


/*Funções e procedimentos definidos*/
void 	embaralha&#40;void&#41;;
int	sorteia&#40;int max&#41;;
void	distribui&#40;void&#41;;
void	pcplay&#40;void&#41;;
void	jgplay&#40;void&#41;;
void	atribui&#40;void&#41;;
char 	toon&#40;int card&#41;;
char	carta&#40;int card&#41;;
void    save&#40;void&#41;;
void	pcpensa&#40;void&#41;;
void	pctruca&#40;void&#41;;
void	pcordena&#40;void&#41;;
void	jgtruca&#40;void&#41;;
void	jogo&#40;void&#41;;
void	sobre&#40;void&#41;;
void	rank&#40;void&#41;;


/*Principal*/
void main&#40;&#41;
&#123;
	/*Variáveis locais*/
	int opcao, i;


	/*Início*/
	opcao=opcoes+1;
	while &#40;opcao!=opcoes&#41;
	&#123;
		/* Pede para que o usuário escolha uma opção*/
		printf&#40;&quot;\n&quot;&#41;;
		printf&#40;&quot;************************\n&quot;&#41;;
		printf&#40;&quot;O que voc\? deseja fazer?\n&quot;&#41;;
		printf&#40;&quot;\t1 - Jogar truco\n&quot;&#41;;
		printf&#40;&quot;\t2 - Ver ranking\n&quot;&#41;;
		printf&#40;&quot;\t3 - Sobre...\n&quot;&#41;;
		printf&#40;&quot;\t4 - Sair\n&quot;&#41;;
		printf&#40;&quot;\nDigite uma op\?\Æo&#58;&quot;&#41;;
		scanf&#40;&quot;%d&quot;,&amp;opcao&#41;;
		strcpy&#40;&amp;status&#91;1&#93;,&amp;truco&#41;;
		strcpy&#40;&amp;status&#91;2&#93;,&amp;seis&#41;;
		strcpy&#40;&amp;status&#91;3&#93;,&amp;nove&#41;;
		strcpy&#40;&amp;status&#91;4&#93;,&amp;doze&#41;;
		/*Verifica possíveis entradas erradas*/
		if &#40;&#40;opcao&lt;1&#41;||&#40;opcao&gt;opcoes&#41;&#41;
		&#123;
			printf&#40;&quot;\a\n\nVALOR INCORRETO!\n\n&quot;&#41;;
			printf&#40;&quot;Por favor escolha uma op\?\Æo entre 1 e %d\n\n&quot;, opcoes&#41;;
			system&#40;&quot;Pause&quot;&#41;;
		&#125;
		if &#40;opcao==1&#41;
		&#123;
			jogo&#40;&#41;;
		&#125;
		if &#40;opcao==2&#41;
		&#123;
			rank&#40;&#41;;
		&#125;
		if &#40;opcao==3&#41;
		&#123;
			sobre&#40;&#41;;
		&#125;
	&#125;
&#125;


void sobre&#40;void&#41;
&#123;
/**/	printf&#40;&quot;\n\n&quot;&#41;;
	printf&#40;&quot;Programa&#58; Super Truco\n&gt;&gt;&quot;&#41;;
	esp=getch&#40;&#41;;
	printf&#40;&quot;\nVers\Æo&#58; %3.2f\n&gt;&gt;&quot;,versao&#41;;
	esp=getch&#40;&#41;;
	printf&#40;&quot;\nAutores&#58;\n&quot;&#41;;
	printf&#40;&quot;\t%s\n&quot;,autor1&#41;;
	printf&#40;&quot;\t%s\n&quot;,autor2&#41;;
	printf&#40;&quot;\t%s\n&gt;&gt;&quot;,autor3&#41;;
	esp=getch&#40;&#41;;
	printf&#40;&quot;\nComent\ rios\n&quot;&#41;;
	printf&#40;&quot;\t       Este programa foi feito em novembro de 2004 como trabalho\n&quot;&#41;;
	printf&#40;&quot;\tde conclus\Æo da disciplina de Processamento de Dados &#40;PRD&#41; da \n&quot;&#41;;
	printf&#40;&quot;\t3\¦ fase do curso de Engenharia El\?trica da Universidade do Estado\n&quot;&#41;;
	printf&#40;&quot;\tde Santa Catarina &#40;UDESC&#41;.\n&gt;&gt;&quot;&#41;;
	esp=getch&#40;&#41;;
&#125;


void rank&#40;void&#41;
&#123;
	char 	car;
	int	i;
	if &#40;&#40;arq=fopen&#40;&quot;rank.txt&quot;,&quot;r&quot;&#41;&#41;==NULL&#41;
	&#123;
		arq=fopen&#40;&quot;Rank.txt&quot;,&quot;w&quot;&#41;;
		for &#40;i=0; i&lt;100; i++&#41;
			fprintf&#40;arq,&quot;%s %d %d %d\n&quot;,vazio,0,0,0&#41;;
		fclose&#40;arq&#41;;
		arq=fopen&#40;&quot;rank.txt&quot;,&quot;r&quot;&#41;;
	&#125;
	printf&#40;&quot;\n&quot;&#41;;
	printf&#40;&quot; Rank -%15s\t%10s\t%8s%10s\n\n&quot;,jog,part,vit,sal&#41;;
	for &#40;i=0; i&lt;10; i++&#41;
	&#123;
		fscanf&#40;arq,&quot;%s%d%d%d&quot;,ranknomes&#91;i&#93;,&amp;rankpartidas&#91;i&#93;,&amp;rankvitorias&#91;i&#93;,&amp;rankpts&#91;i&#93;&#41;;
		printf&#40;&quot;%3d   -%15s\t%8d\t%5d\t%9d\n&quot;,i+1,ranknomes&#91;i&#93;,rankpartidas&#91;i&#93;,rankvitorias&#91;i&#93;,rankpts&#91;i&#93;&#41;;
	&#125;
	printf&#40;&quot;\n&quot;&#41;;
	system&#40;&quot;Pause&quot;&#41;;
	fclose&#40;arq&#41;;
	if &#40;&#40;strcmp&#40;&amp;ranknomes&#91;0&#93;,&amp;vazio&#41;&#41;!=0&#41;
	&#123;
		car='a';
		while &#40;&#40;car!='s'&#41;&amp;&amp;&#40;car!='n'&#41;&#41;
		&#123;
			printf&#40;&quot;\nVoc\? deseja limpar a lista?&#40;s/n&#41;\n&quot;&#41;;
			scanf&#40;&quot;%s&quot;,&amp;car&#41;;
			if &#40;car=='s'&#41;
			&#123;
				arq=fopen&#40;&quot;Rank.txt&quot;,&quot;w&quot;&#41;;
				for &#40;i=0; i&lt;100; i++&#41;
					fprintf&#40;arq,&quot;%s %d %d %d\n&quot;,vazio,0,0,0&#41;;
				printf&#40;&quot;Lista limpa!\n\n&quot;&#41;;
				system&#40;&quot;Pause&quot;&#41;;
			&#125;
			fclose&#40;arq&#41;;
		&#125;
	&#125;
&#125;


void jogo&#40;void&#41;
&#123;
	char ch&#91;5&#93;, tipo&#91;40&#93;, car;
	int i, primeira, vale, naipe0, naipe1, valor;

			srand&#40;time&#40;NULL&#41;&#41;;
			for &#40;i=0; i&lt;40; i++&#41;
				matriz&#91;i&#93;=39-i;

	
	/*Pede o nome do jogador*/
	printf&#40;&quot;\n\nDigite seu nome&#58;&quot;&#41;;
	scanf&#40;&quot;%s&quot;,&amp;nome&#41;;
	pnts&#91;0&#93;=0;
	pnts&#91;1&#93;=0;
	primeiro=sorteia&#40;2&#41;;
	rodada=0;
	vitorias=0;
	npartidas=0;
	saldo=0;
	while &#40;&#40;pnts&#91;0&#93;&lt;ptsmax&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;ptsmax&#41;&#41;
	&#123;
		/*embaralha as cartas*/
		embaralha&#40;&#41;;
		/*Distribui as cartas entre os jogadores*/
		distribui&#40;&#41;;
		/*Atribui uma pontuação as cartas para fins de comparação do valor das mesmas*/
		atribui&#40;&#41;;
		pntsrod&#91;0&#93;=0;
		pntsrod&#91;1&#93;=0;
		inicial=primeiro;
		turno=-1;
		estado=0;
		vale=0;
		last=2;
		local=1;
		sorteado=sorteia&#40;40&#41;;
		while &#40;&#40;pntsrod&#91;0&#93;&lt;2&#41;&amp;&amp;&#40;pntsrod&#91;1&#93;&lt;2&#41;&#41;
		&#123;
			printf&#40;&quot;\n***********************************\n&quot;&#41;;
			turno=turno+1;
			mesa&#91;1&#93;&#91;turno&#93;=-1;
			/*Os jogadores jogam as cartas*/
			pcordena&#40;&#41;;
			continua=TRUE;
			if &#40;&#40;pnts&#91;0&#93;==11&#41;&amp;&amp;&#40;pnts&#91;1&#93;==11&#41;&#41;
			&#123;
				printf&#40;&quot;\n\t*** Escurinha! ***\n&quot;&#41;;
			&#125;
			if &#40;inicial==0&#41;
			&#123;
				if &#40;&#40;&#40;pnts&#91;0&#93;==11&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;11&#41;&#41;&amp;&amp;&#40;turno==0&#41;&#41;
				&#123;
					printf&#40;&quot;Pc est\  com m\Æo de 11.\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					if &#40;qly&lt;45&#41;
					&#123;
						printf&#40;&quot;\nPc correu.\n&gt;&gt;&quot;&#41;;
						pntsrod&#91;1&#93;=3;
						continua=FALSE;
					&#125;
					else
					&#123;
						printf&#40;&quot;\nPc aceitou.\n&gt;&gt;&quot;&#41;;
						estado=1;
						last=-1;
					&#125;
				esp=getch&#40;&#41;;
				&#125;
				if &#40;&#40;&#40;pnts&#91;1&#93;==11&#41;&amp;&amp;&#40;pnts&#91;0&#93;&lt;11&#41;&#41;&amp;&amp;&#40;turno==0&#41;&#41;
				&#123;
					printf&#40;&quot;Voc\? est\  com m\Æo de 11.\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					printf&#40;&quot;\nVirada&#58; %c %c\n&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
					printf&#40;&quot;\nSua m\Æo \?&#58;\n&quot;&#41;;
					for &#40;i=0; i&lt;3; i++&#41;
					&#123;
						tipo&#91;0&#93;='\0';
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
							strcpy&#40;&amp;tipo,&amp;g&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
							strcpy&#40;&amp;tipo,&amp;c&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
							strcpy&#40;&amp;tipo,&amp;e&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
							strcpy&#40;&amp;tipo,&amp;m&#41;;
						printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
					&#125;
					car='a';
					while &#40;&#40;car!='s'&#41;&amp;&amp;&#40;car!='n'&#41;&#41;
					&#123;
						printf&#40;&quot;Voc\? aceita?&#40;s/n&#41;&quot;&#41;;
						scanf&#40;&quot;%s&quot;,&amp;car&#41;;
					&#125;
					if &#40;car=='n'&#41;
					&#123;
						pntsrod&#91;0&#93;=3;
						continua=FALSE;
					&#125;
					else
					&#123;
						estado=1;
						last=-1;
					&#125;
				&#125;
				if &#40;continua==TRUE&#41;
					pctruca&#40;&#41;;
				if &#40;continua==TRUE&#41;
					pcplay&#40;&#41;;
				local=2;
				if &#40;continua==TRUE&#41;
					jgtruca&#40;&#41;;
				if &#40;continua==TRUE&#41;
					jgplay&#40;&#41;;
			&#125;
			else
			&#123;
				if &#40;&#40;&#40;pnts&#91;0&#93;==11&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;11&#41;&#41;&amp;&amp;&#40;turno==0&#41;&#41;
				&#123;
					printf&#40;&quot;Pc est\  com m\Æo de 11.\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					if &#40;qly&lt;60&#41;
					&#123;
						printf&#40;&quot;\nPc correu.\n&gt;&gt;&quot;&#41;;
						pntsrod&#91;1&#93;=3;
						continua=FALSE;
					&#125;
					else
					&#123;
						printf&#40;&quot;\nPc aceitou.\n&gt;&gt;&quot;&#41;;
						estado=1;
						last=-1;
					&#125;
				esp=getch&#40;&#41;;
				&#125;
				if &#40;&#40;&#40;pnts&#91;1&#93;==11&#41;&amp;&amp;&#40;pnts&#91;0&#93;&lt;11&#41;&#41;&amp;&amp;&#40;turno==0&#41;&#41;
				&#123;
					printf&#40;&quot;Voc\? est\  com m\Æo de 11.\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					printf&#40;&quot;\nVirada&#58; %c %c\n&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
					printf&#40;&quot;\nSua m\Æo \?&#58;\n&quot;&#41;;
					for &#40;i=0; i&lt;3; i++&#41;
					&#123;
						tipo&#91;0&#93;='\0';
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
							strcpy&#40;&amp;tipo,&amp;g&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
							strcpy&#40;&amp;tipo,&amp;c&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
							strcpy&#40;&amp;tipo,&amp;e&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
							strcpy&#40;&amp;tipo,&amp;m&#41;;
						printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
					&#125;
					car='a';
					while &#40;&#40;car!='s'&#41;&amp;&amp;&#40;car!='n'&#41;&#41;
					&#123;
						printf&#40;&quot;Voc\? aceita?&#40;s/n&#41;&quot;&#41;;
						scanf&#40;&quot;%s&quot;,&amp;car&#41;;
					&#125;
					if &#40;car=='n'&#41;
					&#123;
						pntsrod&#91;0&#93;=3;
						continua=FALSE;
					&#125;
					else
					&#123;
						estado=1;
						last=-1;
					&#125;
				&#125;
				local=1;
				if &#40;continua==TRUE&#41;
					jgtruca&#40;&#41;;
				if &#40;continua==TRUE&#41;
					jgplay&#40;&#41;;
				if &#40;continua==TRUE&#41;
					pctruca&#40;&#41;;
				if &#40;continua==TRUE&#41;
					pcplay&#40;&#41;;
			&#125;
        	    	if &#40;&#40;pntsrod&#91;0&#93;&lt;2&#41;&amp;&amp;&#40;pntsrod&#91;1&#93;&lt;2&#41;&#41;
	           	&#123;           
				/*Avalia o resultado do turno*/
				if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;
				&#123;
					inicial=0;
					if &#40;&#40;vale==1&#41;||&#40;vale==2&#41;&#41;
						pntsrod&#91;0&#93;=3;
					else
						pntsrod&#91;0&#93;++;
					if &#40;turno==0&#41;
						primeira=0;
					printf&#40;&quot;\nPc levou este turno.\n&gt;&gt;&quot;&#41;;
				&#125;
				if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;&lt;cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;
				&#123;
					inicial=1;
					if &#40;&#40;vale==1&#41;||&#40;vale==2&#41;&#41;
						pntsrod&#91;1&#93;=3;
					else
						pntsrod&#91;1&#93;++;
					if &#40;turno==0&#41;
						primeira=1;
					printf&#40;&quot;\nVoc\? levou este turno.\n&gt;&gt;&quot;&#41;;
				&#125;
				if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;
				&#123;
					if &#40;turno==0&#41;
					&#123;
						vale=1;
						printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
					&#125;
					if &#40;turno==1&#41;
						if &#40;vale==0&#41;
						&#123;
							pntsrod&#91;primeira&#93;=3;
							printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
						&#125;
						else
						&#123;
							vale=2;
							printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
						&#125;
					if &#40;turno==2&#41;
					&#123;
						if &#40;vale==2&#41;
						&#123;
							naipe0=&#40;int&#41;&#40;mesa&#91;1&#93;&#91;3&#93;/10&#41;;
							naipe1=&#40;int&#41;&#40;mesa&#91;1&#93;&#91;3&#93;/10&#41;;
							if &#40;naipe0&gt;naipe1&#41;
							&#123;
								pntsrod&#91;0&#93;=3;
								printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
							&#125;
							else
							&#123;
								pntsrod&#91;1&#93;=3;
								printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
							&#125;
						&#125;
						else
						&#123;
							pntsrod&#91;primeira&#93;=3;
							printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
						&#125;
					&#125;	
				&#125;
				esp=getch&#40;&#41;;
			&#125;
		&#125;
		printf&#40;&quot;\n***********************************\n&quot;&#41;;
		valor=estado*3;
		if &#40;estado==0&#41;
			valor=1;
		if &#40;pntsrod&#91;0&#93;&gt;=2&#41;
		&#123;
			if &#40;pnts&#91;0&#93;==11&#41;
				valor=1;
			pnts&#91;0&#93;=pnts&#91;0&#93;+valor;
			if &#40;valor==1&#41;
				printf&#40;&quot;\nPc ganhou 1 ponto\n&quot;&#41;;
			else
               			printf&#40;&quot;\nPc ganhou %d pontos\n&quot;,valor&#41;;
            		printf&#40;&quot;\n***********************************\n&quot;&#41;;
           	&#125;
		if &#40;pntsrod&#91;1&#93;&gt;=2&#41;
		&#123;
			if &#40;pnts&#91;1&#93;==11&#41;
				valor=1;
			if &#40;valor==1&#41;
				printf&#40;&quot;\nVoc\? ganhou 1 ponto\n&quot;&#41;;
			else
               			printf&#40;&quot;\nVoc\? ganhou %d pontos\n&quot;,valor&#41;;
			pnts&#91;1&#93;=pnts&#91;1&#93;+valor;
            		printf&#40;&quot;\n***********************************\n&quot;&#41;;
		&#125;
		esp=getch&#40;&#41;;
		if &#40;pnts&#91;0&#93;&gt;12&#41;
			pnts&#91;0&#93;=12;
		if &#40;pnts&#91;1&#93;&gt;12&#41;
			pnts&#91;1&#93;=12;
		printf&#40;&quot;\n\tPLACAR PARCIAL\n&quot;&#41;;
		printf&#40;&quot;\t---------------------\n\t Pc =   %d\n&quot;,pnts&#91;0&#93;&#41;;
		printf&#40;&quot;\t---------------------\n\t %s =   %d\n&quot;,nome,pnts&#91;1&#93;&#41;;
		printf&#40;&quot;\t---------------------\n&quot;&#41;;
		printf&#40;&quot;&gt;&gt;&quot;&#41;;
		esp=getch&#40;&#41;;
		if &#40;&#40;pnts&#91;0&#93;&gt;=ptsmax&#41;||&#40;pnts&#91;1&#93;&gt;=ptsmax&#41;&#41;
		&#123;
			if &#40;pnts&#91;0&#93;&gt;=ptsmax&#41;
			&#123;
				npartidas++;
				saldo=pnts&#91;1&#93;-ptsmax;
		    		printf&#40;&quot;\n\n\tVOC\Ò PERDEU!!!\n\n&quot;&#41;;
	      		&#125;
			if &#40;pnts&#91;1&#93;&gt;=ptsmax&#41;
			&#123;
				vitorias++;
				npartidas++;
				saldo=ptsmax-pnts&#91;0&#93;;
				printf&#40;&quot;\n\n\tVOC\Ò GANHOU!!!\n\n&quot;&#41;;
			&#125;
			system&#40;&quot;Pause&quot;&#41;;
		&#125;
		if &#40;primeiro==0&#41;
			primeiro++;
		else
		    	primeiro--;
        	rodada++;
	&#125;
	save&#40;&#41;;
&#125;

void embaralha&#40;void&#41;
&#123;
	int num, i, j, k;
	char ch&#91;2&#93;;
	for &#40;i=0; i&lt;40; i++&#41;
	&#123;
		num=sorteia&#40;40-i&#41;;
		baralho&#91;i&#93;=matriz&#91;num&#93;;
		for &#40;j=num; j&lt;&#40;39&#41;; j++&#41;
			matriz&#91;j&#93;=matriz&#91;j+1&#93;;
	&#125;
	for &#40;i=0; i&lt;40; i++&#41;
		matriz&#91;i&#93;=baralho&#91;i&#93;;
&#125;

int sorteia&#40;int max&#41;
&#123;
	return &#40;&#40;int&#41;max*rand&#40;&#41;/&#40;RAND_MAX+1&#41;&#41;;
&#125;

void distribui&#40;void&#41;
&#123;
	int	a, b, i;
	for &#40;a=0; a&lt;3; a++&#41;
	&#123;
		for &#40;b=0; b&lt;2; b++&#41;
		&#123;
			mao&#91;b&#93;&#91;a&#93;=baralho&#91;a*2+b&#93;;
		&#125;
	&#125;
	virada=baralho&#91;6&#93;;
	printf&#40;&quot;\n***********************************\n&quot;&#41;;
	printf&#40;&quot;Rodada %2d&quot;,rodada+1&#41;;
	printf&#40;&quot;\n&gt;&gt;&quot;&#41;;
	esp=getch&#40;&#41;;
	if &#40;primeiro==0&#41;
	    printf&#40;&quot;\nPc come\?a!\n&gt;&gt;&quot;&#41;;
   	else
        	printf&#40;&quot;\nVoc\? come\?a!\n&gt;&gt;&quot;&#41;;
    	printf&#40;&quot;&quot;&#41;;
    	esp=getch&#40;&#41;;
&#125;

void pcplay&#40;void&#41;
&#123;
	int num, i, j, wx, ql, jogou, valormao;
	char tipo&#91;40&#93;;
	
	


	/*Pc escolhe carta para jogar*/
	if &#40;inicial==0&#41;
	&#123;
		if &#40;&#40;pntsrod&#91;0&#93;==0&#41;&amp;&amp;&#40;turno&gt;0&#41;&#41;
		&#123;
			if &#40;cartas&#91;mao&#91;0&#93;&#91;1&#93;&#93;&gt;6&#41;
				num=sorteia&#40;3-turno&#41;;
			else
				num=0;
		&#125;
		else
			num=sorteia&#40;3-turno&#41;;
	&#125;
	if &#40;&#40;pnts&#91;0&#93;==11&#41;||&#40;pnts&#91;1&#93;==11&#41;&#41;
		num=sorteia&#40;3-turno&#41;;
	if &#40;inicial==1&#41;
	&#123;
		jogou=FALSE;
		for &#40;i=&#40;2-turno&#41;; i&gt;=0; i--&#41;
		&#123;
			if &#40;&#40;cartas&#91;mao&#91;0&#93;&#91;i&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;&amp;&amp;&#40;jogou==FALSE&#41;&#41;
			&#123;
				num=i;
				jogou=TRUE;
			&#125;
		&#125;
		if &#40;jogou==FALSE&#41;
			for &#40;i=&#40;2-turno&#41;; i&gt;=0; i--&#41;
			&#123;
				if &#40;&#40;cartas&#91;mao&#91;0&#93;&#91;i&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;&amp;&amp;&#40;jogou==FALSE&#41;&#41;
				&#123;
					num=i;
					jogou=TRUE;
				&#125;
			&#125;
		if &#40;jogou==FALSE&#41;
			num=2-turno;
		if &#40;&#40;pntsrod&#91;0&#93;==pntsrod&#91;1&#93;&#41;&amp;&amp;&#40;turno!=0&#41;&#41;
			num=0;
	&#125;

	tipo&#91;0&#93;='\0';
	mesa&#91;0&#93;&#91;turno&#93;=mao&#91;0&#93;&#91;num&#93;;
	for &#40;i=num; i&lt;&#40;2-turno&#41;; i++&#41;
		mao&#91;0&#93;&#91;i&#93;=mao&#91;0&#93;&#91;i+1&#93;;
	if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==13&#41;
		strcpy&#40;&amp;tipo,&amp;g&#41;;
	if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==12&#41;
		strcpy&#40;&amp;tipo,&amp;c&#41;;
	if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==11&#41;
		strcpy&#40;&amp;tipo,&amp;e&#41;;
	if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==10&#41;
		strcpy&#40;&amp;tipo,&amp;m&#41;;
	printf&#40;&quot;\nPc jogou&#58;  %c %c  %s\n&quot;,carta&#40;mesa&#91;0&#93;&#91;turno&#93;&#41;,toon&#40;mesa&#91;0&#93;&#91;turno&#93;&#41;,tipo&#41;;
	printf&#40;&quot;&gt;&gt;&quot;&#41;;
	esp=getch&#40;&#41;;
&#125;

void jgplay&#40;void&#41;
&#123;
	int num, i, vle;
	char tipo&#91;40&#93;;
	num=10;
	while &#40;&#40;num&lt;0&#41;||&#40;num&gt;&#40;2-turno&#41;&#41;&#41;
	&#123;
	   	printf&#40;&quot;\nVirada&#58;  %c %c\n&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
		if &#40;&#40;pnts&#91;0&#93;==11&#41;&amp;&amp;&#40;pnts&#91;1&#93;==11&#41;&#41;
		&#123;
			printf&#40;&quot;\nQue carta voc\? quer jogar?&#40;1&quot;&#41;;
			for &#40;i=1; i&lt;&#40;3-turno&#41;; i++&#41;
				printf&#40;&quot;/%d&quot;,i+1&#41;;
			printf&#40;&quot;&#41;\n&quot;&#41;;
			scanf&#40;&quot;%d&quot;,&amp;num&#41;;
			num--;			
		&#125;
		else
		&#123;
			printf&#40;&quot;\nQue carta voc\? quer jogar?\n&quot;&#41;;
			for &#40;i=0; i&lt;&#40;3-turno&#41;; i++&#41;
			&#123;
				tipo&#91;0&#93;='\0';
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
					strcpy&#40;&amp;tipo,&amp;g&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
					strcpy&#40;&amp;tipo,&amp;c&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
					strcpy&#40;&amp;tipo,&amp;e&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
					strcpy&#40;&amp;tipo,&amp;m&#41;;
	        		printf&#40;&quot;%d - %c %c %s\n&quot;,i+1,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
			&#125;
			scanf&#40;&quot;%d&quot;,&amp;num&#41;;
			num--;
		&#125;
		if &#40;&#40;num&lt;0&#41;||&#40;num&gt;&#40;2-turno&#41;&#41;&#41;
		&#123;
			printf&#40;&quot;\a\n\tVALOR INCORRETO!!\n&quot;&#41;;
			printf&#40;&quot;\nDigite sua op\?\Æo entre 0 e %d\n&quot;,&#40;2-turno&#41;&#41;;
			system&#40;&quot;Pause&quot;&#41;;
		&#125;
		else
        	&#123;
			tipo&#91;0&#93;='\0';
			if &#40;cartas&#91;mao&#91;1&#93;&#91;num&#93;&#93;==13&#41;
				strcpy&#40;&amp;tipo,&amp;g&#41;;
			if &#40;cartas&#91;mao&#91;1&#93;&#91;num&#93;&#93;==12&#41;
				strcpy&#40;&amp;tipo,&amp;c&#41;;
			if &#40;cartas&#91;mao&#91;1&#93;&#91;num&#93;&#93;==11&#41;
				strcpy&#40;&amp;tipo,&amp;e&#41;;
			if &#40;cartas&#91;mao&#91;1&#93;&#91;num&#93;&#93;==10&#41;
				strcpy&#40;&amp;tipo,&amp;m&#41;;
                       	printf&#40;&quot;Voc\? jogou&#58; %c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;num&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;num&#93;&#41;,tipo&#41;;
	                printf&#40;&quot;&gt;&gt;&quot;&#41;;
   	    	&#125;
	        esp=getch&#40;&#41;;
	&#125;
	mesa&#91;1&#93;&#91;turno&#93;=mao&#91;1&#93;&#91;num&#93;;
	for &#40;i=num; i&lt;&#40;2-turno&#41;; i++&#41;
		mao&#91;1&#93;&#91;i&#93;=mao&#91;1&#93;&#91;i+1&#93;;	
&#125;

void atribui&#40;void&#41;
&#123;
	int vle, a, i, j, card;
	if &#40;&#40;virada%10&#41;&lt;9&#41;
	&#123;
		card=&#40;virada%10&#41;+1;
	&#125;
	else	
		card=0;
	vle=0;
	for &#40;i=0; i&lt;4; i++&#41;
	&#123;
		vle=0;
		for &#40;j=0; j&lt;10; j++&#41;
		&#123;
			if &#40;card==j&#41;
				cartas&#91;10*i+j&#93;=10+i;
			else
			&#123;
				cartas&#91;10*i+j&#93;=vle;
				vle=vle+1;
			&#125;
		&#125;
	&#125;
&#125;

char toon&#40;int card&#41;
&#123;
	int vle, x;
	vle=&#40;int&#41;&#40;card/10&#41;;
	if &#40;vle==0&#41;
		x=4;
	if &#40;vle==1&#41;
		x=6;
	if &#40;vle==2&#41;
		x=3;
	if &#40;vle==3&#41;
		x=5;
	return &#40;&quot;%c&quot;,x&#41;;
&#125;

char carta&#40;int card&#41;
&#123;
	int vle;
	char x;
	vle=card%10;
	if &#40;vle&gt;7&#41;
		x=&#40;&quot;\c&quot;,42+vle&#41;;
	if &#40;vle==7&#41;
		x='A';
	if &#40;vle==6&#41;
		x='K';
	if &#40;vle==5&#41;
		x='J';
	if &#40;vle==4&#41;
		x='Q';
	if &#40;vle&lt;4&#41;
		x=&#40;&quot;%c&quot;,52+vle&#41;;
	return x;
&#125;

void save&#40;void&#41;
&#123;
	int	i, pos, njogadores, pontos, j;
	char	nm&#91;40&#93;;

	/*Abre o arquivo para leitura, se existir*/
	if &#40;&#40;arq=fopen&#40;&quot;Rank.TXT&quot;,&quot;r&quot;&#41;&#41;!=NULL&#41;
	&#123;
		/*Obtem os nomes e a pontuação*/		
		for &#40;i=0; i&lt;100; i++&#41;
		&#123;
			fscanf&#40;arq,&quot;%s%d%d%d&quot;,&amp;ranknomes&#91;i&#93;,&amp;rankpartidas&#91;i&#93;,&amp;rankvitorias&#91;i&#93;,&amp;rankpts&#91;i&#93;&#41;;
		&#125;
	&#125;


	/*senão, o cria*/
	else
	&#123;
		arq=fopen&#40;&quot;Rank.txt&quot;,&quot;w&quot;&#41;;
		for &#40;i=0; i&lt;100; i++&#41;
		&#123;
			fprintf&#40;arq,&quot;%s %d %d %d\n&quot;,vazio,0,0,0&#41;;
			strcpy&#40;&amp;ranknomes&#91;i&#93;,&amp;vazio&#41;;
			rankpartidas&#91;i&#93;=0;
			rankvitorias&#91;i&#93;=0;
			rankpts&#91;i&#93;=0;
		&#125;
	&#125;


	/*fecha o arquivo*/
	fclose&#40;arq&#41;;


	/*procura o nome e conta o número de jogadores na lista*/
	njogadores=0;
	pos=-1;
	i=0;
	while &#40;&#40;pos==-1&#41;||&#40;i==njogadores&#41;&#41;
	&#123;
		if &#40;strcmp&#40;&amp;ranknomes&#91;i&#93;,&amp;nome&#41;==0&#41;
			pos=i;
		if &#40;&#40;pos==-1&#41;&amp;&amp;&#40;i==99&#41;&#41;
			pos=100;
		if &#40;strcmp&#40;&amp;ranknomes&#91;i&#93;,&amp;vazio&#41;!=0&#41;
			njogadores++;
		i++;
	&#125;


	/*se encontrar, acrescenta ou diminui seus pontos*/
	if &#40;pos&lt;100&#41;
	&#123;
		rankpartidas&#91;pos&#93;=rankpartidas&#91;pos&#93;+npartidas;
		rankpts&#91;pos&#93;=rankpts&#91;pos&#93;+saldo;
		rankvitorias&#91;pos&#93;=rankvitorias&#91;pos&#93;+vitorias;
	&#125;


	/*senão, adiciona-lhe ao final da lista*/
	else
	&#123;
		njogadores++;
		rankpartidas&#91;njogadores-1&#93;=npartidas;
		rankvitorias&#91;njogadores-1&#93;=vitorias;
		rankpts&#91;njogadores-1&#93;=saldo;
		strcpy&#40;&amp;ranknomes&#91;njogadores-1&#93;,&amp;nome&#41;;
	&#125;


	/*ordena a lista em forma decrescente*/
	for &#40;i=0; i&lt;&#40;njogadores-1&#41;; i++&#41;
	&#123;
		for &#40;j=0; j&lt;&#40;njogadores-1&#41;; j++&#41;
		&#123;
			if &#40;rankvitorias&#91;j&#93;&lt;rankvitorias&#91;j+1&#93;&#41;
			&#123;
				pontos=rankpts&#91;j&#93;;
				rankpts&#91;j&#93;=rankpts&#91;j+1&#93;;
				rankpts&#91;j+1&#93;=pontos;

				pontos=rankvitorias&#91;j&#93;;
				rankvitorias&#91;j&#93;=rankvitorias&#91;j+1&#93;;
				rankvitorias&#91;j+1&#93;=pontos;

				pontos=rankpartidas&#91;j&#93;;
				rankpartidas&#91;j&#93;=rankpartidas&#91;j+1&#93;;
				rankpartidas&#91;j+1&#93;=pontos;

				strcpy&#40;&amp;nm,&amp;ranknomes&#91;j&#93;&#41;;
				strcpy&#40;&amp;ranknomes&#91;j&#93;,&amp;ranknomes&#91;j+1&#93;&#41;;
				strcpy&#40;&amp;ranknomes&#91;j+1&#93;,&amp;nm&#41;;
			&#125;
			else
			&#123;
				if &#40;rankvitorias&#91;j&#93;==rankvitorias&#91;j+1&#93;&#41;
				&#123;
					if &#40;rankpts&#91;j&#93;&lt;rankpts&#91;j+1&#93;&#41;
					&#123;
						pontos=rankpts&#91;j&#93;;
						rankpts&#91;j&#93;=rankpts&#91;j+1&#93;;
						rankpts&#91;j+1&#93;=pontos;

						pontos=rankvitorias&#91;j&#93;;
						rankvitorias&#91;j&#93;=rankvitorias&#91;j+1&#93;;
						rankvitorias&#91;j+1&#93;=pontos;
	
						pontos=rankpartidas&#91;j&#93;;
						rankpartidas&#91;j&#93;=rankpartidas&#91;j+1&#93;;
						rankpartidas&#91;j+1&#93;=pontos;
	
						strcpy&#40;&amp;nm,&amp;ranknomes&#91;j&#93;&#41;;
						strcpy&#40;&amp;ranknomes&#91;j&#93;,&amp;ranknomes&#91;j+1&#93;&#41;;
						strcpy&#40;&amp;ranknomes&#91;j+1&#93;,&amp;nm&#41;;
					&#125;
					else
					&#123;
						if &#40;rankpts&#91;j&#93;==rankpts&#91;j+1&#93;&#41;
						&#123;
							if &#40;rankpartidas&#91;j&#93;&lt;rankpartidas&#91;j+1&#93;&#41;
							&#123;
								pontos=rankpts&#91;j&#93;;
								rankpts&#91;j&#93;=rankpts&#91;j+1&#93;;
								rankpts&#91;j+1&#93;=pontos;

								pontos=rankvitorias&#91;j&#93;;
								rankvitorias&#91;j&#93;=rankvitorias&#91;j+1&#93;;
								rankvitorias&#91;j+1&#93;=pontos;
			
								pontos=rankpartidas&#91;j&#93;;
								rankpartidas&#91;j&#93;=rankpartidas&#91;j+1&#93;;
								rankpartidas&#91;j+1&#93;=pontos;
	
								strcpy&#40;&amp;nm,&amp;ranknomes&#91;j&#93;&#41;;
								strcpy&#40;&amp;ranknomes&#91;j&#93;,&amp;ranknomes&#91;j+1&#93;&#41;;
								strcpy&#40;&amp;ranknomes&#91;j+1&#93;,&amp;nm&#41;;
							&#125;
						&#125;
					&#125;
				&#125;
			&#125;
		&#125;
	&#125;


	/*recria o arquivo para escrita*/
	if &#40;&#40;arq=fopen&#40;&quot;Rank.txt&quot;,&quot;w&quot;&#41;&#41;==NULL&#41;
	&#123;
		printf&#40;&quot;\n\aErro de leitura.\nO arquivo 'Rank.Txt' pode estar corrompido ou danificado.\n&quot;&#41;;
	&#125;
	else
	&#123;
		/*escreve os dados da lista*/
		for &#40;i=0; i&lt;100; i++&#41;
		&#123;
			fprintf&#40;arq,&quot;%s %d %d %d\n&quot;,ranknomes&#91;i&#93;,rankpartidas&#91;i&#93;,rankvitorias&#91;i&#93;,rankpts&#91;i&#93;&#41;;
		&#125;
	&#125;


	/*fecha o arquivo*/
	fclose&#40;arq&#41;;
&#125;

void pcpensa&#40;void&#41;
&#123;
	int i, valormao;
	valormao=0;
	for &#40;i=0; i&lt;&#40;3-turno&#41;; i++&#41;
		valormao=valormao+cartas&#91;mao&#91;0&#93;&#91;i&#93;&#93;;
	qly=3*valormao;
	if &#40;turno==0&#41;
	&#123;
		if &#40;inicial==1&#41;
		&#123;
			for &#40;i=0; i&lt;3; i++&#41;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;i&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;0&#93;&#93;&#41;
					qly=qly+5;
			if &#40;qly==&#40;3*valormao&#41;&#41;
			&#123;
				qly=25+sorteia&#40;50&#41;;	/*Facão*/
			&#125;
		&#125;
	&#125;
	if &#40;turno==1&#41;
	&#123;
		if &#40;pntsrod&#91;0&#93;==1&#41;
		&#123;
			qly=5*valormao;
			if &#40;cartas&#91;mesa&#91;0&#93;&#91;1&#93;&#93;==-1&#41;
			&#123;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;&gt;=10&#41;
					qly=60;
				if &#40;cartas&#91;mao&#91;9&#93;&#91;1&#93;&#93;&gt;=8&#41;
					qly=qly+20;
			&#125;
			else
			&#123;
				if &#40;cartas&#91;mesa&#91;0&#93;&#91;1&#93;&#93;&gt;=11&#41;
					qly=65;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;1&#93;&#93;&gt;=9&#41;
					qly=90;
			&#125;
			if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;==13&#41;
				qly=100;
		&#125;
		if &#40;pntsrod&#91;1&#93;==1&#41;
		&#123;
			if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;&lt;cartas&#91;mesa&#91;1&#93;&#91;1&#93;&#93;&#41;
			&#123;
					qly=30+sorteia&#40;50&#41;;	/*Facão*/
			&#125;
			else
			&#123;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;1&#93;&#93;&lt;cartas&#91;mesa&#91;1&#93;&#91;1&#93;&#93;&#41;
				&#123;
						qly=20+sorteia&#40;50&#41;;	/*Facão*/
				&#125;
				else
				&#123;
					qly=4*valormao+sorteado;
				&#125;
			&#125;
		&#125;
		else
		&#123;
			qly=6*cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;+2*cartas&#91;mao&#91;0&#93;&#91;1&#93;&#93;+sorteado;
		&#125;
	&#125;
	if &#40;turno==2&#41;
	&#123;
		if &#40;inicial==1&#41;
		&#123;
			if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;2&#93;&#93;&#41;
			&#123;
				qly=100;
			&#125;
			else
			&#123;
				if &#40;&#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;==cartas&#91;mesa&#91;1&#93;&#91;2&#93;&#93;&#41;&amp;&amp;&#40;cartas&#91;mesa&#91;0&#93;&#91;0&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;0&#93;&#93;&#41;&#41;
				&#123;
					qly=100;
				&#125;
				else
				&#123;
						qly=30+sorteia&#40;60&#41;;	/*Facão*/
				&#125;
			&#125;			
		&#125;
		if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;==13&#41;
			qly=100;
	&#125;
&#125;

void pctruca&#40;void&#41;
&#123;
	int	num, i;
	char	tipo&#91;40&#93;;
	pcpensa&#40;&#41;;
	if &#40;&#40;&#40;pnts&#91;0&#93;&lt;11&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;11&#41;&#41;&amp;&amp;&#40;&#40;&#40;last==1&#41;||&#40;last==2&#41;&#41;&amp;&amp;&#40;estado&lt;4&#41;&#41;&#41;
	&#123;
		if &#40;qly&gt;&#40;50+sorteia&#40;20&#41;+estado*8&#41;&#41;
		&#123;
			printf&#40;&quot;\nPc pediu %s.\n&gt;&gt;&quot;,status&#91;estado+1&#93;&#41;;
			esp=getch&#40;&#41;;
			printf&#40;&quot;\nVirada&#58; %c %c\n&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
			printf&#40;&quot;\nSua m\Æo \?&#58;\n&quot;&#41;;
			if &#40;mesa&#91;1&#93;&#91;turno&#93;==-1&#41;
			&#123;
				for &#40;i=0; i&lt;&#40;3-turno&#41;; i++&#41;
				&#123;
					tipo&#91;0&#93;='\0';
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
						strcpy&#40;&amp;tipo,&amp;g&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
						strcpy&#40;&amp;tipo,&amp;c&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
						strcpy&#40;&amp;tipo,&amp;e&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
						strcpy&#40;&amp;tipo,&amp;m&#41;;
					printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
				&#125;
			&#125;
			else
			&#123;
				for &#40;i=0; i&lt;&#40;2-turno&#41;; i++&#41;
				&#123;
					tipo&#91;0&#93;='\0';
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
						strcpy&#40;&amp;tipo,&amp;g&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
						strcpy&#40;&amp;tipo,&amp;c&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
						strcpy&#40;&amp;tipo,&amp;e&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
						strcpy&#40;&amp;tipo,&amp;m&#41;;
					printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
				&#125;
			&#125;		
			printf&#40;&quot;Digite&#58;\n1 - Aceitar;\n2 - Correr\n&quot;&#41;;
			if &#40;estado&lt;3&#41;
				printf&#40;&quot;3 - Pedir '%s'\n&quot;,status&#91;estado+2&#93;&#41;;
			scanf&#40;&quot;%d&quot;,&amp;num&#41;;
			if &#40;num==1&#41;
			&#123;
				estado++;
				last=0;
			&#125;
			if &#40;num==2&#41;
			&#123;
				continua=FALSE;
				pntsrod&#91;0&#93;=3;
			&#125;
			if &#40;num==3&#41;
			&#123;
				last=0;
				estado++;
				local=0;
				jgtruca&#40;&#41;;
			&#125;
			
		&#125;
	&#125;
&#125;

void pcordena&#40;void&#41;
&#123;
	int	i, j, wx;
	/*Ordena as cartas do pc no primeiro turno*/
	if &#40;turno==0&#41;
	&#123;
		for &#40;i=0; i&lt;2; i++&#41;
			for &#40;j=0; j&lt;2; j++&#41;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;j&#93;&#93;&lt;cartas&#91;mao&#91;0&#93;&#91;j+1&#93;&#93;&#41;
				&#123;
					wx=mao&#91;0&#93;&#91;j&#93;;
					mao&#91;0&#93;&#91;j&#93;=mao&#91;0&#93;&#91;j+1&#93;;
					mao&#91;0&#93;&#91;j+1&#93;=wx;
				&#125;
	&#125;
&#125;

void jgtruca&#40;void&#41;
&#123;
	char	car;
	char	tipo&#91;40&#93;;
	int	cont, i, num;
	if &#40;&#40;&#40;pnts&#91;0&#93;&lt;11&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;11&#41;&#41;&amp;&amp;&#40;&#40;&#40;last==0&#41;||&#40;last==2&#41;&#41;&amp;&amp;&#40;estado&lt;4&#41;&#41;&#41;
	&#123;
		cont=TRUE;
		if &#40;local!=0&#41;
		&#123;
			printf&#40;&quot;\nVirada&#58; %c %c&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
			printf&#40;&quot;\nSua m\Æo \?&#58;\n&quot;&#41;;
			for &#40;i=0; i&lt;&#40;3-turno&#41;; i++&#41;
			&#123;
				tipo&#91;0&#93;='\0';
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
					strcpy&#40;&amp;tipo,&amp;g&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
					strcpy&#40;&amp;tipo,&amp;c&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
					strcpy&#40;&amp;tipo,&amp;e&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
					strcpy&#40;&amp;tipo,&amp;m&#41;;
				printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
			&#125;
			num=0;
			while &#40;&#40;num!=1&#41;&amp;&amp;&#40;num!=2&#41;&#41;
			&#123;
				printf&#40;&quot;\nVoc\? quer pedir %s?\n&quot;,status&#91;estado+1&#93;&#41;;
				printf&#40;&quot;1 - Sim\n&quot;&#41;;
				printf&#40;&quot;2 - N\Æo\n&quot;&#41;;
				scanf&#40;&quot;%d&quot;,&amp;num&#41;;
			&#125;

			if &#40;num==2&#41;
				cont=FALSE;
		&#125;
		if &#40;cont==TRUE&#41;
		&#123;
			pcpensa&#40;&#41;;
			if &#40;&#40;qly&gt;&#40;sorteia&#40;10&#41;+&#40;estado+1&#41;*8+40&#41;&#41;&amp;&amp;&#40;&#40;qly&lt;&#40;sorteia&#40;10&#41;+&#40;estado+2&#41;*8+40&#41;&#41;&#41;||&#40;estado&gt;2&#41;&#41;
			&#123;
				estado++;
				last=1;
				printf&#40;&quot;\nPc aceitou!\n&gt;&gt;&quot;&#41;;
				esp=getch&#40;&#41;;
			&#125;
			else
			&#123;
				if &#40;&#40;qly&gt;&#40;sorteia&#40;10&#41;+&#40;estado+2&#41;*8+40&#41;&#41;&amp;&amp;&#40;estado&lt;3&#41;&#41;
				&#123;
					estado++;
					last=1;
					printf&#40;&quot;\nPc aceitou!\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					pctruca&#40;&#41;;
				&#125;
				else
				&#123;
					continua=FALSE;
					pntsrod&#91;1&#93;=3;
					printf&#40;&quot;\nPc correu!\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
				&#125;
			&#125;
		&#125;
	&#125;
&#125;
'; if (cartas[mao[1][i]]==13) strcpy(&tipo,&g); if (cartas[mao[1][i]]==12) strcpy(&tipo,&c); if (cartas[mao[1][i]]==11) strcpy(&tipo,&e); if (cartas[mao[1][i]]==10) strcpy(&tipo,&m); printf("%c %c %s\n",carta(mao[1][i]),toon(mao[1][i]),tipo); } car='a'; while ((car!='s')&&(car!='n')) { printf("Voc\? aceita?(s/n)"); scanf("%s",&car); } if (car=='n') { pntsrod[0]=3; continua=FALSE; } else { estado=1; last=-1; } } local=1; if (continua==TRUE) jgtruca(); if (continua==TRUE) jgplay(); if (continua==TRUE) pctruca(); if (continua==TRUE) pcplay(); } if ((pntsrod[0]<2)&&(pntsrod[1]<2)) { /*Avalia o resultado do turno*/ if (cartas[mesa[0][turno]]>cartas[mesa[1][turno]]) { inicial=0; if ((vale==1)||(vale==2)) pntsrod[0]=3; else pntsrod[0]++; if (turno==0) primeira=0; printf("\nPc levou este turno.\n>>"); } if (cartas[mesa[0][turno]]>"); } if (cartas[mesa[0][turno]]==cartas[mesa[1][turno]]) { if (turno==0) { vale=1; printf("\nTurno empatado.\n>>"); } if (turno==1) if (vale==0) { pntsrod[primeira]=3; printf("\nTurno empatado.\n>>"); } else { vale=2; printf("\nTurno empatado.\n>>"); } if (turno==2) { if (vale==2) { naipe0=(int)(mesa[1][3]/10); naipe1=(int)(mesa[1][3]/10); if (naipe0>naipe1) { pntsrod[0]=3; printf("\nTurno empatado.\n>>"); } else { pntsrod[1]=3; printf("\nTurno empatado.\n>>"); } } else { pntsrod[primeira]=3; printf("\nTurno empatado.\n>>"); } } } esp=getch(); } } printf("\n***********************************\n"); valor=estado*3; if (estado==0) valor=1; if (pntsrod[0]>=2) { if (pnts[0]==11) valor=1; pnts[0]=pnts[0]+valor; if (valor==1) printf("\nPc ganhou 1 ponto\n"); else printf("\nPc ganhou %d pontos\n",valor); printf("\n***********************************\n"); } if (pntsrod[1]>=2) { if (pnts[1]==11) valor=1; if (valor==1) printf("\nVoc\? ganhou 1 ponto\n"); else printf("\nVoc\? ganhou %d pontos\n",valor); pnts[1]=pnts[1]+valor; printf("\n***********************************\n"); } esp=getch(); if (pnts[0]>12) pnts[0]=12; if (pnts[1]>12) pnts[1]=12; printf("\n\tPLACAR PARCIAL\n"); printf("\t---------------------\n\t Pc = %d\n",pnts[0]); printf("\t---------------------\n\t %s = %d\n",nome,pnts[1]); printf("\t---------------------\n"); printf(">>"); esp=getch(); if ((pnts[0]>=ptsmax)||(pnts[1]>=ptsmax)) { if (pnts[0]>=ptsmax) { npartidas++; saldo=pnts[1]-ptsmax; printf("\n\n\tVOC\Ò PERDEU!!!\n\n"); } if (pnts[1]>=ptsmax) { vitorias++; npartidas++; saldo=ptsmax-pnts[0]; printf("\n\n\tVOC\Ò GANHOU!!!\n\n"); } system("Pause"); } if (primeiro==0) primeiro++; else primeiro--; rodada++; } save(); }

void embaralha(void)
{
int num, i, j, k;
char ch[2];
for (i=0; i<40; i++)
{
num=sorteia(40-i);
baralho[i]=matriz[num];
for (j=num; j<(39); j++)
matriz[j]=matriz[j+1];
}
for (i=0; i<40; i++)
matriz[i]=baralho[i];
}

int sorteia(int max)
{
return ((int)max*rand()/(RAND_MAX+1));
}

void distribui(void)
{
int a, b, i;
for (a=0; a<3; a++)
{
for (b=0; b<2; b++)
{
mao[a]=baralho[a*2+b];
}
}
virada=baralho[6];
printf("\n***********************************\n");
printf("Rodada %2d",rodada+1);
printf("\n>>");
esp=getch();
if (primeiro==0)
printf("\nPc come\?a!\n>>");
else
printf("\nVoc\? come\?a!\n>>");
printf("");
esp=getch();
}

void pcplay(void)
{
int num, i, j, wx, ql, jogou, valormao;
char tipo[40];

/*Pc escolhe carta para jogar*/
if (inicial==0)
{
if ((pntsrod[0]==0)&&(turno>0))
{
if (cartas[mao[0][1]]>6)
num=sorteia(3-turno);
else
num=0;
}
else
num=sorteia(3-turno);
}
if ((pnts[0]==11)||(pnts[1]==11))
num=sorteia(3-turno);
if (inicial==1)
{
jogou=FALSE;
for (i=(2-turno); i>=0; i--)
{
if ((cartas[mao[0][i]]>cartas[mesa[1][turno]])&&(jogou==FALSE))
{
num=i;
jogou=TRUE;
}
}
if (jogou==FALSE)
for (i=(2-turno); i>=0; i--)
{
if ((cartas[mao[0][i]]>cartas[mesa[1][turno]])&&(jogou==FALSE))
{
num=i;
jogou=TRUE;
}
}
if (jogou==FALSE)
num=2-turno;
if ((pntsrod[0]==pntsrod[1])&&(turno!=0))
num=0;
}

tipo[0]='
/*Jogo de truco em C*/
/*Versão 0.20*/


/*Bibliotecas utilizadas*/
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;string.h&gt;


/*Estados&#58;
	0=normal
	1=trucado
	2=vale seis
	3=vale nove
	4=vale doze
		*/


/*Constantes*/
#define opcoes 4
#define versao 0.20
#define TRUE 1
#define FALSE 0
#define ptsmax 12
#define g &quot;&#40;Gato&#41;&quot;
#define c &quot;&#40;Copas&#41;&quot;
#define e &quot;&#40;Espadilha&#41;&quot;
#define m &quot;&#40;Mole&#41;&quot;
#define truco &quot;truco&quot;
#define seis &quot;seis&quot;
#define nove &quot;nove&quot;
#define doze &quot;doze&quot;
#define vazio &quot;vazio&quot;
#define autor2 &quot;Celito Gregolon J\£nior&quot;     /*Ordem alfabética*/
#define autor1 &quot;Carlos Eduardo Weber&quot;
#define autor3 &quot;Ricardo Oenning&quot;
#define part &quot;Partidas&quot;
#define sal &quot;Pontos&quot;
#define jog &quot;Jogador&quot;
#define vit &quot;Vit\¢rias&quot;


/*Variáveis Globais*/
char	nome&#91;40&#93;=&quot;Design&quot;;
int 	pnts&#91;2&#93;;
int	pntsrod&#91;2&#93;;
int	baralho&#91;40&#93;;
int	matriz&#91;40&#93;;
int 	mao&#91;2&#93;&#91;3&#93;;
int	mesa&#91;2&#93;&#91;3&#93;;
int	cartas&#91;40&#93;;
char	ranknomes&#91;100&#93;&#91;40&#93;;
int	rankpts&#91;100&#93;;
int	rankpartidas&#91;100&#93;;
int	rankvitorias&#91;100&#93;;
FILE 	*fl;
FILE 	*arq;
int	primeiro, virada, turno, rodada, estado, last, saldo, inicial, continua, qly, sorteado, local, npartidas, vitorias;
char	status&#91;6&#93;&#91;10&#93;=&#123;vazio,truco,seis,nove,doze,vazio&#125;;
char	esp;


/*Funções e procedimentos definidos*/
void 	embaralha&#40;void&#41;;
int	sorteia&#40;int max&#41;;
void	distribui&#40;void&#41;;
void	pcplay&#40;void&#41;;
void	jgplay&#40;void&#41;;
void	atribui&#40;void&#41;;
char 	toon&#40;int card&#41;;
char	carta&#40;int card&#41;;
void    save&#40;void&#41;;
void	pcpensa&#40;void&#41;;
void	pctruca&#40;void&#41;;
void	pcordena&#40;void&#41;;
void	jgtruca&#40;void&#41;;
void	jogo&#40;void&#41;;
void	sobre&#40;void&#41;;
void	rank&#40;void&#41;;


/*Principal*/
void main&#40;&#41;
&#123;
	/*Variáveis locais*/
	int opcao, i;


	/*Início*/
	opcao=opcoes+1;
	while &#40;opcao!=opcoes&#41;
	&#123;
		/* Pede para que o usuário escolha uma opção*/
		printf&#40;&quot;\n&quot;&#41;;
		printf&#40;&quot;************************\n&quot;&#41;;
		printf&#40;&quot;O que voc\? deseja fazer?\n&quot;&#41;;
		printf&#40;&quot;\t1 - Jogar truco\n&quot;&#41;;
		printf&#40;&quot;\t2 - Ver ranking\n&quot;&#41;;
		printf&#40;&quot;\t3 - Sobre...\n&quot;&#41;;
		printf&#40;&quot;\t4 - Sair\n&quot;&#41;;
		printf&#40;&quot;\nDigite uma op\?\Æo&#58;&quot;&#41;;
		scanf&#40;&quot;%d&quot;,&amp;opcao&#41;;
		strcpy&#40;&amp;status&#91;1&#93;,&amp;truco&#41;;
		strcpy&#40;&amp;status&#91;2&#93;,&amp;seis&#41;;
		strcpy&#40;&amp;status&#91;3&#93;,&amp;nove&#41;;
		strcpy&#40;&amp;status&#91;4&#93;,&amp;doze&#41;;
		/*Verifica possíveis entradas erradas*/
		if &#40;&#40;opcao&lt;1&#41;||&#40;opcao&gt;opcoes&#41;&#41;
		&#123;
			printf&#40;&quot;\a\n\nVALOR INCORRETO!\n\n&quot;&#41;;
			printf&#40;&quot;Por favor escolha uma op\?\Æo entre 1 e %d\n\n&quot;, opcoes&#41;;
			system&#40;&quot;Pause&quot;&#41;;
		&#125;
		if &#40;opcao==1&#41;
		&#123;
			jogo&#40;&#41;;
		&#125;
		if &#40;opcao==2&#41;
		&#123;
			rank&#40;&#41;;
		&#125;
		if &#40;opcao==3&#41;
		&#123;
			sobre&#40;&#41;;
		&#125;
	&#125;
&#125;


void sobre&#40;void&#41;
&#123;
/**/	printf&#40;&quot;\n\n&quot;&#41;;
	printf&#40;&quot;Programa&#58; Super Truco\n&gt;&gt;&quot;&#41;;
	esp=getch&#40;&#41;;
	printf&#40;&quot;\nVers\Æo&#58; %3.2f\n&gt;&gt;&quot;,versao&#41;;
	esp=getch&#40;&#41;;
	printf&#40;&quot;\nAutores&#58;\n&quot;&#41;;
	printf&#40;&quot;\t%s\n&quot;,autor1&#41;;
	printf&#40;&quot;\t%s\n&quot;,autor2&#41;;
	printf&#40;&quot;\t%s\n&gt;&gt;&quot;,autor3&#41;;
	esp=getch&#40;&#41;;
	printf&#40;&quot;\nComent\ rios\n&quot;&#41;;
	printf&#40;&quot;\t       Este programa foi feito em novembro de 2004 como trabalho\n&quot;&#41;;
	printf&#40;&quot;\tde conclus\Æo da disciplina de Processamento de Dados &#40;PRD&#41; da \n&quot;&#41;;
	printf&#40;&quot;\t3\¦ fase do curso de Engenharia El\?trica da Universidade do Estado\n&quot;&#41;;
	printf&#40;&quot;\tde Santa Catarina &#40;UDESC&#41;.\n&gt;&gt;&quot;&#41;;
	esp=getch&#40;&#41;;
&#125;


void rank&#40;void&#41;
&#123;
	char 	car;
	int	i;
	if &#40;&#40;arq=fopen&#40;&quot;rank.txt&quot;,&quot;r&quot;&#41;&#41;==NULL&#41;
	&#123;
		arq=fopen&#40;&quot;Rank.txt&quot;,&quot;w&quot;&#41;;
		for &#40;i=0; i&lt;100; i++&#41;
			fprintf&#40;arq,&quot;%s %d %d %d\n&quot;,vazio,0,0,0&#41;;
		fclose&#40;arq&#41;;
		arq=fopen&#40;&quot;rank.txt&quot;,&quot;r&quot;&#41;;
	&#125;
	printf&#40;&quot;\n&quot;&#41;;
	printf&#40;&quot; Rank -%15s\t%10s\t%8s%10s\n\n&quot;,jog,part,vit,sal&#41;;
	for &#40;i=0; i&lt;10; i++&#41;
	&#123;
		fscanf&#40;arq,&quot;%s%d%d%d&quot;,ranknomes&#91;i&#93;,&amp;rankpartidas&#91;i&#93;,&amp;rankvitorias&#91;i&#93;,&amp;rankpts&#91;i&#93;&#41;;
		printf&#40;&quot;%3d   -%15s\t%8d\t%5d\t%9d\n&quot;,i+1,ranknomes&#91;i&#93;,rankpartidas&#91;i&#93;,rankvitorias&#91;i&#93;,rankpts&#91;i&#93;&#41;;
	&#125;
	printf&#40;&quot;\n&quot;&#41;;
	system&#40;&quot;Pause&quot;&#41;;
	fclose&#40;arq&#41;;
	if &#40;&#40;strcmp&#40;&amp;ranknomes&#91;0&#93;,&amp;vazio&#41;&#41;!=0&#41;
	&#123;
		car='a';
		while &#40;&#40;car!='s'&#41;&amp;&amp;&#40;car!='n'&#41;&#41;
		&#123;
			printf&#40;&quot;\nVoc\? deseja limpar a lista?&#40;s/n&#41;\n&quot;&#41;;
			scanf&#40;&quot;%s&quot;,&amp;car&#41;;
			if &#40;car=='s'&#41;
			&#123;
				arq=fopen&#40;&quot;Rank.txt&quot;,&quot;w&quot;&#41;;
				for &#40;i=0; i&lt;100; i++&#41;
					fprintf&#40;arq,&quot;%s %d %d %d\n&quot;,vazio,0,0,0&#41;;
				printf&#40;&quot;Lista limpa!\n\n&quot;&#41;;
				system&#40;&quot;Pause&quot;&#41;;
			&#125;
			fclose&#40;arq&#41;;
		&#125;
	&#125;
&#125;


void jogo&#40;void&#41;
&#123;
	char ch&#91;5&#93;, tipo&#91;40&#93;, car;
	int i, primeira, vale, naipe0, naipe1, valor;

			srand&#40;time&#40;NULL&#41;&#41;;
			for &#40;i=0; i&lt;40; i++&#41;
				matriz&#91;i&#93;=39-i;

	
	/*Pede o nome do jogador*/
	printf&#40;&quot;\n\nDigite seu nome&#58;&quot;&#41;;
	scanf&#40;&quot;%s&quot;,&amp;nome&#41;;
	pnts&#91;0&#93;=0;
	pnts&#91;1&#93;=0;
	primeiro=sorteia&#40;2&#41;;
	rodada=0;
	vitorias=0;
	npartidas=0;
	saldo=0;
	while &#40;&#40;pnts&#91;0&#93;&lt;ptsmax&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;ptsmax&#41;&#41;
	&#123;
		/*embaralha as cartas*/
		embaralha&#40;&#41;;
		/*Distribui as cartas entre os jogadores*/
		distribui&#40;&#41;;
		/*Atribui uma pontuação as cartas para fins de comparação do valor das mesmas*/
		atribui&#40;&#41;;
		pntsrod&#91;0&#93;=0;
		pntsrod&#91;1&#93;=0;
		inicial=primeiro;
		turno=-1;
		estado=0;
		vale=0;
		last=2;
		local=1;
		sorteado=sorteia&#40;40&#41;;
		while &#40;&#40;pntsrod&#91;0&#93;&lt;2&#41;&amp;&amp;&#40;pntsrod&#91;1&#93;&lt;2&#41;&#41;
		&#123;
			printf&#40;&quot;\n***********************************\n&quot;&#41;;
			turno=turno+1;
			mesa&#91;1&#93;&#91;turno&#93;=-1;
			/*Os jogadores jogam as cartas*/
			pcordena&#40;&#41;;
			continua=TRUE;
			if &#40;&#40;pnts&#91;0&#93;==11&#41;&amp;&amp;&#40;pnts&#91;1&#93;==11&#41;&#41;
			&#123;
				printf&#40;&quot;\n\t*** Escurinha! ***\n&quot;&#41;;
			&#125;
			if &#40;inicial==0&#41;
			&#123;
				if &#40;&#40;&#40;pnts&#91;0&#93;==11&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;11&#41;&#41;&amp;&amp;&#40;turno==0&#41;&#41;
				&#123;
					printf&#40;&quot;Pc est\  com m\Æo de 11.\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					if &#40;qly&lt;45&#41;
					&#123;
						printf&#40;&quot;\nPc correu.\n&gt;&gt;&quot;&#41;;
						pntsrod&#91;1&#93;=3;
						continua=FALSE;
					&#125;
					else
					&#123;
						printf&#40;&quot;\nPc aceitou.\n&gt;&gt;&quot;&#41;;
						estado=1;
						last=-1;
					&#125;
				esp=getch&#40;&#41;;
				&#125;
				if &#40;&#40;&#40;pnts&#91;1&#93;==11&#41;&amp;&amp;&#40;pnts&#91;0&#93;&lt;11&#41;&#41;&amp;&amp;&#40;turno==0&#41;&#41;
				&#123;
					printf&#40;&quot;Voc\? est\  com m\Æo de 11.\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					printf&#40;&quot;\nVirada&#58; %c %c\n&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
					printf&#40;&quot;\nSua m\Æo \?&#58;\n&quot;&#41;;
					for &#40;i=0; i&lt;3; i++&#41;
					&#123;
						tipo&#91;0&#93;='\0';
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
							strcpy&#40;&amp;tipo,&amp;g&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
							strcpy&#40;&amp;tipo,&amp;c&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
							strcpy&#40;&amp;tipo,&amp;e&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
							strcpy&#40;&amp;tipo,&amp;m&#41;;
						printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
					&#125;
					car='a';
					while &#40;&#40;car!='s'&#41;&amp;&amp;&#40;car!='n'&#41;&#41;
					&#123;
						printf&#40;&quot;Voc\? aceita?&#40;s/n&#41;&quot;&#41;;
						scanf&#40;&quot;%s&quot;,&amp;car&#41;;
					&#125;
					if &#40;car=='n'&#41;
					&#123;
						pntsrod&#91;0&#93;=3;
						continua=FALSE;
					&#125;
					else
					&#123;
						estado=1;
						last=-1;
					&#125;
				&#125;
				if &#40;continua==TRUE&#41;
					pctruca&#40;&#41;;
				if &#40;continua==TRUE&#41;
					pcplay&#40;&#41;;
				local=2;
				if &#40;continua==TRUE&#41;
					jgtruca&#40;&#41;;
				if &#40;continua==TRUE&#41;
					jgplay&#40;&#41;;
			&#125;
			else
			&#123;
				if &#40;&#40;&#40;pnts&#91;0&#93;==11&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;11&#41;&#41;&amp;&amp;&#40;turno==0&#41;&#41;
				&#123;
					printf&#40;&quot;Pc est\  com m\Æo de 11.\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					if &#40;qly&lt;60&#41;
					&#123;
						printf&#40;&quot;\nPc correu.\n&gt;&gt;&quot;&#41;;
						pntsrod&#91;1&#93;=3;
						continua=FALSE;
					&#125;
					else
					&#123;
						printf&#40;&quot;\nPc aceitou.\n&gt;&gt;&quot;&#41;;
						estado=1;
						last=-1;
					&#125;
				esp=getch&#40;&#41;;
				&#125;
				if &#40;&#40;&#40;pnts&#91;1&#93;==11&#41;&amp;&amp;&#40;pnts&#91;0&#93;&lt;11&#41;&#41;&amp;&amp;&#40;turno==0&#41;&#41;
				&#123;
					printf&#40;&quot;Voc\? est\  com m\Æo de 11.\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					printf&#40;&quot;\nVirada&#58; %c %c\n&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
					printf&#40;&quot;\nSua m\Æo \?&#58;\n&quot;&#41;;
					for &#40;i=0; i&lt;3; i++&#41;
					&#123;
						tipo&#91;0&#93;='\0';
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
							strcpy&#40;&amp;tipo,&amp;g&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
							strcpy&#40;&amp;tipo,&amp;c&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
							strcpy&#40;&amp;tipo,&amp;e&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
							strcpy&#40;&amp;tipo,&amp;m&#41;;
						printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
					&#125;
					car='a';
					while &#40;&#40;car!='s'&#41;&amp;&amp;&#40;car!='n'&#41;&#41;
					&#123;
						printf&#40;&quot;Voc\? aceita?&#40;s/n&#41;&quot;&#41;;
						scanf&#40;&quot;%s&quot;,&amp;car&#41;;
					&#125;
					if &#40;car=='n'&#41;
					&#123;
						pntsrod&#91;0&#93;=3;
						continua=FALSE;
					&#125;
					else
					&#123;
						estado=1;
						last=-1;
					&#125;
				&#125;
				local=1;
				if &#40;continua==TRUE&#41;
					jgtruca&#40;&#41;;
				if &#40;continua==TRUE&#41;
					jgplay&#40;&#41;;
				if &#40;continua==TRUE&#41;
					pctruca&#40;&#41;;
				if &#40;continua==TRUE&#41;
					pcplay&#40;&#41;;
			&#125;
        	    	if &#40;&#40;pntsrod&#91;0&#93;&lt;2&#41;&amp;&amp;&#40;pntsrod&#91;1&#93;&lt;2&#41;&#41;
	           	&#123;           
				/*Avalia o resultado do turno*/
				if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;
				&#123;
					inicial=0;
					if &#40;&#40;vale==1&#41;||&#40;vale==2&#41;&#41;
						pntsrod&#91;0&#93;=3;
					else
						pntsrod&#91;0&#93;++;
					if &#40;turno==0&#41;
						primeira=0;
					printf&#40;&quot;\nPc levou este turno.\n&gt;&gt;&quot;&#41;;
				&#125;
				if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;&lt;cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;
				&#123;
					inicial=1;
					if &#40;&#40;vale==1&#41;||&#40;vale==2&#41;&#41;
						pntsrod&#91;1&#93;=3;
					else
						pntsrod&#91;1&#93;++;
					if &#40;turno==0&#41;
						primeira=1;
					printf&#40;&quot;\nVoc\? levou este turno.\n&gt;&gt;&quot;&#41;;
				&#125;
				if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;
				&#123;
					if &#40;turno==0&#41;
					&#123;
						vale=1;
						printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
					&#125;
					if &#40;turno==1&#41;
						if &#40;vale==0&#41;
						&#123;
							pntsrod&#91;primeira&#93;=3;
							printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
						&#125;
						else
						&#123;
							vale=2;
							printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
						&#125;
					if &#40;turno==2&#41;
					&#123;
						if &#40;vale==2&#41;
						&#123;
							naipe0=&#40;int&#41;&#40;mesa&#91;1&#93;&#91;3&#93;/10&#41;;
							naipe1=&#40;int&#41;&#40;mesa&#91;1&#93;&#91;3&#93;/10&#41;;
							if &#40;naipe0&gt;naipe1&#41;
							&#123;
								pntsrod&#91;0&#93;=3;
								printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
							&#125;
							else
							&#123;
								pntsrod&#91;1&#93;=3;
								printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
							&#125;
						&#125;
						else
						&#123;
							pntsrod&#91;primeira&#93;=3;
							printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
						&#125;
					&#125;	
				&#125;
				esp=getch&#40;&#41;;
			&#125;
		&#125;
		printf&#40;&quot;\n***********************************\n&quot;&#41;;
		valor=estado*3;
		if &#40;estado==0&#41;
			valor=1;
		if &#40;pntsrod&#91;0&#93;&gt;=2&#41;
		&#123;
			if &#40;pnts&#91;0&#93;==11&#41;
				valor=1;
			pnts&#91;0&#93;=pnts&#91;0&#93;+valor;
			if &#40;valor==1&#41;
				printf&#40;&quot;\nPc ganhou 1 ponto\n&quot;&#41;;
			else
               			printf&#40;&quot;\nPc ganhou %d pontos\n&quot;,valor&#41;;
            		printf&#40;&quot;\n***********************************\n&quot;&#41;;
           	&#125;
		if &#40;pntsrod&#91;1&#93;&gt;=2&#41;
		&#123;
			if &#40;pnts&#91;1&#93;==11&#41;
				valor=1;
			if &#40;valor==1&#41;
				printf&#40;&quot;\nVoc\? ganhou 1 ponto\n&quot;&#41;;
			else
               			printf&#40;&quot;\nVoc\? ganhou %d pontos\n&quot;,valor&#41;;
			pnts&#91;1&#93;=pnts&#91;1&#93;+valor;
            		printf&#40;&quot;\n***********************************\n&quot;&#41;;
		&#125;
		esp=getch&#40;&#41;;
		if &#40;pnts&#91;0&#93;&gt;12&#41;
			pnts&#91;0&#93;=12;
		if &#40;pnts&#91;1&#93;&gt;12&#41;
			pnts&#91;1&#93;=12;
		printf&#40;&quot;\n\tPLACAR PARCIAL\n&quot;&#41;;
		printf&#40;&quot;\t---------------------\n\t Pc =   %d\n&quot;,pnts&#91;0&#93;&#41;;
		printf&#40;&quot;\t---------------------\n\t %s =   %d\n&quot;,nome,pnts&#91;1&#93;&#41;;
		printf&#40;&quot;\t---------------------\n&quot;&#41;;
		printf&#40;&quot;&gt;&gt;&quot;&#41;;
		esp=getch&#40;&#41;;
		if &#40;&#40;pnts&#91;0&#93;&gt;=ptsmax&#41;||&#40;pnts&#91;1&#93;&gt;=ptsmax&#41;&#41;
		&#123;
			if &#40;pnts&#91;0&#93;&gt;=ptsmax&#41;
			&#123;
				npartidas++;
				saldo=pnts&#91;1&#93;-ptsmax;
		    		printf&#40;&quot;\n\n\tVOC\Ò PERDEU!!!\n\n&quot;&#41;;
	      		&#125;
			if &#40;pnts&#91;1&#93;&gt;=ptsmax&#41;
			&#123;
				vitorias++;
				npartidas++;
				saldo=ptsmax-pnts&#91;0&#93;;
				printf&#40;&quot;\n\n\tVOC\Ò GANHOU!!!\n\n&quot;&#41;;
			&#125;
			system&#40;&quot;Pause&quot;&#41;;
		&#125;
		if &#40;primeiro==0&#41;
			primeiro++;
		else
		    	primeiro--;
        	rodada++;
	&#125;
	save&#40;&#41;;
&#125;

void embaralha&#40;void&#41;
&#123;
	int num, i, j, k;
	char ch&#91;2&#93;;
	for &#40;i=0; i&lt;40; i++&#41;
	&#123;
		num=sorteia&#40;40-i&#41;;
		baralho&#91;i&#93;=matriz&#91;num&#93;;
		for &#40;j=num; j&lt;&#40;39&#41;; j++&#41;
			matriz&#91;j&#93;=matriz&#91;j+1&#93;;
	&#125;
	for &#40;i=0; i&lt;40; i++&#41;
		matriz&#91;i&#93;=baralho&#91;i&#93;;
&#125;

int sorteia&#40;int max&#41;
&#123;
	return &#40;&#40;int&#41;max*rand&#40;&#41;/&#40;RAND_MAX+1&#41;&#41;;
&#125;

void distribui&#40;void&#41;
&#123;
	int	a, b, i;
	for &#40;a=0; a&lt;3; a++&#41;
	&#123;
		for &#40;b=0; b&lt;2; b++&#41;
		&#123;
			mao&#91;b&#93;&#91;a&#93;=baralho&#91;a*2+b&#93;;
		&#125;
	&#125;
	virada=baralho&#91;6&#93;;
	printf&#40;&quot;\n***********************************\n&quot;&#41;;
	printf&#40;&quot;Rodada %2d&quot;,rodada+1&#41;;
	printf&#40;&quot;\n&gt;&gt;&quot;&#41;;
	esp=getch&#40;&#41;;
	if &#40;primeiro==0&#41;
	    printf&#40;&quot;\nPc come\?a!\n&gt;&gt;&quot;&#41;;
   	else
        	printf&#40;&quot;\nVoc\? come\?a!\n&gt;&gt;&quot;&#41;;
    	printf&#40;&quot;&quot;&#41;;
    	esp=getch&#40;&#41;;
&#125;

void pcplay&#40;void&#41;
&#123;
	int num, i, j, wx, ql, jogou, valormao;
	char tipo&#91;40&#93;;
	
	


	/*Pc escolhe carta para jogar*/
	if &#40;inicial==0&#41;
	&#123;
		if &#40;&#40;pntsrod&#91;0&#93;==0&#41;&amp;&amp;&#40;turno&gt;0&#41;&#41;
		&#123;
			if &#40;cartas&#91;mao&#91;0&#93;&#91;1&#93;&#93;&gt;6&#41;
				num=sorteia&#40;3-turno&#41;;
			else
				num=0;
		&#125;
		else
			num=sorteia&#40;3-turno&#41;;
	&#125;
	if &#40;&#40;pnts&#91;0&#93;==11&#41;||&#40;pnts&#91;1&#93;==11&#41;&#41;
		num=sorteia&#40;3-turno&#41;;
	if &#40;inicial==1&#41;
	&#123;
		jogou=FALSE;
		for &#40;i=&#40;2-turno&#41;; i&gt;=0; i--&#41;
		&#123;
			if &#40;&#40;cartas&#91;mao&#91;0&#93;&#91;i&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;&amp;&amp;&#40;jogou==FALSE&#41;&#41;
			&#123;
				num=i;
				jogou=TRUE;
			&#125;
		&#125;
		if &#40;jogou==FALSE&#41;
			for &#40;i=&#40;2-turno&#41;; i&gt;=0; i--&#41;
			&#123;
				if &#40;&#40;cartas&#91;mao&#91;0&#93;&#91;i&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;&amp;&amp;&#40;jogou==FALSE&#41;&#41;
				&#123;
					num=i;
					jogou=TRUE;
				&#125;
			&#125;
		if &#40;jogou==FALSE&#41;
			num=2-turno;
		if &#40;&#40;pntsrod&#91;0&#93;==pntsrod&#91;1&#93;&#41;&amp;&amp;&#40;turno!=0&#41;&#41;
			num=0;
	&#125;

	tipo&#91;0&#93;='\0';
	mesa&#91;0&#93;&#91;turno&#93;=mao&#91;0&#93;&#91;num&#93;;
	for &#40;i=num; i&lt;&#40;2-turno&#41;; i++&#41;
		mao&#91;0&#93;&#91;i&#93;=mao&#91;0&#93;&#91;i+1&#93;;
	if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==13&#41;
		strcpy&#40;&amp;tipo,&amp;g&#41;;
	if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==12&#41;
		strcpy&#40;&amp;tipo,&amp;c&#41;;
	if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==11&#41;
		strcpy&#40;&amp;tipo,&amp;e&#41;;
	if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==10&#41;
		strcpy&#40;&amp;tipo,&amp;m&#41;;
	printf&#40;&quot;\nPc jogou&#58;  %c %c  %s\n&quot;,carta&#40;mesa&#91;0&#93;&#91;turno&#93;&#41;,toon&#40;mesa&#91;0&#93;&#91;turno&#93;&#41;,tipo&#41;;
	printf&#40;&quot;&gt;&gt;&quot;&#41;;
	esp=getch&#40;&#41;;
&#125;

void jgplay&#40;void&#41;
&#123;
	int num, i, vle;
	char tipo&#91;40&#93;;
	num=10;
	while &#40;&#40;num&lt;0&#41;||&#40;num&gt;&#40;2-turno&#41;&#41;&#41;
	&#123;
	   	printf&#40;&quot;\nVirada&#58;  %c %c\n&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
		if &#40;&#40;pnts&#91;0&#93;==11&#41;&amp;&amp;&#40;pnts&#91;1&#93;==11&#41;&#41;
		&#123;
			printf&#40;&quot;\nQue carta voc\? quer jogar?&#40;1&quot;&#41;;
			for &#40;i=1; i&lt;&#40;3-turno&#41;; i++&#41;
				printf&#40;&quot;/%d&quot;,i+1&#41;;
			printf&#40;&quot;&#41;\n&quot;&#41;;
			scanf&#40;&quot;%d&quot;,&amp;num&#41;;
			num--;			
		&#125;
		else
		&#123;
			printf&#40;&quot;\nQue carta voc\? quer jogar?\n&quot;&#41;;
			for &#40;i=0; i&lt;&#40;3-turno&#41;; i++&#41;
			&#123;
				tipo&#91;0&#93;='\0';
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
					strcpy&#40;&amp;tipo,&amp;g&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
					strcpy&#40;&amp;tipo,&amp;c&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
					strcpy&#40;&amp;tipo,&amp;e&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
					strcpy&#40;&amp;tipo,&amp;m&#41;;
	        		printf&#40;&quot;%d - %c %c %s\n&quot;,i+1,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
			&#125;
			scanf&#40;&quot;%d&quot;,&amp;num&#41;;
			num--;
		&#125;
		if &#40;&#40;num&lt;0&#41;||&#40;num&gt;&#40;2-turno&#41;&#41;&#41;
		&#123;
			printf&#40;&quot;\a\n\tVALOR INCORRETO!!\n&quot;&#41;;
			printf&#40;&quot;\nDigite sua op\?\Æo entre 0 e %d\n&quot;,&#40;2-turno&#41;&#41;;
			system&#40;&quot;Pause&quot;&#41;;
		&#125;
		else
        	&#123;
			tipo&#91;0&#93;='\0';
			if &#40;cartas&#91;mao&#91;1&#93;&#91;num&#93;&#93;==13&#41;
				strcpy&#40;&amp;tipo,&amp;g&#41;;
			if &#40;cartas&#91;mao&#91;1&#93;&#91;num&#93;&#93;==12&#41;
				strcpy&#40;&amp;tipo,&amp;c&#41;;
			if &#40;cartas&#91;mao&#91;1&#93;&#91;num&#93;&#93;==11&#41;
				strcpy&#40;&amp;tipo,&amp;e&#41;;
			if &#40;cartas&#91;mao&#91;1&#93;&#91;num&#93;&#93;==10&#41;
				strcpy&#40;&amp;tipo,&amp;m&#41;;
                       	printf&#40;&quot;Voc\? jogou&#58; %c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;num&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;num&#93;&#41;,tipo&#41;;
	                printf&#40;&quot;&gt;&gt;&quot;&#41;;
   	    	&#125;
	        esp=getch&#40;&#41;;
	&#125;
	mesa&#91;1&#93;&#91;turno&#93;=mao&#91;1&#93;&#91;num&#93;;
	for &#40;i=num; i&lt;&#40;2-turno&#41;; i++&#41;
		mao&#91;1&#93;&#91;i&#93;=mao&#91;1&#93;&#91;i+1&#93;;	
&#125;

void atribui&#40;void&#41;
&#123;
	int vle, a, i, j, card;
	if &#40;&#40;virada%10&#41;&lt;9&#41;
	&#123;
		card=&#40;virada%10&#41;+1;
	&#125;
	else	
		card=0;
	vle=0;
	for &#40;i=0; i&lt;4; i++&#41;
	&#123;
		vle=0;
		for &#40;j=0; j&lt;10; j++&#41;
		&#123;
			if &#40;card==j&#41;
				cartas&#91;10*i+j&#93;=10+i;
			else
			&#123;
				cartas&#91;10*i+j&#93;=vle;
				vle=vle+1;
			&#125;
		&#125;
	&#125;
&#125;

char toon&#40;int card&#41;
&#123;
	int vle, x;
	vle=&#40;int&#41;&#40;card/10&#41;;
	if &#40;vle==0&#41;
		x=4;
	if &#40;vle==1&#41;
		x=6;
	if &#40;vle==2&#41;
		x=3;
	if &#40;vle==3&#41;
		x=5;
	return &#40;&quot;%c&quot;,x&#41;;
&#125;

char carta&#40;int card&#41;
&#123;
	int vle;
	char x;
	vle=card%10;
	if &#40;vle&gt;7&#41;
		x=&#40;&quot;\c&quot;,42+vle&#41;;
	if &#40;vle==7&#41;
		x='A';
	if &#40;vle==6&#41;
		x='K';
	if &#40;vle==5&#41;
		x='J';
	if &#40;vle==4&#41;
		x='Q';
	if &#40;vle&lt;4&#41;
		x=&#40;&quot;%c&quot;,52+vle&#41;;
	return x;
&#125;

void save&#40;void&#41;
&#123;
	int	i, pos, njogadores, pontos, j;
	char	nm&#91;40&#93;;

	/*Abre o arquivo para leitura, se existir*/
	if &#40;&#40;arq=fopen&#40;&quot;Rank.TXT&quot;,&quot;r&quot;&#41;&#41;!=NULL&#41;
	&#123;
		/*Obtem os nomes e a pontuação*/		
		for &#40;i=0; i&lt;100; i++&#41;
		&#123;
			fscanf&#40;arq,&quot;%s%d%d%d&quot;,&amp;ranknomes&#91;i&#93;,&amp;rankpartidas&#91;i&#93;,&amp;rankvitorias&#91;i&#93;,&amp;rankpts&#91;i&#93;&#41;;
		&#125;
	&#125;


	/*senão, o cria*/
	else
	&#123;
		arq=fopen&#40;&quot;Rank.txt&quot;,&quot;w&quot;&#41;;
		for &#40;i=0; i&lt;100; i++&#41;
		&#123;
			fprintf&#40;arq,&quot;%s %d %d %d\n&quot;,vazio,0,0,0&#41;;
			strcpy&#40;&amp;ranknomes&#91;i&#93;,&amp;vazio&#41;;
			rankpartidas&#91;i&#93;=0;
			rankvitorias&#91;i&#93;=0;
			rankpts&#91;i&#93;=0;
		&#125;
	&#125;


	/*fecha o arquivo*/
	fclose&#40;arq&#41;;


	/*procura o nome e conta o número de jogadores na lista*/
	njogadores=0;
	pos=-1;
	i=0;
	while &#40;&#40;pos==-1&#41;||&#40;i==njogadores&#41;&#41;
	&#123;
		if &#40;strcmp&#40;&amp;ranknomes&#91;i&#93;,&amp;nome&#41;==0&#41;
			pos=i;
		if &#40;&#40;pos==-1&#41;&amp;&amp;&#40;i==99&#41;&#41;
			pos=100;
		if &#40;strcmp&#40;&amp;ranknomes&#91;i&#93;,&amp;vazio&#41;!=0&#41;
			njogadores++;
		i++;
	&#125;


	/*se encontrar, acrescenta ou diminui seus pontos*/
	if &#40;pos&lt;100&#41;
	&#123;
		rankpartidas&#91;pos&#93;=rankpartidas&#91;pos&#93;+npartidas;
		rankpts&#91;pos&#93;=rankpts&#91;pos&#93;+saldo;
		rankvitorias&#91;pos&#93;=rankvitorias&#91;pos&#93;+vitorias;
	&#125;


	/*senão, adiciona-lhe ao final da lista*/
	else
	&#123;
		njogadores++;
		rankpartidas&#91;njogadores-1&#93;=npartidas;
		rankvitorias&#91;njogadores-1&#93;=vitorias;
		rankpts&#91;njogadores-1&#93;=saldo;
		strcpy&#40;&amp;ranknomes&#91;njogadores-1&#93;,&amp;nome&#41;;
	&#125;


	/*ordena a lista em forma decrescente*/
	for &#40;i=0; i&lt;&#40;njogadores-1&#41;; i++&#41;
	&#123;
		for &#40;j=0; j&lt;&#40;njogadores-1&#41;; j++&#41;
		&#123;
			if &#40;rankvitorias&#91;j&#93;&lt;rankvitorias&#91;j+1&#93;&#41;
			&#123;
				pontos=rankpts&#91;j&#93;;
				rankpts&#91;j&#93;=rankpts&#91;j+1&#93;;
				rankpts&#91;j+1&#93;=pontos;

				pontos=rankvitorias&#91;j&#93;;
				rankvitorias&#91;j&#93;=rankvitorias&#91;j+1&#93;;
				rankvitorias&#91;j+1&#93;=pontos;

				pontos=rankpartidas&#91;j&#93;;
				rankpartidas&#91;j&#93;=rankpartidas&#91;j+1&#93;;
				rankpartidas&#91;j+1&#93;=pontos;

				strcpy&#40;&amp;nm,&amp;ranknomes&#91;j&#93;&#41;;
				strcpy&#40;&amp;ranknomes&#91;j&#93;,&amp;ranknomes&#91;j+1&#93;&#41;;
				strcpy&#40;&amp;ranknomes&#91;j+1&#93;,&amp;nm&#41;;
			&#125;
			else
			&#123;
				if &#40;rankvitorias&#91;j&#93;==rankvitorias&#91;j+1&#93;&#41;
				&#123;
					if &#40;rankpts&#91;j&#93;&lt;rankpts&#91;j+1&#93;&#41;
					&#123;
						pontos=rankpts&#91;j&#93;;
						rankpts&#91;j&#93;=rankpts&#91;j+1&#93;;
						rankpts&#91;j+1&#93;=pontos;

						pontos=rankvitorias&#91;j&#93;;
						rankvitorias&#91;j&#93;=rankvitorias&#91;j+1&#93;;
						rankvitorias&#91;j+1&#93;=pontos;
	
						pontos=rankpartidas&#91;j&#93;;
						rankpartidas&#91;j&#93;=rankpartidas&#91;j+1&#93;;
						rankpartidas&#91;j+1&#93;=pontos;
	
						strcpy&#40;&amp;nm,&amp;ranknomes&#91;j&#93;&#41;;
						strcpy&#40;&amp;ranknomes&#91;j&#93;,&amp;ranknomes&#91;j+1&#93;&#41;;
						strcpy&#40;&amp;ranknomes&#91;j+1&#93;,&amp;nm&#41;;
					&#125;
					else
					&#123;
						if &#40;rankpts&#91;j&#93;==rankpts&#91;j+1&#93;&#41;
						&#123;
							if &#40;rankpartidas&#91;j&#93;&lt;rankpartidas&#91;j+1&#93;&#41;
							&#123;
								pontos=rankpts&#91;j&#93;;
								rankpts&#91;j&#93;=rankpts&#91;j+1&#93;;
								rankpts&#91;j+1&#93;=pontos;

								pontos=rankvitorias&#91;j&#93;;
								rankvitorias&#91;j&#93;=rankvitorias&#91;j+1&#93;;
								rankvitorias&#91;j+1&#93;=pontos;
			
								pontos=rankpartidas&#91;j&#93;;
								rankpartidas&#91;j&#93;=rankpartidas&#91;j+1&#93;;
								rankpartidas&#91;j+1&#93;=pontos;
	
								strcpy&#40;&amp;nm,&amp;ranknomes&#91;j&#93;&#41;;
								strcpy&#40;&amp;ranknomes&#91;j&#93;,&amp;ranknomes&#91;j+1&#93;&#41;;
								strcpy&#40;&amp;ranknomes&#91;j+1&#93;,&amp;nm&#41;;
							&#125;
						&#125;
					&#125;
				&#125;
			&#125;
		&#125;
	&#125;


	/*recria o arquivo para escrita*/
	if &#40;&#40;arq=fopen&#40;&quot;Rank.txt&quot;,&quot;w&quot;&#41;&#41;==NULL&#41;
	&#123;
		printf&#40;&quot;\n\aErro de leitura.\nO arquivo 'Rank.Txt' pode estar corrompido ou danificado.\n&quot;&#41;;
	&#125;
	else
	&#123;
		/*escreve os dados da lista*/
		for &#40;i=0; i&lt;100; i++&#41;
		&#123;
			fprintf&#40;arq,&quot;%s %d %d %d\n&quot;,ranknomes&#91;i&#93;,rankpartidas&#91;i&#93;,rankvitorias&#91;i&#93;,rankpts&#91;i&#93;&#41;;
		&#125;
	&#125;


	/*fecha o arquivo*/
	fclose&#40;arq&#41;;
&#125;

void pcpensa&#40;void&#41;
&#123;
	int i, valormao;
	valormao=0;
	for &#40;i=0; i&lt;&#40;3-turno&#41;; i++&#41;
		valormao=valormao+cartas&#91;mao&#91;0&#93;&#91;i&#93;&#93;;
	qly=3*valormao;
	if &#40;turno==0&#41;
	&#123;
		if &#40;inicial==1&#41;
		&#123;
			for &#40;i=0; i&lt;3; i++&#41;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;i&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;0&#93;&#93;&#41;
					qly=qly+5;
			if &#40;qly==&#40;3*valormao&#41;&#41;
			&#123;
				qly=25+sorteia&#40;50&#41;;	/*Facão*/
			&#125;
		&#125;
	&#125;
	if &#40;turno==1&#41;
	&#123;
		if &#40;pntsrod&#91;0&#93;==1&#41;
		&#123;
			qly=5*valormao;
			if &#40;cartas&#91;mesa&#91;0&#93;&#91;1&#93;&#93;==-1&#41;
			&#123;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;&gt;=10&#41;
					qly=60;
				if &#40;cartas&#91;mao&#91;9&#93;&#91;1&#93;&#93;&gt;=8&#41;
					qly=qly+20;
			&#125;
			else
			&#123;
				if &#40;cartas&#91;mesa&#91;0&#93;&#91;1&#93;&#93;&gt;=11&#41;
					qly=65;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;1&#93;&#93;&gt;=9&#41;
					qly=90;
			&#125;
			if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;==13&#41;
				qly=100;
		&#125;
		if &#40;pntsrod&#91;1&#93;==1&#41;
		&#123;
			if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;&lt;cartas&#91;mesa&#91;1&#93;&#91;1&#93;&#93;&#41;
			&#123;
					qly=30+sorteia&#40;50&#41;;	/*Facão*/
			&#125;
			else
			&#123;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;1&#93;&#93;&lt;cartas&#91;mesa&#91;1&#93;&#91;1&#93;&#93;&#41;
				&#123;
						qly=20+sorteia&#40;50&#41;;	/*Facão*/
				&#125;
				else
				&#123;
					qly=4*valormao+sorteado;
				&#125;
			&#125;
		&#125;
		else
		&#123;
			qly=6*cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;+2*cartas&#91;mao&#91;0&#93;&#91;1&#93;&#93;+sorteado;
		&#125;
	&#125;
	if &#40;turno==2&#41;
	&#123;
		if &#40;inicial==1&#41;
		&#123;
			if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;2&#93;&#93;&#41;
			&#123;
				qly=100;
			&#125;
			else
			&#123;
				if &#40;&#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;==cartas&#91;mesa&#91;1&#93;&#91;2&#93;&#93;&#41;&amp;&amp;&#40;cartas&#91;mesa&#91;0&#93;&#91;0&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;0&#93;&#93;&#41;&#41;
				&#123;
					qly=100;
				&#125;
				else
				&#123;
						qly=30+sorteia&#40;60&#41;;	/*Facão*/
				&#125;
			&#125;			
		&#125;
		if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;==13&#41;
			qly=100;
	&#125;
&#125;

void pctruca&#40;void&#41;
&#123;
	int	num, i;
	char	tipo&#91;40&#93;;
	pcpensa&#40;&#41;;
	if &#40;&#40;&#40;pnts&#91;0&#93;&lt;11&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;11&#41;&#41;&amp;&amp;&#40;&#40;&#40;last==1&#41;||&#40;last==2&#41;&#41;&amp;&amp;&#40;estado&lt;4&#41;&#41;&#41;
	&#123;
		if &#40;qly&gt;&#40;50+sorteia&#40;20&#41;+estado*8&#41;&#41;
		&#123;
			printf&#40;&quot;\nPc pediu %s.\n&gt;&gt;&quot;,status&#91;estado+1&#93;&#41;;
			esp=getch&#40;&#41;;
			printf&#40;&quot;\nVirada&#58; %c %c\n&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
			printf&#40;&quot;\nSua m\Æo \?&#58;\n&quot;&#41;;
			if &#40;mesa&#91;1&#93;&#91;turno&#93;==-1&#41;
			&#123;
				for &#40;i=0; i&lt;&#40;3-turno&#41;; i++&#41;
				&#123;
					tipo&#91;0&#93;='\0';
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
						strcpy&#40;&amp;tipo,&amp;g&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
						strcpy&#40;&amp;tipo,&amp;c&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
						strcpy&#40;&amp;tipo,&amp;e&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
						strcpy&#40;&amp;tipo,&amp;m&#41;;
					printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
				&#125;
			&#125;
			else
			&#123;
				for &#40;i=0; i&lt;&#40;2-turno&#41;; i++&#41;
				&#123;
					tipo&#91;0&#93;='\0';
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
						strcpy&#40;&amp;tipo,&amp;g&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
						strcpy&#40;&amp;tipo,&amp;c&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
						strcpy&#40;&amp;tipo,&amp;e&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
						strcpy&#40;&amp;tipo,&amp;m&#41;;
					printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
				&#125;
			&#125;		
			printf&#40;&quot;Digite&#58;\n1 - Aceitar;\n2 - Correr\n&quot;&#41;;
			if &#40;estado&lt;3&#41;
				printf&#40;&quot;3 - Pedir '%s'\n&quot;,status&#91;estado+2&#93;&#41;;
			scanf&#40;&quot;%d&quot;,&amp;num&#41;;
			if &#40;num==1&#41;
			&#123;
				estado++;
				last=0;
			&#125;
			if &#40;num==2&#41;
			&#123;
				continua=FALSE;
				pntsrod&#91;0&#93;=3;
			&#125;
			if &#40;num==3&#41;
			&#123;
				last=0;
				estado++;
				local=0;
				jgtruca&#40;&#41;;
			&#125;
			
		&#125;
	&#125;
&#125;

void pcordena&#40;void&#41;
&#123;
	int	i, j, wx;
	/*Ordena as cartas do pc no primeiro turno*/
	if &#40;turno==0&#41;
	&#123;
		for &#40;i=0; i&lt;2; i++&#41;
			for &#40;j=0; j&lt;2; j++&#41;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;j&#93;&#93;&lt;cartas&#91;mao&#91;0&#93;&#91;j+1&#93;&#93;&#41;
				&#123;
					wx=mao&#91;0&#93;&#91;j&#93;;
					mao&#91;0&#93;&#91;j&#93;=mao&#91;0&#93;&#91;j+1&#93;;
					mao&#91;0&#93;&#91;j+1&#93;=wx;
				&#125;
	&#125;
&#125;

void jgtruca&#40;void&#41;
&#123;
	char	car;
	char	tipo&#91;40&#93;;
	int	cont, i, num;
	if &#40;&#40;&#40;pnts&#91;0&#93;&lt;11&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;11&#41;&#41;&amp;&amp;&#40;&#40;&#40;last==0&#41;||&#40;last==2&#41;&#41;&amp;&amp;&#40;estado&lt;4&#41;&#41;&#41;
	&#123;
		cont=TRUE;
		if &#40;local!=0&#41;
		&#123;
			printf&#40;&quot;\nVirada&#58; %c %c&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
			printf&#40;&quot;\nSua m\Æo \?&#58;\n&quot;&#41;;
			for &#40;i=0; i&lt;&#40;3-turno&#41;; i++&#41;
			&#123;
				tipo&#91;0&#93;='\0';
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
					strcpy&#40;&amp;tipo,&amp;g&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
					strcpy&#40;&amp;tipo,&amp;c&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
					strcpy&#40;&amp;tipo,&amp;e&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
					strcpy&#40;&amp;tipo,&amp;m&#41;;
				printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
			&#125;
			num=0;
			while &#40;&#40;num!=1&#41;&amp;&amp;&#40;num!=2&#41;&#41;
			&#123;
				printf&#40;&quot;\nVoc\? quer pedir %s?\n&quot;,status&#91;estado+1&#93;&#41;;
				printf&#40;&quot;1 - Sim\n&quot;&#41;;
				printf&#40;&quot;2 - N\Æo\n&quot;&#41;;
				scanf&#40;&quot;%d&quot;,&amp;num&#41;;
			&#125;

			if &#40;num==2&#41;
				cont=FALSE;
		&#125;
		if &#40;cont==TRUE&#41;
		&#123;
			pcpensa&#40;&#41;;
			if &#40;&#40;qly&gt;&#40;sorteia&#40;10&#41;+&#40;estado+1&#41;*8+40&#41;&#41;&amp;&amp;&#40;&#40;qly&lt;&#40;sorteia&#40;10&#41;+&#40;estado+2&#41;*8+40&#41;&#41;&#41;||&#40;estado&gt;2&#41;&#41;
			&#123;
				estado++;
				last=1;
				printf&#40;&quot;\nPc aceitou!\n&gt;&gt;&quot;&#41;;
				esp=getch&#40;&#41;;
			&#125;
			else
			&#123;
				if &#40;&#40;qly&gt;&#40;sorteia&#40;10&#41;+&#40;estado+2&#41;*8+40&#41;&#41;&amp;&amp;&#40;estado&lt;3&#41;&#41;
				&#123;
					estado++;
					last=1;
					printf&#40;&quot;\nPc aceitou!\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					pctruca&#40;&#41;;
				&#125;
				else
				&#123;
					continua=FALSE;
					pntsrod&#91;1&#93;=3;
					printf&#40;&quot;\nPc correu!\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
				&#125;
			&#125;
		&#125;
	&#125;
&#125;
'; mesa[0][turno]=mao[0][num]; for (i=num; i<(2-turno); i++) mao[0][i]=mao[0][i+1]; if (cartas[mesa[0][turno]]==13) strcpy(&tipo,&g); if (cartas[mesa[0][turno]]==12) strcpy(&tipo,&c); if (cartas[mesa[0][turno]]==11) strcpy(&tipo,&e); if (cartas[mesa[0][turno]]==10) strcpy(&tipo,&m); printf("\nPc jogou: %c %c %s\n",carta(mesa[0][turno]),toon(mesa[0][turno]),tipo); printf(">>"); esp=getch(); } void jgplay(void) { int num, i, vle; char tipo[40]; num=10; while ((num<0)||(num>(2-turno))) { printf("\nVirada: %c %c\n",carta(virada),toon(virada)); if ((pnts[0]==11)&&(pnts[1]==11)) { printf("\nQue carta voc\? quer jogar?(1"); for (i=1; i<(3-turno); i++) printf("/%d",i+1); printf(")\n"); scanf("%d",&num); num--; } else { printf("\nQue carta voc\? quer jogar?\n"); for (i=0; i<(3-turno); i++) { tipo[0]='
/*Jogo de truco em C*/
/*Versão 0.20*/


/*Bibliotecas utilizadas*/
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;string.h&gt;


/*Estados&#58;
	0=normal
	1=trucado
	2=vale seis
	3=vale nove
	4=vale doze
		*/


/*Constantes*/
#define opcoes 4
#define versao 0.20
#define TRUE 1
#define FALSE 0
#define ptsmax 12
#define g &quot;&#40;Gato&#41;&quot;
#define c &quot;&#40;Copas&#41;&quot;
#define e &quot;&#40;Espadilha&#41;&quot;
#define m &quot;&#40;Mole&#41;&quot;
#define truco &quot;truco&quot;
#define seis &quot;seis&quot;
#define nove &quot;nove&quot;
#define doze &quot;doze&quot;
#define vazio &quot;vazio&quot;
#define autor2 &quot;Celito Gregolon J\£nior&quot;     /*Ordem alfabética*/
#define autor1 &quot;Carlos Eduardo Weber&quot;
#define autor3 &quot;Ricardo Oenning&quot;
#define part &quot;Partidas&quot;
#define sal &quot;Pontos&quot;
#define jog &quot;Jogador&quot;
#define vit &quot;Vit\¢rias&quot;


/*Variáveis Globais*/
char	nome&#91;40&#93;=&quot;Design&quot;;
int 	pnts&#91;2&#93;;
int	pntsrod&#91;2&#93;;
int	baralho&#91;40&#93;;
int	matriz&#91;40&#93;;
int 	mao&#91;2&#93;&#91;3&#93;;
int	mesa&#91;2&#93;&#91;3&#93;;
int	cartas&#91;40&#93;;
char	ranknomes&#91;100&#93;&#91;40&#93;;
int	rankpts&#91;100&#93;;
int	rankpartidas&#91;100&#93;;
int	rankvitorias&#91;100&#93;;
FILE 	*fl;
FILE 	*arq;
int	primeiro, virada, turno, rodada, estado, last, saldo, inicial, continua, qly, sorteado, local, npartidas, vitorias;
char	status&#91;6&#93;&#91;10&#93;=&#123;vazio,truco,seis,nove,doze,vazio&#125;;
char	esp;


/*Funções e procedimentos definidos*/
void 	embaralha&#40;void&#41;;
int	sorteia&#40;int max&#41;;
void	distribui&#40;void&#41;;
void	pcplay&#40;void&#41;;
void	jgplay&#40;void&#41;;
void	atribui&#40;void&#41;;
char 	toon&#40;int card&#41;;
char	carta&#40;int card&#41;;
void    save&#40;void&#41;;
void	pcpensa&#40;void&#41;;
void	pctruca&#40;void&#41;;
void	pcordena&#40;void&#41;;
void	jgtruca&#40;void&#41;;
void	jogo&#40;void&#41;;
void	sobre&#40;void&#41;;
void	rank&#40;void&#41;;


/*Principal*/
void main&#40;&#41;
&#123;
	/*Variáveis locais*/
	int opcao, i;


	/*Início*/
	opcao=opcoes+1;
	while &#40;opcao!=opcoes&#41;
	&#123;
		/* Pede para que o usuário escolha uma opção*/
		printf&#40;&quot;\n&quot;&#41;;
		printf&#40;&quot;************************\n&quot;&#41;;
		printf&#40;&quot;O que voc\? deseja fazer?\n&quot;&#41;;
		printf&#40;&quot;\t1 - Jogar truco\n&quot;&#41;;
		printf&#40;&quot;\t2 - Ver ranking\n&quot;&#41;;
		printf&#40;&quot;\t3 - Sobre...\n&quot;&#41;;
		printf&#40;&quot;\t4 - Sair\n&quot;&#41;;
		printf&#40;&quot;\nDigite uma op\?\Æo&#58;&quot;&#41;;
		scanf&#40;&quot;%d&quot;,&amp;opcao&#41;;
		strcpy&#40;&amp;status&#91;1&#93;,&amp;truco&#41;;
		strcpy&#40;&amp;status&#91;2&#93;,&amp;seis&#41;;
		strcpy&#40;&amp;status&#91;3&#93;,&amp;nove&#41;;
		strcpy&#40;&amp;status&#91;4&#93;,&amp;doze&#41;;
		/*Verifica possíveis entradas erradas*/
		if &#40;&#40;opcao&lt;1&#41;||&#40;opcao&gt;opcoes&#41;&#41;
		&#123;
			printf&#40;&quot;\a\n\nVALOR INCORRETO!\n\n&quot;&#41;;
			printf&#40;&quot;Por favor escolha uma op\?\Æo entre 1 e %d\n\n&quot;, opcoes&#41;;
			system&#40;&quot;Pause&quot;&#41;;
		&#125;
		if &#40;opcao==1&#41;
		&#123;
			jogo&#40;&#41;;
		&#125;
		if &#40;opcao==2&#41;
		&#123;
			rank&#40;&#41;;
		&#125;
		if &#40;opcao==3&#41;
		&#123;
			sobre&#40;&#41;;
		&#125;
	&#125;
&#125;


void sobre&#40;void&#41;
&#123;
/**/	printf&#40;&quot;\n\n&quot;&#41;;
	printf&#40;&quot;Programa&#58; Super Truco\n&gt;&gt;&quot;&#41;;
	esp=getch&#40;&#41;;
	printf&#40;&quot;\nVers\Æo&#58; %3.2f\n&gt;&gt;&quot;,versao&#41;;
	esp=getch&#40;&#41;;
	printf&#40;&quot;\nAutores&#58;\n&quot;&#41;;
	printf&#40;&quot;\t%s\n&quot;,autor1&#41;;
	printf&#40;&quot;\t%s\n&quot;,autor2&#41;;
	printf&#40;&quot;\t%s\n&gt;&gt;&quot;,autor3&#41;;
	esp=getch&#40;&#41;;
	printf&#40;&quot;\nComent\ rios\n&quot;&#41;;
	printf&#40;&quot;\t       Este programa foi feito em novembro de 2004 como trabalho\n&quot;&#41;;
	printf&#40;&quot;\tde conclus\Æo da disciplina de Processamento de Dados &#40;PRD&#41; da \n&quot;&#41;;
	printf&#40;&quot;\t3\¦ fase do curso de Engenharia El\?trica da Universidade do Estado\n&quot;&#41;;
	printf&#40;&quot;\tde Santa Catarina &#40;UDESC&#41;.\n&gt;&gt;&quot;&#41;;
	esp=getch&#40;&#41;;
&#125;


void rank&#40;void&#41;
&#123;
	char 	car;
	int	i;
	if &#40;&#40;arq=fopen&#40;&quot;rank.txt&quot;,&quot;r&quot;&#41;&#41;==NULL&#41;
	&#123;
		arq=fopen&#40;&quot;Rank.txt&quot;,&quot;w&quot;&#41;;
		for &#40;i=0; i&lt;100; i++&#41;
			fprintf&#40;arq,&quot;%s %d %d %d\n&quot;,vazio,0,0,0&#41;;
		fclose&#40;arq&#41;;
		arq=fopen&#40;&quot;rank.txt&quot;,&quot;r&quot;&#41;;
	&#125;
	printf&#40;&quot;\n&quot;&#41;;
	printf&#40;&quot; Rank -%15s\t%10s\t%8s%10s\n\n&quot;,jog,part,vit,sal&#41;;
	for &#40;i=0; i&lt;10; i++&#41;
	&#123;
		fscanf&#40;arq,&quot;%s%d%d%d&quot;,ranknomes&#91;i&#93;,&amp;rankpartidas&#91;i&#93;,&amp;rankvitorias&#91;i&#93;,&amp;rankpts&#91;i&#93;&#41;;
		printf&#40;&quot;%3d   -%15s\t%8d\t%5d\t%9d\n&quot;,i+1,ranknomes&#91;i&#93;,rankpartidas&#91;i&#93;,rankvitorias&#91;i&#93;,rankpts&#91;i&#93;&#41;;
	&#125;
	printf&#40;&quot;\n&quot;&#41;;
	system&#40;&quot;Pause&quot;&#41;;
	fclose&#40;arq&#41;;
	if &#40;&#40;strcmp&#40;&amp;ranknomes&#91;0&#93;,&amp;vazio&#41;&#41;!=0&#41;
	&#123;
		car='a';
		while &#40;&#40;car!='s'&#41;&amp;&amp;&#40;car!='n'&#41;&#41;
		&#123;
			printf&#40;&quot;\nVoc\? deseja limpar a lista?&#40;s/n&#41;\n&quot;&#41;;
			scanf&#40;&quot;%s&quot;,&amp;car&#41;;
			if &#40;car=='s'&#41;
			&#123;
				arq=fopen&#40;&quot;Rank.txt&quot;,&quot;w&quot;&#41;;
				for &#40;i=0; i&lt;100; i++&#41;
					fprintf&#40;arq,&quot;%s %d %d %d\n&quot;,vazio,0,0,0&#41;;
				printf&#40;&quot;Lista limpa!\n\n&quot;&#41;;
				system&#40;&quot;Pause&quot;&#41;;
			&#125;
			fclose&#40;arq&#41;;
		&#125;
	&#125;
&#125;


void jogo&#40;void&#41;
&#123;
	char ch&#91;5&#93;, tipo&#91;40&#93;, car;
	int i, primeira, vale, naipe0, naipe1, valor;

			srand&#40;time&#40;NULL&#41;&#41;;
			for &#40;i=0; i&lt;40; i++&#41;
				matriz&#91;i&#93;=39-i;

	
	/*Pede o nome do jogador*/
	printf&#40;&quot;\n\nDigite seu nome&#58;&quot;&#41;;
	scanf&#40;&quot;%s&quot;,&amp;nome&#41;;
	pnts&#91;0&#93;=0;
	pnts&#91;1&#93;=0;
	primeiro=sorteia&#40;2&#41;;
	rodada=0;
	vitorias=0;
	npartidas=0;
	saldo=0;
	while &#40;&#40;pnts&#91;0&#93;&lt;ptsmax&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;ptsmax&#41;&#41;
	&#123;
		/*embaralha as cartas*/
		embaralha&#40;&#41;;
		/*Distribui as cartas entre os jogadores*/
		distribui&#40;&#41;;
		/*Atribui uma pontuação as cartas para fins de comparação do valor das mesmas*/
		atribui&#40;&#41;;
		pntsrod&#91;0&#93;=0;
		pntsrod&#91;1&#93;=0;
		inicial=primeiro;
		turno=-1;
		estado=0;
		vale=0;
		last=2;
		local=1;
		sorteado=sorteia&#40;40&#41;;
		while &#40;&#40;pntsrod&#91;0&#93;&lt;2&#41;&amp;&amp;&#40;pntsrod&#91;1&#93;&lt;2&#41;&#41;
		&#123;
			printf&#40;&quot;\n***********************************\n&quot;&#41;;
			turno=turno+1;
			mesa&#91;1&#93;&#91;turno&#93;=-1;
			/*Os jogadores jogam as cartas*/
			pcordena&#40;&#41;;
			continua=TRUE;
			if &#40;&#40;pnts&#91;0&#93;==11&#41;&amp;&amp;&#40;pnts&#91;1&#93;==11&#41;&#41;
			&#123;
				printf&#40;&quot;\n\t*** Escurinha! ***\n&quot;&#41;;
			&#125;
			if &#40;inicial==0&#41;
			&#123;
				if &#40;&#40;&#40;pnts&#91;0&#93;==11&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;11&#41;&#41;&amp;&amp;&#40;turno==0&#41;&#41;
				&#123;
					printf&#40;&quot;Pc est\  com m\Æo de 11.\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					if &#40;qly&lt;45&#41;
					&#123;
						printf&#40;&quot;\nPc correu.\n&gt;&gt;&quot;&#41;;
						pntsrod&#91;1&#93;=3;
						continua=FALSE;
					&#125;
					else
					&#123;
						printf&#40;&quot;\nPc aceitou.\n&gt;&gt;&quot;&#41;;
						estado=1;
						last=-1;
					&#125;
				esp=getch&#40;&#41;;
				&#125;
				if &#40;&#40;&#40;pnts&#91;1&#93;==11&#41;&amp;&amp;&#40;pnts&#91;0&#93;&lt;11&#41;&#41;&amp;&amp;&#40;turno==0&#41;&#41;
				&#123;
					printf&#40;&quot;Voc\? est\  com m\Æo de 11.\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					printf&#40;&quot;\nVirada&#58; %c %c\n&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
					printf&#40;&quot;\nSua m\Æo \?&#58;\n&quot;&#41;;
					for &#40;i=0; i&lt;3; i++&#41;
					&#123;
						tipo&#91;0&#93;='\0';
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
							strcpy&#40;&amp;tipo,&amp;g&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
							strcpy&#40;&amp;tipo,&amp;c&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
							strcpy&#40;&amp;tipo,&amp;e&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
							strcpy&#40;&amp;tipo,&amp;m&#41;;
						printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
					&#125;
					car='a';
					while &#40;&#40;car!='s'&#41;&amp;&amp;&#40;car!='n'&#41;&#41;
					&#123;
						printf&#40;&quot;Voc\? aceita?&#40;s/n&#41;&quot;&#41;;
						scanf&#40;&quot;%s&quot;,&amp;car&#41;;
					&#125;
					if &#40;car=='n'&#41;
					&#123;
						pntsrod&#91;0&#93;=3;
						continua=FALSE;
					&#125;
					else
					&#123;
						estado=1;
						last=-1;
					&#125;
				&#125;
				if &#40;continua==TRUE&#41;
					pctruca&#40;&#41;;
				if &#40;continua==TRUE&#41;
					pcplay&#40;&#41;;
				local=2;
				if &#40;continua==TRUE&#41;
					jgtruca&#40;&#41;;
				if &#40;continua==TRUE&#41;
					jgplay&#40;&#41;;
			&#125;
			else
			&#123;
				if &#40;&#40;&#40;pnts&#91;0&#93;==11&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;11&#41;&#41;&amp;&amp;&#40;turno==0&#41;&#41;
				&#123;
					printf&#40;&quot;Pc est\  com m\Æo de 11.\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					if &#40;qly&lt;60&#41;
					&#123;
						printf&#40;&quot;\nPc correu.\n&gt;&gt;&quot;&#41;;
						pntsrod&#91;1&#93;=3;
						continua=FALSE;
					&#125;
					else
					&#123;
						printf&#40;&quot;\nPc aceitou.\n&gt;&gt;&quot;&#41;;
						estado=1;
						last=-1;
					&#125;
				esp=getch&#40;&#41;;
				&#125;
				if &#40;&#40;&#40;pnts&#91;1&#93;==11&#41;&amp;&amp;&#40;pnts&#91;0&#93;&lt;11&#41;&#41;&amp;&amp;&#40;turno==0&#41;&#41;
				&#123;
					printf&#40;&quot;Voc\? est\  com m\Æo de 11.\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					printf&#40;&quot;\nVirada&#58; %c %c\n&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
					printf&#40;&quot;\nSua m\Æo \?&#58;\n&quot;&#41;;
					for &#40;i=0; i&lt;3; i++&#41;
					&#123;
						tipo&#91;0&#93;='\0';
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
							strcpy&#40;&amp;tipo,&amp;g&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
							strcpy&#40;&amp;tipo,&amp;c&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
							strcpy&#40;&amp;tipo,&amp;e&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
							strcpy&#40;&amp;tipo,&amp;m&#41;;
						printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
					&#125;
					car='a';
					while &#40;&#40;car!='s'&#41;&amp;&amp;&#40;car!='n'&#41;&#41;
					&#123;
						printf&#40;&quot;Voc\? aceita?&#40;s/n&#41;&quot;&#41;;
						scanf&#40;&quot;%s&quot;,&amp;car&#41;;
					&#125;
					if &#40;car=='n'&#41;
					&#123;
						pntsrod&#91;0&#93;=3;
						continua=FALSE;
					&#125;
					else
					&#123;
						estado=1;
						last=-1;
					&#125;
				&#125;
				local=1;
				if &#40;continua==TRUE&#41;
					jgtruca&#40;&#41;;
				if &#40;continua==TRUE&#41;
					jgplay&#40;&#41;;
				if &#40;continua==TRUE&#41;
					pctruca&#40;&#41;;
				if &#40;continua==TRUE&#41;
					pcplay&#40;&#41;;
			&#125;
        	    	if &#40;&#40;pntsrod&#91;0&#93;&lt;2&#41;&amp;&amp;&#40;pntsrod&#91;1&#93;&lt;2&#41;&#41;
	           	&#123;           
				/*Avalia o resultado do turno*/
				if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;
				&#123;
					inicial=0;
					if &#40;&#40;vale==1&#41;||&#40;vale==2&#41;&#41;
						pntsrod&#91;0&#93;=3;
					else
						pntsrod&#91;0&#93;++;
					if &#40;turno==0&#41;
						primeira=0;
					printf&#40;&quot;\nPc levou este turno.\n&gt;&gt;&quot;&#41;;
				&#125;
				if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;&lt;cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;
				&#123;
					inicial=1;
					if &#40;&#40;vale==1&#41;||&#40;vale==2&#41;&#41;
						pntsrod&#91;1&#93;=3;
					else
						pntsrod&#91;1&#93;++;
					if &#40;turno==0&#41;
						primeira=1;
					printf&#40;&quot;\nVoc\? levou este turno.\n&gt;&gt;&quot;&#41;;
				&#125;
				if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;
				&#123;
					if &#40;turno==0&#41;
					&#123;
						vale=1;
						printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
					&#125;
					if &#40;turno==1&#41;
						if &#40;vale==0&#41;
						&#123;
							pntsrod&#91;primeira&#93;=3;
							printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
						&#125;
						else
						&#123;
							vale=2;
							printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
						&#125;
					if &#40;turno==2&#41;
					&#123;
						if &#40;vale==2&#41;
						&#123;
							naipe0=&#40;int&#41;&#40;mesa&#91;1&#93;&#91;3&#93;/10&#41;;
							naipe1=&#40;int&#41;&#40;mesa&#91;1&#93;&#91;3&#93;/10&#41;;
							if &#40;naipe0&gt;naipe1&#41;
							&#123;
								pntsrod&#91;0&#93;=3;
								printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
							&#125;
							else
							&#123;
								pntsrod&#91;1&#93;=3;
								printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
							&#125;
						&#125;
						else
						&#123;
							pntsrod&#91;primeira&#93;=3;
							printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
						&#125;
					&#125;	
				&#125;
				esp=getch&#40;&#41;;
			&#125;
		&#125;
		printf&#40;&quot;\n***********************************\n&quot;&#41;;
		valor=estado*3;
		if &#40;estado==0&#41;
			valor=1;
		if &#40;pntsrod&#91;0&#93;&gt;=2&#41;
		&#123;
			if &#40;pnts&#91;0&#93;==11&#41;
				valor=1;
			pnts&#91;0&#93;=pnts&#91;0&#93;+valor;
			if &#40;valor==1&#41;
				printf&#40;&quot;\nPc ganhou 1 ponto\n&quot;&#41;;
			else
               			printf&#40;&quot;\nPc ganhou %d pontos\n&quot;,valor&#41;;
            		printf&#40;&quot;\n***********************************\n&quot;&#41;;
           	&#125;
		if &#40;pntsrod&#91;1&#93;&gt;=2&#41;
		&#123;
			if &#40;pnts&#91;1&#93;==11&#41;
				valor=1;
			if &#40;valor==1&#41;
				printf&#40;&quot;\nVoc\? ganhou 1 ponto\n&quot;&#41;;
			else
               			printf&#40;&quot;\nVoc\? ganhou %d pontos\n&quot;,valor&#41;;
			pnts&#91;1&#93;=pnts&#91;1&#93;+valor;
            		printf&#40;&quot;\n***********************************\n&quot;&#41;;
		&#125;
		esp=getch&#40;&#41;;
		if &#40;pnts&#91;0&#93;&gt;12&#41;
			pnts&#91;0&#93;=12;
		if &#40;pnts&#91;1&#93;&gt;12&#41;
			pnts&#91;1&#93;=12;
		printf&#40;&quot;\n\tPLACAR PARCIAL\n&quot;&#41;;
		printf&#40;&quot;\t---------------------\n\t Pc =   %d\n&quot;,pnts&#91;0&#93;&#41;;
		printf&#40;&quot;\t---------------------\n\t %s =   %d\n&quot;,nome,pnts&#91;1&#93;&#41;;
		printf&#40;&quot;\t---------------------\n&quot;&#41;;
		printf&#40;&quot;&gt;&gt;&quot;&#41;;
		esp=getch&#40;&#41;;
		if &#40;&#40;pnts&#91;0&#93;&gt;=ptsmax&#41;||&#40;pnts&#91;1&#93;&gt;=ptsmax&#41;&#41;
		&#123;
			if &#40;pnts&#91;0&#93;&gt;=ptsmax&#41;
			&#123;
				npartidas++;
				saldo=pnts&#91;1&#93;-ptsmax;
		    		printf&#40;&quot;\n\n\tVOC\Ò PERDEU!!!\n\n&quot;&#41;;
	      		&#125;
			if &#40;pnts&#91;1&#93;&gt;=ptsmax&#41;
			&#123;
				vitorias++;
				npartidas++;
				saldo=ptsmax-pnts&#91;0&#93;;
				printf&#40;&quot;\n\n\tVOC\Ò GANHOU!!!\n\n&quot;&#41;;
			&#125;
			system&#40;&quot;Pause&quot;&#41;;
		&#125;
		if &#40;primeiro==0&#41;
			primeiro++;
		else
		    	primeiro--;
        	rodada++;
	&#125;
	save&#40;&#41;;
&#125;

void embaralha&#40;void&#41;
&#123;
	int num, i, j, k;
	char ch&#91;2&#93;;
	for &#40;i=0; i&lt;40; i++&#41;
	&#123;
		num=sorteia&#40;40-i&#41;;
		baralho&#91;i&#93;=matriz&#91;num&#93;;
		for &#40;j=num; j&lt;&#40;39&#41;; j++&#41;
			matriz&#91;j&#93;=matriz&#91;j+1&#93;;
	&#125;
	for &#40;i=0; i&lt;40; i++&#41;
		matriz&#91;i&#93;=baralho&#91;i&#93;;
&#125;

int sorteia&#40;int max&#41;
&#123;
	return &#40;&#40;int&#41;max*rand&#40;&#41;/&#40;RAND_MAX+1&#41;&#41;;
&#125;

void distribui&#40;void&#41;
&#123;
	int	a, b, i;
	for &#40;a=0; a&lt;3; a++&#41;
	&#123;
		for &#40;b=0; b&lt;2; b++&#41;
		&#123;
			mao&#91;b&#93;&#91;a&#93;=baralho&#91;a*2+b&#93;;
		&#125;
	&#125;
	virada=baralho&#91;6&#93;;
	printf&#40;&quot;\n***********************************\n&quot;&#41;;
	printf&#40;&quot;Rodada %2d&quot;,rodada+1&#41;;
	printf&#40;&quot;\n&gt;&gt;&quot;&#41;;
	esp=getch&#40;&#41;;
	if &#40;primeiro==0&#41;
	    printf&#40;&quot;\nPc come\?a!\n&gt;&gt;&quot;&#41;;
   	else
        	printf&#40;&quot;\nVoc\? come\?a!\n&gt;&gt;&quot;&#41;;
    	printf&#40;&quot;&quot;&#41;;
    	esp=getch&#40;&#41;;
&#125;

void pcplay&#40;void&#41;
&#123;
	int num, i, j, wx, ql, jogou, valormao;
	char tipo&#91;40&#93;;
	
	


	/*Pc escolhe carta para jogar*/
	if &#40;inicial==0&#41;
	&#123;
		if &#40;&#40;pntsrod&#91;0&#93;==0&#41;&amp;&amp;&#40;turno&gt;0&#41;&#41;
		&#123;
			if &#40;cartas&#91;mao&#91;0&#93;&#91;1&#93;&#93;&gt;6&#41;
				num=sorteia&#40;3-turno&#41;;
			else
				num=0;
		&#125;
		else
			num=sorteia&#40;3-turno&#41;;
	&#125;
	if &#40;&#40;pnts&#91;0&#93;==11&#41;||&#40;pnts&#91;1&#93;==11&#41;&#41;
		num=sorteia&#40;3-turno&#41;;
	if &#40;inicial==1&#41;
	&#123;
		jogou=FALSE;
		for &#40;i=&#40;2-turno&#41;; i&gt;=0; i--&#41;
		&#123;
			if &#40;&#40;cartas&#91;mao&#91;0&#93;&#91;i&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;&amp;&amp;&#40;jogou==FALSE&#41;&#41;
			&#123;
				num=i;
				jogou=TRUE;
			&#125;
		&#125;
		if &#40;jogou==FALSE&#41;
			for &#40;i=&#40;2-turno&#41;; i&gt;=0; i--&#41;
			&#123;
				if &#40;&#40;cartas&#91;mao&#91;0&#93;&#91;i&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;&amp;&amp;&#40;jogou==FALSE&#41;&#41;
				&#123;
					num=i;
					jogou=TRUE;
				&#125;
			&#125;
		if &#40;jogou==FALSE&#41;
			num=2-turno;
		if &#40;&#40;pntsrod&#91;0&#93;==pntsrod&#91;1&#93;&#41;&amp;&amp;&#40;turno!=0&#41;&#41;
			num=0;
	&#125;

	tipo&#91;0&#93;='\0';
	mesa&#91;0&#93;&#91;turno&#93;=mao&#91;0&#93;&#91;num&#93;;
	for &#40;i=num; i&lt;&#40;2-turno&#41;; i++&#41;
		mao&#91;0&#93;&#91;i&#93;=mao&#91;0&#93;&#91;i+1&#93;;
	if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==13&#41;
		strcpy&#40;&amp;tipo,&amp;g&#41;;
	if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==12&#41;
		strcpy&#40;&amp;tipo,&amp;c&#41;;
	if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==11&#41;
		strcpy&#40;&amp;tipo,&amp;e&#41;;
	if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==10&#41;
		strcpy&#40;&amp;tipo,&amp;m&#41;;
	printf&#40;&quot;\nPc jogou&#58;  %c %c  %s\n&quot;,carta&#40;mesa&#91;0&#93;&#91;turno&#93;&#41;,toon&#40;mesa&#91;0&#93;&#91;turno&#93;&#41;,tipo&#41;;
	printf&#40;&quot;&gt;&gt;&quot;&#41;;
	esp=getch&#40;&#41;;
&#125;

void jgplay&#40;void&#41;
&#123;
	int num, i, vle;
	char tipo&#91;40&#93;;
	num=10;
	while &#40;&#40;num&lt;0&#41;||&#40;num&gt;&#40;2-turno&#41;&#41;&#41;
	&#123;
	   	printf&#40;&quot;\nVirada&#58;  %c %c\n&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
		if &#40;&#40;pnts&#91;0&#93;==11&#41;&amp;&amp;&#40;pnts&#91;1&#93;==11&#41;&#41;
		&#123;
			printf&#40;&quot;\nQue carta voc\? quer jogar?&#40;1&quot;&#41;;
			for &#40;i=1; i&lt;&#40;3-turno&#41;; i++&#41;
				printf&#40;&quot;/%d&quot;,i+1&#41;;
			printf&#40;&quot;&#41;\n&quot;&#41;;
			scanf&#40;&quot;%d&quot;,&amp;num&#41;;
			num--;			
		&#125;
		else
		&#123;
			printf&#40;&quot;\nQue carta voc\? quer jogar?\n&quot;&#41;;
			for &#40;i=0; i&lt;&#40;3-turno&#41;; i++&#41;
			&#123;
				tipo&#91;0&#93;='\0';
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
					strcpy&#40;&amp;tipo,&amp;g&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
					strcpy&#40;&amp;tipo,&amp;c&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
					strcpy&#40;&amp;tipo,&amp;e&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
					strcpy&#40;&amp;tipo,&amp;m&#41;;
	        		printf&#40;&quot;%d - %c %c %s\n&quot;,i+1,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
			&#125;
			scanf&#40;&quot;%d&quot;,&amp;num&#41;;
			num--;
		&#125;
		if &#40;&#40;num&lt;0&#41;||&#40;num&gt;&#40;2-turno&#41;&#41;&#41;
		&#123;
			printf&#40;&quot;\a\n\tVALOR INCORRETO!!\n&quot;&#41;;
			printf&#40;&quot;\nDigite sua op\?\Æo entre 0 e %d\n&quot;,&#40;2-turno&#41;&#41;;
			system&#40;&quot;Pause&quot;&#41;;
		&#125;
		else
        	&#123;
			tipo&#91;0&#93;='\0';
			if &#40;cartas&#91;mao&#91;1&#93;&#91;num&#93;&#93;==13&#41;
				strcpy&#40;&amp;tipo,&amp;g&#41;;
			if &#40;cartas&#91;mao&#91;1&#93;&#91;num&#93;&#93;==12&#41;
				strcpy&#40;&amp;tipo,&amp;c&#41;;
			if &#40;cartas&#91;mao&#91;1&#93;&#91;num&#93;&#93;==11&#41;
				strcpy&#40;&amp;tipo,&amp;e&#41;;
			if &#40;cartas&#91;mao&#91;1&#93;&#91;num&#93;&#93;==10&#41;
				strcpy&#40;&amp;tipo,&amp;m&#41;;
                       	printf&#40;&quot;Voc\? jogou&#58; %c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;num&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;num&#93;&#41;,tipo&#41;;
	                printf&#40;&quot;&gt;&gt;&quot;&#41;;
   	    	&#125;
	        esp=getch&#40;&#41;;
	&#125;
	mesa&#91;1&#93;&#91;turno&#93;=mao&#91;1&#93;&#91;num&#93;;
	for &#40;i=num; i&lt;&#40;2-turno&#41;; i++&#41;
		mao&#91;1&#93;&#91;i&#93;=mao&#91;1&#93;&#91;i+1&#93;;	
&#125;

void atribui&#40;void&#41;
&#123;
	int vle, a, i, j, card;
	if &#40;&#40;virada%10&#41;&lt;9&#41;
	&#123;
		card=&#40;virada%10&#41;+1;
	&#125;
	else	
		card=0;
	vle=0;
	for &#40;i=0; i&lt;4; i++&#41;
	&#123;
		vle=0;
		for &#40;j=0; j&lt;10; j++&#41;
		&#123;
			if &#40;card==j&#41;
				cartas&#91;10*i+j&#93;=10+i;
			else
			&#123;
				cartas&#91;10*i+j&#93;=vle;
				vle=vle+1;
			&#125;
		&#125;
	&#125;
&#125;

char toon&#40;int card&#41;
&#123;
	int vle, x;
	vle=&#40;int&#41;&#40;card/10&#41;;
	if &#40;vle==0&#41;
		x=4;
	if &#40;vle==1&#41;
		x=6;
	if &#40;vle==2&#41;
		x=3;
	if &#40;vle==3&#41;
		x=5;
	return &#40;&quot;%c&quot;,x&#41;;
&#125;

char carta&#40;int card&#41;
&#123;
	int vle;
	char x;
	vle=card%10;
	if &#40;vle&gt;7&#41;
		x=&#40;&quot;\c&quot;,42+vle&#41;;
	if &#40;vle==7&#41;
		x='A';
	if &#40;vle==6&#41;
		x='K';
	if &#40;vle==5&#41;
		x='J';
	if &#40;vle==4&#41;
		x='Q';
	if &#40;vle&lt;4&#41;
		x=&#40;&quot;%c&quot;,52+vle&#41;;
	return x;
&#125;

void save&#40;void&#41;
&#123;
	int	i, pos, njogadores, pontos, j;
	char	nm&#91;40&#93;;

	/*Abre o arquivo para leitura, se existir*/
	if &#40;&#40;arq=fopen&#40;&quot;Rank.TXT&quot;,&quot;r&quot;&#41;&#41;!=NULL&#41;
	&#123;
		/*Obtem os nomes e a pontuação*/		
		for &#40;i=0; i&lt;100; i++&#41;
		&#123;
			fscanf&#40;arq,&quot;%s%d%d%d&quot;,&amp;ranknomes&#91;i&#93;,&amp;rankpartidas&#91;i&#93;,&amp;rankvitorias&#91;i&#93;,&amp;rankpts&#91;i&#93;&#41;;
		&#125;
	&#125;


	/*senão, o cria*/
	else
	&#123;
		arq=fopen&#40;&quot;Rank.txt&quot;,&quot;w&quot;&#41;;
		for &#40;i=0; i&lt;100; i++&#41;
		&#123;
			fprintf&#40;arq,&quot;%s %d %d %d\n&quot;,vazio,0,0,0&#41;;
			strcpy&#40;&amp;ranknomes&#91;i&#93;,&amp;vazio&#41;;
			rankpartidas&#91;i&#93;=0;
			rankvitorias&#91;i&#93;=0;
			rankpts&#91;i&#93;=0;
		&#125;
	&#125;


	/*fecha o arquivo*/
	fclose&#40;arq&#41;;


	/*procura o nome e conta o número de jogadores na lista*/
	njogadores=0;
	pos=-1;
	i=0;
	while &#40;&#40;pos==-1&#41;||&#40;i==njogadores&#41;&#41;
	&#123;
		if &#40;strcmp&#40;&amp;ranknomes&#91;i&#93;,&amp;nome&#41;==0&#41;
			pos=i;
		if &#40;&#40;pos==-1&#41;&amp;&amp;&#40;i==99&#41;&#41;
			pos=100;
		if &#40;strcmp&#40;&amp;ranknomes&#91;i&#93;,&amp;vazio&#41;!=0&#41;
			njogadores++;
		i++;
	&#125;


	/*se encontrar, acrescenta ou diminui seus pontos*/
	if &#40;pos&lt;100&#41;
	&#123;
		rankpartidas&#91;pos&#93;=rankpartidas&#91;pos&#93;+npartidas;
		rankpts&#91;pos&#93;=rankpts&#91;pos&#93;+saldo;
		rankvitorias&#91;pos&#93;=rankvitorias&#91;pos&#93;+vitorias;
	&#125;


	/*senão, adiciona-lhe ao final da lista*/
	else
	&#123;
		njogadores++;
		rankpartidas&#91;njogadores-1&#93;=npartidas;
		rankvitorias&#91;njogadores-1&#93;=vitorias;
		rankpts&#91;njogadores-1&#93;=saldo;
		strcpy&#40;&amp;ranknomes&#91;njogadores-1&#93;,&amp;nome&#41;;
	&#125;


	/*ordena a lista em forma decrescente*/
	for &#40;i=0; i&lt;&#40;njogadores-1&#41;; i++&#41;
	&#123;
		for &#40;j=0; j&lt;&#40;njogadores-1&#41;; j++&#41;
		&#123;
			if &#40;rankvitorias&#91;j&#93;&lt;rankvitorias&#91;j+1&#93;&#41;
			&#123;
				pontos=rankpts&#91;j&#93;;
				rankpts&#91;j&#93;=rankpts&#91;j+1&#93;;
				rankpts&#91;j+1&#93;=pontos;

				pontos=rankvitorias&#91;j&#93;;
				rankvitorias&#91;j&#93;=rankvitorias&#91;j+1&#93;;
				rankvitorias&#91;j+1&#93;=pontos;

				pontos=rankpartidas&#91;j&#93;;
				rankpartidas&#91;j&#93;=rankpartidas&#91;j+1&#93;;
				rankpartidas&#91;j+1&#93;=pontos;

				strcpy&#40;&amp;nm,&amp;ranknomes&#91;j&#93;&#41;;
				strcpy&#40;&amp;ranknomes&#91;j&#93;,&amp;ranknomes&#91;j+1&#93;&#41;;
				strcpy&#40;&amp;ranknomes&#91;j+1&#93;,&amp;nm&#41;;
			&#125;
			else
			&#123;
				if &#40;rankvitorias&#91;j&#93;==rankvitorias&#91;j+1&#93;&#41;
				&#123;
					if &#40;rankpts&#91;j&#93;&lt;rankpts&#91;j+1&#93;&#41;
					&#123;
						pontos=rankpts&#91;j&#93;;
						rankpts&#91;j&#93;=rankpts&#91;j+1&#93;;
						rankpts&#91;j+1&#93;=pontos;

						pontos=rankvitorias&#91;j&#93;;
						rankvitorias&#91;j&#93;=rankvitorias&#91;j+1&#93;;
						rankvitorias&#91;j+1&#93;=pontos;
	
						pontos=rankpartidas&#91;j&#93;;
						rankpartidas&#91;j&#93;=rankpartidas&#91;j+1&#93;;
						rankpartidas&#91;j+1&#93;=pontos;
	
						strcpy&#40;&amp;nm,&amp;ranknomes&#91;j&#93;&#41;;
						strcpy&#40;&amp;ranknomes&#91;j&#93;,&amp;ranknomes&#91;j+1&#93;&#41;;
						strcpy&#40;&amp;ranknomes&#91;j+1&#93;,&amp;nm&#41;;
					&#125;
					else
					&#123;
						if &#40;rankpts&#91;j&#93;==rankpts&#91;j+1&#93;&#41;
						&#123;
							if &#40;rankpartidas&#91;j&#93;&lt;rankpartidas&#91;j+1&#93;&#41;
							&#123;
								pontos=rankpts&#91;j&#93;;
								rankpts&#91;j&#93;=rankpts&#91;j+1&#93;;
								rankpts&#91;j+1&#93;=pontos;

								pontos=rankvitorias&#91;j&#93;;
								rankvitorias&#91;j&#93;=rankvitorias&#91;j+1&#93;;
								rankvitorias&#91;j+1&#93;=pontos;
			
								pontos=rankpartidas&#91;j&#93;;
								rankpartidas&#91;j&#93;=rankpartidas&#91;j+1&#93;;
								rankpartidas&#91;j+1&#93;=pontos;
	
								strcpy&#40;&amp;nm,&amp;ranknomes&#91;j&#93;&#41;;
								strcpy&#40;&amp;ranknomes&#91;j&#93;,&amp;ranknomes&#91;j+1&#93;&#41;;
								strcpy&#40;&amp;ranknomes&#91;j+1&#93;,&amp;nm&#41;;
							&#125;
						&#125;
					&#125;
				&#125;
			&#125;
		&#125;
	&#125;


	/*recria o arquivo para escrita*/
	if &#40;&#40;arq=fopen&#40;&quot;Rank.txt&quot;,&quot;w&quot;&#41;&#41;==NULL&#41;
	&#123;
		printf&#40;&quot;\n\aErro de leitura.\nO arquivo 'Rank.Txt' pode estar corrompido ou danificado.\n&quot;&#41;;
	&#125;
	else
	&#123;
		/*escreve os dados da lista*/
		for &#40;i=0; i&lt;100; i++&#41;
		&#123;
			fprintf&#40;arq,&quot;%s %d %d %d\n&quot;,ranknomes&#91;i&#93;,rankpartidas&#91;i&#93;,rankvitorias&#91;i&#93;,rankpts&#91;i&#93;&#41;;
		&#125;
	&#125;


	/*fecha o arquivo*/
	fclose&#40;arq&#41;;
&#125;

void pcpensa&#40;void&#41;
&#123;
	int i, valormao;
	valormao=0;
	for &#40;i=0; i&lt;&#40;3-turno&#41;; i++&#41;
		valormao=valormao+cartas&#91;mao&#91;0&#93;&#91;i&#93;&#93;;
	qly=3*valormao;
	if &#40;turno==0&#41;
	&#123;
		if &#40;inicial==1&#41;
		&#123;
			for &#40;i=0; i&lt;3; i++&#41;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;i&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;0&#93;&#93;&#41;
					qly=qly+5;
			if &#40;qly==&#40;3*valormao&#41;&#41;
			&#123;
				qly=25+sorteia&#40;50&#41;;	/*Facão*/
			&#125;
		&#125;
	&#125;
	if &#40;turno==1&#41;
	&#123;
		if &#40;pntsrod&#91;0&#93;==1&#41;
		&#123;
			qly=5*valormao;
			if &#40;cartas&#91;mesa&#91;0&#93;&#91;1&#93;&#93;==-1&#41;
			&#123;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;&gt;=10&#41;
					qly=60;
				if &#40;cartas&#91;mao&#91;9&#93;&#91;1&#93;&#93;&gt;=8&#41;
					qly=qly+20;
			&#125;
			else
			&#123;
				if &#40;cartas&#91;mesa&#91;0&#93;&#91;1&#93;&#93;&gt;=11&#41;
					qly=65;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;1&#93;&#93;&gt;=9&#41;
					qly=90;
			&#125;
			if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;==13&#41;
				qly=100;
		&#125;
		if &#40;pntsrod&#91;1&#93;==1&#41;
		&#123;
			if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;&lt;cartas&#91;mesa&#91;1&#93;&#91;1&#93;&#93;&#41;
			&#123;
					qly=30+sorteia&#40;50&#41;;	/*Facão*/
			&#125;
			else
			&#123;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;1&#93;&#93;&lt;cartas&#91;mesa&#91;1&#93;&#91;1&#93;&#93;&#41;
				&#123;
						qly=20+sorteia&#40;50&#41;;	/*Facão*/
				&#125;
				else
				&#123;
					qly=4*valormao+sorteado;
				&#125;
			&#125;
		&#125;
		else
		&#123;
			qly=6*cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;+2*cartas&#91;mao&#91;0&#93;&#91;1&#93;&#93;+sorteado;
		&#125;
	&#125;
	if &#40;turno==2&#41;
	&#123;
		if &#40;inicial==1&#41;
		&#123;
			if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;2&#93;&#93;&#41;
			&#123;
				qly=100;
			&#125;
			else
			&#123;
				if &#40;&#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;==cartas&#91;mesa&#91;1&#93;&#91;2&#93;&#93;&#41;&amp;&amp;&#40;cartas&#91;mesa&#91;0&#93;&#91;0&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;0&#93;&#93;&#41;&#41;
				&#123;
					qly=100;
				&#125;
				else
				&#123;
						qly=30+sorteia&#40;60&#41;;	/*Facão*/
				&#125;
			&#125;			
		&#125;
		if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;==13&#41;
			qly=100;
	&#125;
&#125;

void pctruca&#40;void&#41;
&#123;
	int	num, i;
	char	tipo&#91;40&#93;;
	pcpensa&#40;&#41;;
	if &#40;&#40;&#40;pnts&#91;0&#93;&lt;11&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;11&#41;&#41;&amp;&amp;&#40;&#40;&#40;last==1&#41;||&#40;last==2&#41;&#41;&amp;&amp;&#40;estado&lt;4&#41;&#41;&#41;
	&#123;
		if &#40;qly&gt;&#40;50+sorteia&#40;20&#41;+estado*8&#41;&#41;
		&#123;
			printf&#40;&quot;\nPc pediu %s.\n&gt;&gt;&quot;,status&#91;estado+1&#93;&#41;;
			esp=getch&#40;&#41;;
			printf&#40;&quot;\nVirada&#58; %c %c\n&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
			printf&#40;&quot;\nSua m\Æo \?&#58;\n&quot;&#41;;
			if &#40;mesa&#91;1&#93;&#91;turno&#93;==-1&#41;
			&#123;
				for &#40;i=0; i&lt;&#40;3-turno&#41;; i++&#41;
				&#123;
					tipo&#91;0&#93;='\0';
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
						strcpy&#40;&amp;tipo,&amp;g&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
						strcpy&#40;&amp;tipo,&amp;c&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
						strcpy&#40;&amp;tipo,&amp;e&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
						strcpy&#40;&amp;tipo,&amp;m&#41;;
					printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
				&#125;
			&#125;
			else
			&#123;
				for &#40;i=0; i&lt;&#40;2-turno&#41;; i++&#41;
				&#123;
					tipo&#91;0&#93;='\0';
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
						strcpy&#40;&amp;tipo,&amp;g&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
						strcpy&#40;&amp;tipo,&amp;c&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
						strcpy&#40;&amp;tipo,&amp;e&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
						strcpy&#40;&amp;tipo,&amp;m&#41;;
					printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
				&#125;
			&#125;		
			printf&#40;&quot;Digite&#58;\n1 - Aceitar;\n2 - Correr\n&quot;&#41;;
			if &#40;estado&lt;3&#41;
				printf&#40;&quot;3 - Pedir '%s'\n&quot;,status&#91;estado+2&#93;&#41;;
			scanf&#40;&quot;%d&quot;,&amp;num&#41;;
			if &#40;num==1&#41;
			&#123;
				estado++;
				last=0;
			&#125;
			if &#40;num==2&#41;
			&#123;
				continua=FALSE;
				pntsrod&#91;0&#93;=3;
			&#125;
			if &#40;num==3&#41;
			&#123;
				last=0;
				estado++;
				local=0;
				jgtruca&#40;&#41;;
			&#125;
			
		&#125;
	&#125;
&#125;

void pcordena&#40;void&#41;
&#123;
	int	i, j, wx;
	/*Ordena as cartas do pc no primeiro turno*/
	if &#40;turno==0&#41;
	&#123;
		for &#40;i=0; i&lt;2; i++&#41;
			for &#40;j=0; j&lt;2; j++&#41;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;j&#93;&#93;&lt;cartas&#91;mao&#91;0&#93;&#91;j+1&#93;&#93;&#41;
				&#123;
					wx=mao&#91;0&#93;&#91;j&#93;;
					mao&#91;0&#93;&#91;j&#93;=mao&#91;0&#93;&#91;j+1&#93;;
					mao&#91;0&#93;&#91;j+1&#93;=wx;
				&#125;
	&#125;
&#125;

void jgtruca&#40;void&#41;
&#123;
	char	car;
	char	tipo&#91;40&#93;;
	int	cont, i, num;
	if &#40;&#40;&#40;pnts&#91;0&#93;&lt;11&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;11&#41;&#41;&amp;&amp;&#40;&#40;&#40;last==0&#41;||&#40;last==2&#41;&#41;&amp;&amp;&#40;estado&lt;4&#41;&#41;&#41;
	&#123;
		cont=TRUE;
		if &#40;local!=0&#41;
		&#123;
			printf&#40;&quot;\nVirada&#58; %c %c&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
			printf&#40;&quot;\nSua m\Æo \?&#58;\n&quot;&#41;;
			for &#40;i=0; i&lt;&#40;3-turno&#41;; i++&#41;
			&#123;
				tipo&#91;0&#93;='\0';
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
					strcpy&#40;&amp;tipo,&amp;g&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
					strcpy&#40;&amp;tipo,&amp;c&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
					strcpy&#40;&amp;tipo,&amp;e&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
					strcpy&#40;&amp;tipo,&amp;m&#41;;
				printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
			&#125;
			num=0;
			while &#40;&#40;num!=1&#41;&amp;&amp;&#40;num!=2&#41;&#41;
			&#123;
				printf&#40;&quot;\nVoc\? quer pedir %s?\n&quot;,status&#91;estado+1&#93;&#41;;
				printf&#40;&quot;1 - Sim\n&quot;&#41;;
				printf&#40;&quot;2 - N\Æo\n&quot;&#41;;
				scanf&#40;&quot;%d&quot;,&amp;num&#41;;
			&#125;

			if &#40;num==2&#41;
				cont=FALSE;
		&#125;
		if &#40;cont==TRUE&#41;
		&#123;
			pcpensa&#40;&#41;;
			if &#40;&#40;qly&gt;&#40;sorteia&#40;10&#41;+&#40;estado+1&#41;*8+40&#41;&#41;&amp;&amp;&#40;&#40;qly&lt;&#40;sorteia&#40;10&#41;+&#40;estado+2&#41;*8+40&#41;&#41;&#41;||&#40;estado&gt;2&#41;&#41;
			&#123;
				estado++;
				last=1;
				printf&#40;&quot;\nPc aceitou!\n&gt;&gt;&quot;&#41;;
				esp=getch&#40;&#41;;
			&#125;
			else
			&#123;
				if &#40;&#40;qly&gt;&#40;sorteia&#40;10&#41;+&#40;estado+2&#41;*8+40&#41;&#41;&amp;&amp;&#40;estado&lt;3&#41;&#41;
				&#123;
					estado++;
					last=1;
					printf&#40;&quot;\nPc aceitou!\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					pctruca&#40;&#41;;
				&#125;
				else
				&#123;
					continua=FALSE;
					pntsrod&#91;1&#93;=3;
					printf&#40;&quot;\nPc correu!\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
				&#125;
			&#125;
		&#125;
	&#125;
&#125;
'; if (cartas[mao[1][i]]==13) strcpy(&tipo,&g); if (cartas[mao[1][i]]==12) strcpy(&tipo,&c); if (cartas[mao[1][i]]==11) strcpy(&tipo,&e); if (cartas[mao[1][i]]==10) strcpy(&tipo,&m); printf("%d - %c %c %s\n",i+1,carta(mao[1][i]),toon(mao[1][i]),tipo); } scanf("%d",&num); num--; } if ((num<0)||(num>(2-turno))) { printf("\a\n\tVALOR INCORRETO!!\n"); printf("\nDigite sua op\?\Æo entre 0 e %d\n",(2-turno)); system("Pause"); } else { tipo[0]='
/*Jogo de truco em C*/
/*Versão 0.20*/


/*Bibliotecas utilizadas*/
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;string.h&gt;


/*Estados&#58;
	0=normal
	1=trucado
	2=vale seis
	3=vale nove
	4=vale doze
		*/


/*Constantes*/
#define opcoes 4
#define versao 0.20
#define TRUE 1
#define FALSE 0
#define ptsmax 12
#define g &quot;&#40;Gato&#41;&quot;
#define c &quot;&#40;Copas&#41;&quot;
#define e &quot;&#40;Espadilha&#41;&quot;
#define m &quot;&#40;Mole&#41;&quot;
#define truco &quot;truco&quot;
#define seis &quot;seis&quot;
#define nove &quot;nove&quot;
#define doze &quot;doze&quot;
#define vazio &quot;vazio&quot;
#define autor2 &quot;Celito Gregolon J\£nior&quot;     /*Ordem alfabética*/
#define autor1 &quot;Carlos Eduardo Weber&quot;
#define autor3 &quot;Ricardo Oenning&quot;
#define part &quot;Partidas&quot;
#define sal &quot;Pontos&quot;
#define jog &quot;Jogador&quot;
#define vit &quot;Vit\¢rias&quot;


/*Variáveis Globais*/
char	nome&#91;40&#93;=&quot;Design&quot;;
int 	pnts&#91;2&#93;;
int	pntsrod&#91;2&#93;;
int	baralho&#91;40&#93;;
int	matriz&#91;40&#93;;
int 	mao&#91;2&#93;&#91;3&#93;;
int	mesa&#91;2&#93;&#91;3&#93;;
int	cartas&#91;40&#93;;
char	ranknomes&#91;100&#93;&#91;40&#93;;
int	rankpts&#91;100&#93;;
int	rankpartidas&#91;100&#93;;
int	rankvitorias&#91;100&#93;;
FILE 	*fl;
FILE 	*arq;
int	primeiro, virada, turno, rodada, estado, last, saldo, inicial, continua, qly, sorteado, local, npartidas, vitorias;
char	status&#91;6&#93;&#91;10&#93;=&#123;vazio,truco,seis,nove,doze,vazio&#125;;
char	esp;


/*Funções e procedimentos definidos*/
void 	embaralha&#40;void&#41;;
int	sorteia&#40;int max&#41;;
void	distribui&#40;void&#41;;
void	pcplay&#40;void&#41;;
void	jgplay&#40;void&#41;;
void	atribui&#40;void&#41;;
char 	toon&#40;int card&#41;;
char	carta&#40;int card&#41;;
void    save&#40;void&#41;;
void	pcpensa&#40;void&#41;;
void	pctruca&#40;void&#41;;
void	pcordena&#40;void&#41;;
void	jgtruca&#40;void&#41;;
void	jogo&#40;void&#41;;
void	sobre&#40;void&#41;;
void	rank&#40;void&#41;;


/*Principal*/
void main&#40;&#41;
&#123;
	/*Variáveis locais*/
	int opcao, i;


	/*Início*/
	opcao=opcoes+1;
	while &#40;opcao!=opcoes&#41;
	&#123;
		/* Pede para que o usuário escolha uma opção*/
		printf&#40;&quot;\n&quot;&#41;;
		printf&#40;&quot;************************\n&quot;&#41;;
		printf&#40;&quot;O que voc\? deseja fazer?\n&quot;&#41;;
		printf&#40;&quot;\t1 - Jogar truco\n&quot;&#41;;
		printf&#40;&quot;\t2 - Ver ranking\n&quot;&#41;;
		printf&#40;&quot;\t3 - Sobre...\n&quot;&#41;;
		printf&#40;&quot;\t4 - Sair\n&quot;&#41;;
		printf&#40;&quot;\nDigite uma op\?\Æo&#58;&quot;&#41;;
		scanf&#40;&quot;%d&quot;,&amp;opcao&#41;;
		strcpy&#40;&amp;status&#91;1&#93;,&amp;truco&#41;;
		strcpy&#40;&amp;status&#91;2&#93;,&amp;seis&#41;;
		strcpy&#40;&amp;status&#91;3&#93;,&amp;nove&#41;;
		strcpy&#40;&amp;status&#91;4&#93;,&amp;doze&#41;;
		/*Verifica possíveis entradas erradas*/
		if &#40;&#40;opcao&lt;1&#41;||&#40;opcao&gt;opcoes&#41;&#41;
		&#123;
			printf&#40;&quot;\a\n\nVALOR INCORRETO!\n\n&quot;&#41;;
			printf&#40;&quot;Por favor escolha uma op\?\Æo entre 1 e %d\n\n&quot;, opcoes&#41;;
			system&#40;&quot;Pause&quot;&#41;;
		&#125;
		if &#40;opcao==1&#41;
		&#123;
			jogo&#40;&#41;;
		&#125;
		if &#40;opcao==2&#41;
		&#123;
			rank&#40;&#41;;
		&#125;
		if &#40;opcao==3&#41;
		&#123;
			sobre&#40;&#41;;
		&#125;
	&#125;
&#125;


void sobre&#40;void&#41;
&#123;
/**/	printf&#40;&quot;\n\n&quot;&#41;;
	printf&#40;&quot;Programa&#58; Super Truco\n&gt;&gt;&quot;&#41;;
	esp=getch&#40;&#41;;
	printf&#40;&quot;\nVers\Æo&#58; %3.2f\n&gt;&gt;&quot;,versao&#41;;
	esp=getch&#40;&#41;;
	printf&#40;&quot;\nAutores&#58;\n&quot;&#41;;
	printf&#40;&quot;\t%s\n&quot;,autor1&#41;;
	printf&#40;&quot;\t%s\n&quot;,autor2&#41;;
	printf&#40;&quot;\t%s\n&gt;&gt;&quot;,autor3&#41;;
	esp=getch&#40;&#41;;
	printf&#40;&quot;\nComent\ rios\n&quot;&#41;;
	printf&#40;&quot;\t       Este programa foi feito em novembro de 2004 como trabalho\n&quot;&#41;;
	printf&#40;&quot;\tde conclus\Æo da disciplina de Processamento de Dados &#40;PRD&#41; da \n&quot;&#41;;
	printf&#40;&quot;\t3\¦ fase do curso de Engenharia El\?trica da Universidade do Estado\n&quot;&#41;;
	printf&#40;&quot;\tde Santa Catarina &#40;UDESC&#41;.\n&gt;&gt;&quot;&#41;;
	esp=getch&#40;&#41;;
&#125;


void rank&#40;void&#41;
&#123;
	char 	car;
	int	i;
	if &#40;&#40;arq=fopen&#40;&quot;rank.txt&quot;,&quot;r&quot;&#41;&#41;==NULL&#41;
	&#123;
		arq=fopen&#40;&quot;Rank.txt&quot;,&quot;w&quot;&#41;;
		for &#40;i=0; i&lt;100; i++&#41;
			fprintf&#40;arq,&quot;%s %d %d %d\n&quot;,vazio,0,0,0&#41;;
		fclose&#40;arq&#41;;
		arq=fopen&#40;&quot;rank.txt&quot;,&quot;r&quot;&#41;;
	&#125;
	printf&#40;&quot;\n&quot;&#41;;
	printf&#40;&quot; Rank -%15s\t%10s\t%8s%10s\n\n&quot;,jog,part,vit,sal&#41;;
	for &#40;i=0; i&lt;10; i++&#41;
	&#123;
		fscanf&#40;arq,&quot;%s%d%d%d&quot;,ranknomes&#91;i&#93;,&amp;rankpartidas&#91;i&#93;,&amp;rankvitorias&#91;i&#93;,&amp;rankpts&#91;i&#93;&#41;;
		printf&#40;&quot;%3d   -%15s\t%8d\t%5d\t%9d\n&quot;,i+1,ranknomes&#91;i&#93;,rankpartidas&#91;i&#93;,rankvitorias&#91;i&#93;,rankpts&#91;i&#93;&#41;;
	&#125;
	printf&#40;&quot;\n&quot;&#41;;
	system&#40;&quot;Pause&quot;&#41;;
	fclose&#40;arq&#41;;
	if &#40;&#40;strcmp&#40;&amp;ranknomes&#91;0&#93;,&amp;vazio&#41;&#41;!=0&#41;
	&#123;
		car='a';
		while &#40;&#40;car!='s'&#41;&amp;&amp;&#40;car!='n'&#41;&#41;
		&#123;
			printf&#40;&quot;\nVoc\? deseja limpar a lista?&#40;s/n&#41;\n&quot;&#41;;
			scanf&#40;&quot;%s&quot;,&amp;car&#41;;
			if &#40;car=='s'&#41;
			&#123;
				arq=fopen&#40;&quot;Rank.txt&quot;,&quot;w&quot;&#41;;
				for &#40;i=0; i&lt;100; i++&#41;
					fprintf&#40;arq,&quot;%s %d %d %d\n&quot;,vazio,0,0,0&#41;;
				printf&#40;&quot;Lista limpa!\n\n&quot;&#41;;
				system&#40;&quot;Pause&quot;&#41;;
			&#125;
			fclose&#40;arq&#41;;
		&#125;
	&#125;
&#125;


void jogo&#40;void&#41;
&#123;
	char ch&#91;5&#93;, tipo&#91;40&#93;, car;
	int i, primeira, vale, naipe0, naipe1, valor;

			srand&#40;time&#40;NULL&#41;&#41;;
			for &#40;i=0; i&lt;40; i++&#41;
				matriz&#91;i&#93;=39-i;

	
	/*Pede o nome do jogador*/
	printf&#40;&quot;\n\nDigite seu nome&#58;&quot;&#41;;
	scanf&#40;&quot;%s&quot;,&amp;nome&#41;;
	pnts&#91;0&#93;=0;
	pnts&#91;1&#93;=0;
	primeiro=sorteia&#40;2&#41;;
	rodada=0;
	vitorias=0;
	npartidas=0;
	saldo=0;
	while &#40;&#40;pnts&#91;0&#93;&lt;ptsmax&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;ptsmax&#41;&#41;
	&#123;
		/*embaralha as cartas*/
		embaralha&#40;&#41;;
		/*Distribui as cartas entre os jogadores*/
		distribui&#40;&#41;;
		/*Atribui uma pontuação as cartas para fins de comparação do valor das mesmas*/
		atribui&#40;&#41;;
		pntsrod&#91;0&#93;=0;
		pntsrod&#91;1&#93;=0;
		inicial=primeiro;
		turno=-1;
		estado=0;
		vale=0;
		last=2;
		local=1;
		sorteado=sorteia&#40;40&#41;;
		while &#40;&#40;pntsrod&#91;0&#93;&lt;2&#41;&amp;&amp;&#40;pntsrod&#91;1&#93;&lt;2&#41;&#41;
		&#123;
			printf&#40;&quot;\n***********************************\n&quot;&#41;;
			turno=turno+1;
			mesa&#91;1&#93;&#91;turno&#93;=-1;
			/*Os jogadores jogam as cartas*/
			pcordena&#40;&#41;;
			continua=TRUE;
			if &#40;&#40;pnts&#91;0&#93;==11&#41;&amp;&amp;&#40;pnts&#91;1&#93;==11&#41;&#41;
			&#123;
				printf&#40;&quot;\n\t*** Escurinha! ***\n&quot;&#41;;
			&#125;
			if &#40;inicial==0&#41;
			&#123;
				if &#40;&#40;&#40;pnts&#91;0&#93;==11&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;11&#41;&#41;&amp;&amp;&#40;turno==0&#41;&#41;
				&#123;
					printf&#40;&quot;Pc est\  com m\Æo de 11.\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					if &#40;qly&lt;45&#41;
					&#123;
						printf&#40;&quot;\nPc correu.\n&gt;&gt;&quot;&#41;;
						pntsrod&#91;1&#93;=3;
						continua=FALSE;
					&#125;
					else
					&#123;
						printf&#40;&quot;\nPc aceitou.\n&gt;&gt;&quot;&#41;;
						estado=1;
						last=-1;
					&#125;
				esp=getch&#40;&#41;;
				&#125;
				if &#40;&#40;&#40;pnts&#91;1&#93;==11&#41;&amp;&amp;&#40;pnts&#91;0&#93;&lt;11&#41;&#41;&amp;&amp;&#40;turno==0&#41;&#41;
				&#123;
					printf&#40;&quot;Voc\? est\  com m\Æo de 11.\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					printf&#40;&quot;\nVirada&#58; %c %c\n&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
					printf&#40;&quot;\nSua m\Æo \?&#58;\n&quot;&#41;;
					for &#40;i=0; i&lt;3; i++&#41;
					&#123;
						tipo&#91;0&#93;='\0';
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
							strcpy&#40;&amp;tipo,&amp;g&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
							strcpy&#40;&amp;tipo,&amp;c&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
							strcpy&#40;&amp;tipo,&amp;e&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
							strcpy&#40;&amp;tipo,&amp;m&#41;;
						printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
					&#125;
					car='a';
					while &#40;&#40;car!='s'&#41;&amp;&amp;&#40;car!='n'&#41;&#41;
					&#123;
						printf&#40;&quot;Voc\? aceita?&#40;s/n&#41;&quot;&#41;;
						scanf&#40;&quot;%s&quot;,&amp;car&#41;;
					&#125;
					if &#40;car=='n'&#41;
					&#123;
						pntsrod&#91;0&#93;=3;
						continua=FALSE;
					&#125;
					else
					&#123;
						estado=1;
						last=-1;
					&#125;
				&#125;
				if &#40;continua==TRUE&#41;
					pctruca&#40;&#41;;
				if &#40;continua==TRUE&#41;
					pcplay&#40;&#41;;
				local=2;
				if &#40;continua==TRUE&#41;
					jgtruca&#40;&#41;;
				if &#40;continua==TRUE&#41;
					jgplay&#40;&#41;;
			&#125;
			else
			&#123;
				if &#40;&#40;&#40;pnts&#91;0&#93;==11&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;11&#41;&#41;&amp;&amp;&#40;turno==0&#41;&#41;
				&#123;
					printf&#40;&quot;Pc est\  com m\Æo de 11.\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					if &#40;qly&lt;60&#41;
					&#123;
						printf&#40;&quot;\nPc correu.\n&gt;&gt;&quot;&#41;;
						pntsrod&#91;1&#93;=3;
						continua=FALSE;
					&#125;
					else
					&#123;
						printf&#40;&quot;\nPc aceitou.\n&gt;&gt;&quot;&#41;;
						estado=1;
						last=-1;
					&#125;
				esp=getch&#40;&#41;;
				&#125;
				if &#40;&#40;&#40;pnts&#91;1&#93;==11&#41;&amp;&amp;&#40;pnts&#91;0&#93;&lt;11&#41;&#41;&amp;&amp;&#40;turno==0&#41;&#41;
				&#123;
					printf&#40;&quot;Voc\? est\  com m\Æo de 11.\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					printf&#40;&quot;\nVirada&#58; %c %c\n&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
					printf&#40;&quot;\nSua m\Æo \?&#58;\n&quot;&#41;;
					for &#40;i=0; i&lt;3; i++&#41;
					&#123;
						tipo&#91;0&#93;='\0';
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
							strcpy&#40;&amp;tipo,&amp;g&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
							strcpy&#40;&amp;tipo,&amp;c&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
							strcpy&#40;&amp;tipo,&amp;e&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
							strcpy&#40;&amp;tipo,&amp;m&#41;;
						printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
					&#125;
					car='a';
					while &#40;&#40;car!='s'&#41;&amp;&amp;&#40;car!='n'&#41;&#41;
					&#123;
						printf&#40;&quot;Voc\? aceita?&#40;s/n&#41;&quot;&#41;;
						scanf&#40;&quot;%s&quot;,&amp;car&#41;;
					&#125;
					if &#40;car=='n'&#41;
					&#123;
						pntsrod&#91;0&#93;=3;
						continua=FALSE;
					&#125;
					else
					&#123;
						estado=1;
						last=-1;
					&#125;
				&#125;
				local=1;
				if &#40;continua==TRUE&#41;
					jgtruca&#40;&#41;;
				if &#40;continua==TRUE&#41;
					jgplay&#40;&#41;;
				if &#40;continua==TRUE&#41;
					pctruca&#40;&#41;;
				if &#40;continua==TRUE&#41;
					pcplay&#40;&#41;;
			&#125;
        	    	if &#40;&#40;pntsrod&#91;0&#93;&lt;2&#41;&amp;&amp;&#40;pntsrod&#91;1&#93;&lt;2&#41;&#41;
	           	&#123;           
				/*Avalia o resultado do turno*/
				if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;
				&#123;
					inicial=0;
					if &#40;&#40;vale==1&#41;||&#40;vale==2&#41;&#41;
						pntsrod&#91;0&#93;=3;
					else
						pntsrod&#91;0&#93;++;
					if &#40;turno==0&#41;
						primeira=0;
					printf&#40;&quot;\nPc levou este turno.\n&gt;&gt;&quot;&#41;;
				&#125;
				if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;&lt;cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;
				&#123;
					inicial=1;
					if &#40;&#40;vale==1&#41;||&#40;vale==2&#41;&#41;
						pntsrod&#91;1&#93;=3;
					else
						pntsrod&#91;1&#93;++;
					if &#40;turno==0&#41;
						primeira=1;
					printf&#40;&quot;\nVoc\? levou este turno.\n&gt;&gt;&quot;&#41;;
				&#125;
				if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;
				&#123;
					if &#40;turno==0&#41;
					&#123;
						vale=1;
						printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
					&#125;
					if &#40;turno==1&#41;
						if &#40;vale==0&#41;
						&#123;
							pntsrod&#91;primeira&#93;=3;
							printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
						&#125;
						else
						&#123;
							vale=2;
							printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
						&#125;
					if &#40;turno==2&#41;
					&#123;
						if &#40;vale==2&#41;
						&#123;
							naipe0=&#40;int&#41;&#40;mesa&#91;1&#93;&#91;3&#93;/10&#41;;
							naipe1=&#40;int&#41;&#40;mesa&#91;1&#93;&#91;3&#93;/10&#41;;
							if &#40;naipe0&gt;naipe1&#41;
							&#123;
								pntsrod&#91;0&#93;=3;
								printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
							&#125;
							else
							&#123;
								pntsrod&#91;1&#93;=3;
								printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
							&#125;
						&#125;
						else
						&#123;
							pntsrod&#91;primeira&#93;=3;
							printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
						&#125;
					&#125;	
				&#125;
				esp=getch&#40;&#41;;
			&#125;
		&#125;
		printf&#40;&quot;\n***********************************\n&quot;&#41;;
		valor=estado*3;
		if &#40;estado==0&#41;
			valor=1;
		if &#40;pntsrod&#91;0&#93;&gt;=2&#41;
		&#123;
			if &#40;pnts&#91;0&#93;==11&#41;
				valor=1;
			pnts&#91;0&#93;=pnts&#91;0&#93;+valor;
			if &#40;valor==1&#41;
				printf&#40;&quot;\nPc ganhou 1 ponto\n&quot;&#41;;
			else
               			printf&#40;&quot;\nPc ganhou %d pontos\n&quot;,valor&#41;;
            		printf&#40;&quot;\n***********************************\n&quot;&#41;;
           	&#125;
		if &#40;pntsrod&#91;1&#93;&gt;=2&#41;
		&#123;
			if &#40;pnts&#91;1&#93;==11&#41;
				valor=1;
			if &#40;valor==1&#41;
				printf&#40;&quot;\nVoc\? ganhou 1 ponto\n&quot;&#41;;
			else
               			printf&#40;&quot;\nVoc\? ganhou %d pontos\n&quot;,valor&#41;;
			pnts&#91;1&#93;=pnts&#91;1&#93;+valor;
            		printf&#40;&quot;\n***********************************\n&quot;&#41;;
		&#125;
		esp=getch&#40;&#41;;
		if &#40;pnts&#91;0&#93;&gt;12&#41;
			pnts&#91;0&#93;=12;
		if &#40;pnts&#91;1&#93;&gt;12&#41;
			pnts&#91;1&#93;=12;
		printf&#40;&quot;\n\tPLACAR PARCIAL\n&quot;&#41;;
		printf&#40;&quot;\t---------------------\n\t Pc =   %d\n&quot;,pnts&#91;0&#93;&#41;;
		printf&#40;&quot;\t---------------------\n\t %s =   %d\n&quot;,nome,pnts&#91;1&#93;&#41;;
		printf&#40;&quot;\t---------------------\n&quot;&#41;;
		printf&#40;&quot;&gt;&gt;&quot;&#41;;
		esp=getch&#40;&#41;;
		if &#40;&#40;pnts&#91;0&#93;&gt;=ptsmax&#41;||&#40;pnts&#91;1&#93;&gt;=ptsmax&#41;&#41;
		&#123;
			if &#40;pnts&#91;0&#93;&gt;=ptsmax&#41;
			&#123;
				npartidas++;
				saldo=pnts&#91;1&#93;-ptsmax;
		    		printf&#40;&quot;\n\n\tVOC\Ò PERDEU!!!\n\n&quot;&#41;;
	      		&#125;
			if &#40;pnts&#91;1&#93;&gt;=ptsmax&#41;
			&#123;
				vitorias++;
				npartidas++;
				saldo=ptsmax-pnts&#91;0&#93;;
				printf&#40;&quot;\n\n\tVOC\Ò GANHOU!!!\n\n&quot;&#41;;
			&#125;
			system&#40;&quot;Pause&quot;&#41;;
		&#125;
		if &#40;primeiro==0&#41;
			primeiro++;
		else
		    	primeiro--;
        	rodada++;
	&#125;
	save&#40;&#41;;
&#125;

void embaralha&#40;void&#41;
&#123;
	int num, i, j, k;
	char ch&#91;2&#93;;
	for &#40;i=0; i&lt;40; i++&#41;
	&#123;
		num=sorteia&#40;40-i&#41;;
		baralho&#91;i&#93;=matriz&#91;num&#93;;
		for &#40;j=num; j&lt;&#40;39&#41;; j++&#41;
			matriz&#91;j&#93;=matriz&#91;j+1&#93;;
	&#125;
	for &#40;i=0; i&lt;40; i++&#41;
		matriz&#91;i&#93;=baralho&#91;i&#93;;
&#125;

int sorteia&#40;int max&#41;
&#123;
	return &#40;&#40;int&#41;max*rand&#40;&#41;/&#40;RAND_MAX+1&#41;&#41;;
&#125;

void distribui&#40;void&#41;
&#123;
	int	a, b, i;
	for &#40;a=0; a&lt;3; a++&#41;
	&#123;
		for &#40;b=0; b&lt;2; b++&#41;
		&#123;
			mao&#91;b&#93;&#91;a&#93;=baralho&#91;a*2+b&#93;;
		&#125;
	&#125;
	virada=baralho&#91;6&#93;;
	printf&#40;&quot;\n***********************************\n&quot;&#41;;
	printf&#40;&quot;Rodada %2d&quot;,rodada+1&#41;;
	printf&#40;&quot;\n&gt;&gt;&quot;&#41;;
	esp=getch&#40;&#41;;
	if &#40;primeiro==0&#41;
	    printf&#40;&quot;\nPc come\?a!\n&gt;&gt;&quot;&#41;;
   	else
        	printf&#40;&quot;\nVoc\? come\?a!\n&gt;&gt;&quot;&#41;;
    	printf&#40;&quot;&quot;&#41;;
    	esp=getch&#40;&#41;;
&#125;

void pcplay&#40;void&#41;
&#123;
	int num, i, j, wx, ql, jogou, valormao;
	char tipo&#91;40&#93;;
	
	


	/*Pc escolhe carta para jogar*/
	if &#40;inicial==0&#41;
	&#123;
		if &#40;&#40;pntsrod&#91;0&#93;==0&#41;&amp;&amp;&#40;turno&gt;0&#41;&#41;
		&#123;
			if &#40;cartas&#91;mao&#91;0&#93;&#91;1&#93;&#93;&gt;6&#41;
				num=sorteia&#40;3-turno&#41;;
			else
				num=0;
		&#125;
		else
			num=sorteia&#40;3-turno&#41;;
	&#125;
	if &#40;&#40;pnts&#91;0&#93;==11&#41;||&#40;pnts&#91;1&#93;==11&#41;&#41;
		num=sorteia&#40;3-turno&#41;;
	if &#40;inicial==1&#41;
	&#123;
		jogou=FALSE;
		for &#40;i=&#40;2-turno&#41;; i&gt;=0; i--&#41;
		&#123;
			if &#40;&#40;cartas&#91;mao&#91;0&#93;&#91;i&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;&amp;&amp;&#40;jogou==FALSE&#41;&#41;
			&#123;
				num=i;
				jogou=TRUE;
			&#125;
		&#125;
		if &#40;jogou==FALSE&#41;
			for &#40;i=&#40;2-turno&#41;; i&gt;=0; i--&#41;
			&#123;
				if &#40;&#40;cartas&#91;mao&#91;0&#93;&#91;i&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;&amp;&amp;&#40;jogou==FALSE&#41;&#41;
				&#123;
					num=i;
					jogou=TRUE;
				&#125;
			&#125;
		if &#40;jogou==FALSE&#41;
			num=2-turno;
		if &#40;&#40;pntsrod&#91;0&#93;==pntsrod&#91;1&#93;&#41;&amp;&amp;&#40;turno!=0&#41;&#41;
			num=0;
	&#125;

	tipo&#91;0&#93;='\0';
	mesa&#91;0&#93;&#91;turno&#93;=mao&#91;0&#93;&#91;num&#93;;
	for &#40;i=num; i&lt;&#40;2-turno&#41;; i++&#41;
		mao&#91;0&#93;&#91;i&#93;=mao&#91;0&#93;&#91;i+1&#93;;
	if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==13&#41;
		strcpy&#40;&amp;tipo,&amp;g&#41;;
	if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==12&#41;
		strcpy&#40;&amp;tipo,&amp;c&#41;;
	if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==11&#41;
		strcpy&#40;&amp;tipo,&amp;e&#41;;
	if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==10&#41;
		strcpy&#40;&amp;tipo,&amp;m&#41;;
	printf&#40;&quot;\nPc jogou&#58;  %c %c  %s\n&quot;,carta&#40;mesa&#91;0&#93;&#91;turno&#93;&#41;,toon&#40;mesa&#91;0&#93;&#91;turno&#93;&#41;,tipo&#41;;
	printf&#40;&quot;&gt;&gt;&quot;&#41;;
	esp=getch&#40;&#41;;
&#125;

void jgplay&#40;void&#41;
&#123;
	int num, i, vle;
	char tipo&#91;40&#93;;
	num=10;
	while &#40;&#40;num&lt;0&#41;||&#40;num&gt;&#40;2-turno&#41;&#41;&#41;
	&#123;
	   	printf&#40;&quot;\nVirada&#58;  %c %c\n&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
		if &#40;&#40;pnts&#91;0&#93;==11&#41;&amp;&amp;&#40;pnts&#91;1&#93;==11&#41;&#41;
		&#123;
			printf&#40;&quot;\nQue carta voc\? quer jogar?&#40;1&quot;&#41;;
			for &#40;i=1; i&lt;&#40;3-turno&#41;; i++&#41;
				printf&#40;&quot;/%d&quot;,i+1&#41;;
			printf&#40;&quot;&#41;\n&quot;&#41;;
			scanf&#40;&quot;%d&quot;,&amp;num&#41;;
			num--;			
		&#125;
		else
		&#123;
			printf&#40;&quot;\nQue carta voc\? quer jogar?\n&quot;&#41;;
			for &#40;i=0; i&lt;&#40;3-turno&#41;; i++&#41;
			&#123;
				tipo&#91;0&#93;='\0';
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
					strcpy&#40;&amp;tipo,&amp;g&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
					strcpy&#40;&amp;tipo,&amp;c&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
					strcpy&#40;&amp;tipo,&amp;e&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
					strcpy&#40;&amp;tipo,&amp;m&#41;;
	        		printf&#40;&quot;%d - %c %c %s\n&quot;,i+1,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
			&#125;
			scanf&#40;&quot;%d&quot;,&amp;num&#41;;
			num--;
		&#125;
		if &#40;&#40;num&lt;0&#41;||&#40;num&gt;&#40;2-turno&#41;&#41;&#41;
		&#123;
			printf&#40;&quot;\a\n\tVALOR INCORRETO!!\n&quot;&#41;;
			printf&#40;&quot;\nDigite sua op\?\Æo entre 0 e %d\n&quot;,&#40;2-turno&#41;&#41;;
			system&#40;&quot;Pause&quot;&#41;;
		&#125;
		else
        	&#123;
			tipo&#91;0&#93;='\0';
			if &#40;cartas&#91;mao&#91;1&#93;&#91;num&#93;&#93;==13&#41;
				strcpy&#40;&amp;tipo,&amp;g&#41;;
			if &#40;cartas&#91;mao&#91;1&#93;&#91;num&#93;&#93;==12&#41;
				strcpy&#40;&amp;tipo,&amp;c&#41;;
			if &#40;cartas&#91;mao&#91;1&#93;&#91;num&#93;&#93;==11&#41;
				strcpy&#40;&amp;tipo,&amp;e&#41;;
			if &#40;cartas&#91;mao&#91;1&#93;&#91;num&#93;&#93;==10&#41;
				strcpy&#40;&amp;tipo,&amp;m&#41;;
                       	printf&#40;&quot;Voc\? jogou&#58; %c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;num&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;num&#93;&#41;,tipo&#41;;
	                printf&#40;&quot;&gt;&gt;&quot;&#41;;
   	    	&#125;
	        esp=getch&#40;&#41;;
	&#125;
	mesa&#91;1&#93;&#91;turno&#93;=mao&#91;1&#93;&#91;num&#93;;
	for &#40;i=num; i&lt;&#40;2-turno&#41;; i++&#41;
		mao&#91;1&#93;&#91;i&#93;=mao&#91;1&#93;&#91;i+1&#93;;	
&#125;

void atribui&#40;void&#41;
&#123;
	int vle, a, i, j, card;
	if &#40;&#40;virada%10&#41;&lt;9&#41;
	&#123;
		card=&#40;virada%10&#41;+1;
	&#125;
	else	
		card=0;
	vle=0;
	for &#40;i=0; i&lt;4; i++&#41;
	&#123;
		vle=0;
		for &#40;j=0; j&lt;10; j++&#41;
		&#123;
			if &#40;card==j&#41;
				cartas&#91;10*i+j&#93;=10+i;
			else
			&#123;
				cartas&#91;10*i+j&#93;=vle;
				vle=vle+1;
			&#125;
		&#125;
	&#125;
&#125;

char toon&#40;int card&#41;
&#123;
	int vle, x;
	vle=&#40;int&#41;&#40;card/10&#41;;
	if &#40;vle==0&#41;
		x=4;
	if &#40;vle==1&#41;
		x=6;
	if &#40;vle==2&#41;
		x=3;
	if &#40;vle==3&#41;
		x=5;
	return &#40;&quot;%c&quot;,x&#41;;
&#125;

char carta&#40;int card&#41;
&#123;
	int vle;
	char x;
	vle=card%10;
	if &#40;vle&gt;7&#41;
		x=&#40;&quot;\c&quot;,42+vle&#41;;
	if &#40;vle==7&#41;
		x='A';
	if &#40;vle==6&#41;
		x='K';
	if &#40;vle==5&#41;
		x='J';
	if &#40;vle==4&#41;
		x='Q';
	if &#40;vle&lt;4&#41;
		x=&#40;&quot;%c&quot;,52+vle&#41;;
	return x;
&#125;

void save&#40;void&#41;
&#123;
	int	i, pos, njogadores, pontos, j;
	char	nm&#91;40&#93;;

	/*Abre o arquivo para leitura, se existir*/
	if &#40;&#40;arq=fopen&#40;&quot;Rank.TXT&quot;,&quot;r&quot;&#41;&#41;!=NULL&#41;
	&#123;
		/*Obtem os nomes e a pontuação*/		
		for &#40;i=0; i&lt;100; i++&#41;
		&#123;
			fscanf&#40;arq,&quot;%s%d%d%d&quot;,&amp;ranknomes&#91;i&#93;,&amp;rankpartidas&#91;i&#93;,&amp;rankvitorias&#91;i&#93;,&amp;rankpts&#91;i&#93;&#41;;
		&#125;
	&#125;


	/*senão, o cria*/
	else
	&#123;
		arq=fopen&#40;&quot;Rank.txt&quot;,&quot;w&quot;&#41;;
		for &#40;i=0; i&lt;100; i++&#41;
		&#123;
			fprintf&#40;arq,&quot;%s %d %d %d\n&quot;,vazio,0,0,0&#41;;
			strcpy&#40;&amp;ranknomes&#91;i&#93;,&amp;vazio&#41;;
			rankpartidas&#91;i&#93;=0;
			rankvitorias&#91;i&#93;=0;
			rankpts&#91;i&#93;=0;
		&#125;
	&#125;


	/*fecha o arquivo*/
	fclose&#40;arq&#41;;


	/*procura o nome e conta o número de jogadores na lista*/
	njogadores=0;
	pos=-1;
	i=0;
	while &#40;&#40;pos==-1&#41;||&#40;i==njogadores&#41;&#41;
	&#123;
		if &#40;strcmp&#40;&amp;ranknomes&#91;i&#93;,&amp;nome&#41;==0&#41;
			pos=i;
		if &#40;&#40;pos==-1&#41;&amp;&amp;&#40;i==99&#41;&#41;
			pos=100;
		if &#40;strcmp&#40;&amp;ranknomes&#91;i&#93;,&amp;vazio&#41;!=0&#41;
			njogadores++;
		i++;
	&#125;


	/*se encontrar, acrescenta ou diminui seus pontos*/
	if &#40;pos&lt;100&#41;
	&#123;
		rankpartidas&#91;pos&#93;=rankpartidas&#91;pos&#93;+npartidas;
		rankpts&#91;pos&#93;=rankpts&#91;pos&#93;+saldo;
		rankvitorias&#91;pos&#93;=rankvitorias&#91;pos&#93;+vitorias;
	&#125;


	/*senão, adiciona-lhe ao final da lista*/
	else
	&#123;
		njogadores++;
		rankpartidas&#91;njogadores-1&#93;=npartidas;
		rankvitorias&#91;njogadores-1&#93;=vitorias;
		rankpts&#91;njogadores-1&#93;=saldo;
		strcpy&#40;&amp;ranknomes&#91;njogadores-1&#93;,&amp;nome&#41;;
	&#125;


	/*ordena a lista em forma decrescente*/
	for &#40;i=0; i&lt;&#40;njogadores-1&#41;; i++&#41;
	&#123;
		for &#40;j=0; j&lt;&#40;njogadores-1&#41;; j++&#41;
		&#123;
			if &#40;rankvitorias&#91;j&#93;&lt;rankvitorias&#91;j+1&#93;&#41;
			&#123;
				pontos=rankpts&#91;j&#93;;
				rankpts&#91;j&#93;=rankpts&#91;j+1&#93;;
				rankpts&#91;j+1&#93;=pontos;

				pontos=rankvitorias&#91;j&#93;;
				rankvitorias&#91;j&#93;=rankvitorias&#91;j+1&#93;;
				rankvitorias&#91;j+1&#93;=pontos;

				pontos=rankpartidas&#91;j&#93;;
				rankpartidas&#91;j&#93;=rankpartidas&#91;j+1&#93;;
				rankpartidas&#91;j+1&#93;=pontos;

				strcpy&#40;&amp;nm,&amp;ranknomes&#91;j&#93;&#41;;
				strcpy&#40;&amp;ranknomes&#91;j&#93;,&amp;ranknomes&#91;j+1&#93;&#41;;
				strcpy&#40;&amp;ranknomes&#91;j+1&#93;,&amp;nm&#41;;
			&#125;
			else
			&#123;
				if &#40;rankvitorias&#91;j&#93;==rankvitorias&#91;j+1&#93;&#41;
				&#123;
					if &#40;rankpts&#91;j&#93;&lt;rankpts&#91;j+1&#93;&#41;
					&#123;
						pontos=rankpts&#91;j&#93;;
						rankpts&#91;j&#93;=rankpts&#91;j+1&#93;;
						rankpts&#91;j+1&#93;=pontos;

						pontos=rankvitorias&#91;j&#93;;
						rankvitorias&#91;j&#93;=rankvitorias&#91;j+1&#93;;
						rankvitorias&#91;j+1&#93;=pontos;
	
						pontos=rankpartidas&#91;j&#93;;
						rankpartidas&#91;j&#93;=rankpartidas&#91;j+1&#93;;
						rankpartidas&#91;j+1&#93;=pontos;
	
						strcpy&#40;&amp;nm,&amp;ranknomes&#91;j&#93;&#41;;
						strcpy&#40;&amp;ranknomes&#91;j&#93;,&amp;ranknomes&#91;j+1&#93;&#41;;
						strcpy&#40;&amp;ranknomes&#91;j+1&#93;,&amp;nm&#41;;
					&#125;
					else
					&#123;
						if &#40;rankpts&#91;j&#93;==rankpts&#91;j+1&#93;&#41;
						&#123;
							if &#40;rankpartidas&#91;j&#93;&lt;rankpartidas&#91;j+1&#93;&#41;
							&#123;
								pontos=rankpts&#91;j&#93;;
								rankpts&#91;j&#93;=rankpts&#91;j+1&#93;;
								rankpts&#91;j+1&#93;=pontos;

								pontos=rankvitorias&#91;j&#93;;
								rankvitorias&#91;j&#93;=rankvitorias&#91;j+1&#93;;
								rankvitorias&#91;j+1&#93;=pontos;
			
								pontos=rankpartidas&#91;j&#93;;
								rankpartidas&#91;j&#93;=rankpartidas&#91;j+1&#93;;
								rankpartidas&#91;j+1&#93;=pontos;
	
								strcpy&#40;&amp;nm,&amp;ranknomes&#91;j&#93;&#41;;
								strcpy&#40;&amp;ranknomes&#91;j&#93;,&amp;ranknomes&#91;j+1&#93;&#41;;
								strcpy&#40;&amp;ranknomes&#91;j+1&#93;,&amp;nm&#41;;
							&#125;
						&#125;
					&#125;
				&#125;
			&#125;
		&#125;
	&#125;


	/*recria o arquivo para escrita*/
	if &#40;&#40;arq=fopen&#40;&quot;Rank.txt&quot;,&quot;w&quot;&#41;&#41;==NULL&#41;
	&#123;
		printf&#40;&quot;\n\aErro de leitura.\nO arquivo 'Rank.Txt' pode estar corrompido ou danificado.\n&quot;&#41;;
	&#125;
	else
	&#123;
		/*escreve os dados da lista*/
		for &#40;i=0; i&lt;100; i++&#41;
		&#123;
			fprintf&#40;arq,&quot;%s %d %d %d\n&quot;,ranknomes&#91;i&#93;,rankpartidas&#91;i&#93;,rankvitorias&#91;i&#93;,rankpts&#91;i&#93;&#41;;
		&#125;
	&#125;


	/*fecha o arquivo*/
	fclose&#40;arq&#41;;
&#125;

void pcpensa&#40;void&#41;
&#123;
	int i, valormao;
	valormao=0;
	for &#40;i=0; i&lt;&#40;3-turno&#41;; i++&#41;
		valormao=valormao+cartas&#91;mao&#91;0&#93;&#91;i&#93;&#93;;
	qly=3*valormao;
	if &#40;turno==0&#41;
	&#123;
		if &#40;inicial==1&#41;
		&#123;
			for &#40;i=0; i&lt;3; i++&#41;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;i&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;0&#93;&#93;&#41;
					qly=qly+5;
			if &#40;qly==&#40;3*valormao&#41;&#41;
			&#123;
				qly=25+sorteia&#40;50&#41;;	/*Facão*/
			&#125;
		&#125;
	&#125;
	if &#40;turno==1&#41;
	&#123;
		if &#40;pntsrod&#91;0&#93;==1&#41;
		&#123;
			qly=5*valormao;
			if &#40;cartas&#91;mesa&#91;0&#93;&#91;1&#93;&#93;==-1&#41;
			&#123;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;&gt;=10&#41;
					qly=60;
				if &#40;cartas&#91;mao&#91;9&#93;&#91;1&#93;&#93;&gt;=8&#41;
					qly=qly+20;
			&#125;
			else
			&#123;
				if &#40;cartas&#91;mesa&#91;0&#93;&#91;1&#93;&#93;&gt;=11&#41;
					qly=65;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;1&#93;&#93;&gt;=9&#41;
					qly=90;
			&#125;
			if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;==13&#41;
				qly=100;
		&#125;
		if &#40;pntsrod&#91;1&#93;==1&#41;
		&#123;
			if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;&lt;cartas&#91;mesa&#91;1&#93;&#91;1&#93;&#93;&#41;
			&#123;
					qly=30+sorteia&#40;50&#41;;	/*Facão*/
			&#125;
			else
			&#123;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;1&#93;&#93;&lt;cartas&#91;mesa&#91;1&#93;&#91;1&#93;&#93;&#41;
				&#123;
						qly=20+sorteia&#40;50&#41;;	/*Facão*/
				&#125;
				else
				&#123;
					qly=4*valormao+sorteado;
				&#125;
			&#125;
		&#125;
		else
		&#123;
			qly=6*cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;+2*cartas&#91;mao&#91;0&#93;&#91;1&#93;&#93;+sorteado;
		&#125;
	&#125;
	if &#40;turno==2&#41;
	&#123;
		if &#40;inicial==1&#41;
		&#123;
			if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;2&#93;&#93;&#41;
			&#123;
				qly=100;
			&#125;
			else
			&#123;
				if &#40;&#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;==cartas&#91;mesa&#91;1&#93;&#91;2&#93;&#93;&#41;&amp;&amp;&#40;cartas&#91;mesa&#91;0&#93;&#91;0&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;0&#93;&#93;&#41;&#41;
				&#123;
					qly=100;
				&#125;
				else
				&#123;
						qly=30+sorteia&#40;60&#41;;	/*Facão*/
				&#125;
			&#125;			
		&#125;
		if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;==13&#41;
			qly=100;
	&#125;
&#125;

void pctruca&#40;void&#41;
&#123;
	int	num, i;
	char	tipo&#91;40&#93;;
	pcpensa&#40;&#41;;
	if &#40;&#40;&#40;pnts&#91;0&#93;&lt;11&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;11&#41;&#41;&amp;&amp;&#40;&#40;&#40;last==1&#41;||&#40;last==2&#41;&#41;&amp;&amp;&#40;estado&lt;4&#41;&#41;&#41;
	&#123;
		if &#40;qly&gt;&#40;50+sorteia&#40;20&#41;+estado*8&#41;&#41;
		&#123;
			printf&#40;&quot;\nPc pediu %s.\n&gt;&gt;&quot;,status&#91;estado+1&#93;&#41;;
			esp=getch&#40;&#41;;
			printf&#40;&quot;\nVirada&#58; %c %c\n&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
			printf&#40;&quot;\nSua m\Æo \?&#58;\n&quot;&#41;;
			if &#40;mesa&#91;1&#93;&#91;turno&#93;==-1&#41;
			&#123;
				for &#40;i=0; i&lt;&#40;3-turno&#41;; i++&#41;
				&#123;
					tipo&#91;0&#93;='\0';
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
						strcpy&#40;&amp;tipo,&amp;g&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
						strcpy&#40;&amp;tipo,&amp;c&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
						strcpy&#40;&amp;tipo,&amp;e&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
						strcpy&#40;&amp;tipo,&amp;m&#41;;
					printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
				&#125;
			&#125;
			else
			&#123;
				for &#40;i=0; i&lt;&#40;2-turno&#41;; i++&#41;
				&#123;
					tipo&#91;0&#93;='\0';
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
						strcpy&#40;&amp;tipo,&amp;g&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
						strcpy&#40;&amp;tipo,&amp;c&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
						strcpy&#40;&amp;tipo,&amp;e&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
						strcpy&#40;&amp;tipo,&amp;m&#41;;
					printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
				&#125;
			&#125;		
			printf&#40;&quot;Digite&#58;\n1 - Aceitar;\n2 - Correr\n&quot;&#41;;
			if &#40;estado&lt;3&#41;
				printf&#40;&quot;3 - Pedir '%s'\n&quot;,status&#91;estado+2&#93;&#41;;
			scanf&#40;&quot;%d&quot;,&amp;num&#41;;
			if &#40;num==1&#41;
			&#123;
				estado++;
				last=0;
			&#125;
			if &#40;num==2&#41;
			&#123;
				continua=FALSE;
				pntsrod&#91;0&#93;=3;
			&#125;
			if &#40;num==3&#41;
			&#123;
				last=0;
				estado++;
				local=0;
				jgtruca&#40;&#41;;
			&#125;
			
		&#125;
	&#125;
&#125;

void pcordena&#40;void&#41;
&#123;
	int	i, j, wx;
	/*Ordena as cartas do pc no primeiro turno*/
	if &#40;turno==0&#41;
	&#123;
		for &#40;i=0; i&lt;2; i++&#41;
			for &#40;j=0; j&lt;2; j++&#41;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;j&#93;&#93;&lt;cartas&#91;mao&#91;0&#93;&#91;j+1&#93;&#93;&#41;
				&#123;
					wx=mao&#91;0&#93;&#91;j&#93;;
					mao&#91;0&#93;&#91;j&#93;=mao&#91;0&#93;&#91;j+1&#93;;
					mao&#91;0&#93;&#91;j+1&#93;=wx;
				&#125;
	&#125;
&#125;

void jgtruca&#40;void&#41;
&#123;
	char	car;
	char	tipo&#91;40&#93;;
	int	cont, i, num;
	if &#40;&#40;&#40;pnts&#91;0&#93;&lt;11&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;11&#41;&#41;&amp;&amp;&#40;&#40;&#40;last==0&#41;||&#40;last==2&#41;&#41;&amp;&amp;&#40;estado&lt;4&#41;&#41;&#41;
	&#123;
		cont=TRUE;
		if &#40;local!=0&#41;
		&#123;
			printf&#40;&quot;\nVirada&#58; %c %c&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
			printf&#40;&quot;\nSua m\Æo \?&#58;\n&quot;&#41;;
			for &#40;i=0; i&lt;&#40;3-turno&#41;; i++&#41;
			&#123;
				tipo&#91;0&#93;='\0';
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
					strcpy&#40;&amp;tipo,&amp;g&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
					strcpy&#40;&amp;tipo,&amp;c&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
					strcpy&#40;&amp;tipo,&amp;e&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
					strcpy&#40;&amp;tipo,&amp;m&#41;;
				printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
			&#125;
			num=0;
			while &#40;&#40;num!=1&#41;&amp;&amp;&#40;num!=2&#41;&#41;
			&#123;
				printf&#40;&quot;\nVoc\? quer pedir %s?\n&quot;,status&#91;estado+1&#93;&#41;;
				printf&#40;&quot;1 - Sim\n&quot;&#41;;
				printf&#40;&quot;2 - N\Æo\n&quot;&#41;;
				scanf&#40;&quot;%d&quot;,&amp;num&#41;;
			&#125;

			if &#40;num==2&#41;
				cont=FALSE;
		&#125;
		if &#40;cont==TRUE&#41;
		&#123;
			pcpensa&#40;&#41;;
			if &#40;&#40;qly&gt;&#40;sorteia&#40;10&#41;+&#40;estado+1&#41;*8+40&#41;&#41;&amp;&amp;&#40;&#40;qly&lt;&#40;sorteia&#40;10&#41;+&#40;estado+2&#41;*8+40&#41;&#41;&#41;||&#40;estado&gt;2&#41;&#41;
			&#123;
				estado++;
				last=1;
				printf&#40;&quot;\nPc aceitou!\n&gt;&gt;&quot;&#41;;
				esp=getch&#40;&#41;;
			&#125;
			else
			&#123;
				if &#40;&#40;qly&gt;&#40;sorteia&#40;10&#41;+&#40;estado+2&#41;*8+40&#41;&#41;&amp;&amp;&#40;estado&lt;3&#41;&#41;
				&#123;
					estado++;
					last=1;
					printf&#40;&quot;\nPc aceitou!\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					pctruca&#40;&#41;;
				&#125;
				else
				&#123;
					continua=FALSE;
					pntsrod&#91;1&#93;=3;
					printf&#40;&quot;\nPc correu!\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
				&#125;
			&#125;
		&#125;
	&#125;
&#125;
'; if (cartas[mao[1][num]]==13) strcpy(&tipo,&g); if (cartas[mao[1][num]]==12) strcpy(&tipo,&c); if (cartas[mao[1][num]]==11) strcpy(&tipo,&e); if (cartas[mao[1][num]]==10) strcpy(&tipo,&m); printf("Voc\? jogou: %c %c %s\n",carta(mao[1][num]),toon(mao[1][num]),tipo); printf(">>"); } esp=getch(); } mesa[1][turno]=mao[1][num]; for (i=num; i<(2-turno); i++) mao[1][i]=mao[1][i+1]; }

void atribui(void)
{
int vle, a, i, j, card;
if ((virada%10)<9)
{
card=(virada%10)+1;
}
else
card=0;
vle=0;
for (i=0; i<4; i++)
{
vle=0;
for (j=0; j<10; j++)
{
if (card==j)
cartas[10*i+j]=10+i;
else
{
cartas[10*i+j]=vle;
vle=vle+1;
}
}
}
}

char toon(int card)
{
int vle, x;
vle=(int)(card/10);
if (vle==0)
x=4;
if (vle==1)
x=6;
if (vle==2)
x=3;
if (vle==3)
x=5;
return ("%c",x);
}

char carta(int card)
{
int vle;
char x;
vle=card%10;
if (vle>7)
x=("\c",42+vle);
if (vle==7)
x='A';
if (vle==6)
x='K';
if (vle==5)
x='J';
if (vle==4)
x='Q';
if (vle<4)
x=("%c",52+vle);
return x;
}

void save(void)
{
int i, pos, njogadores, pontos, j;
char nm[40];

/*Abre o arquivo para leitura, se existir*/
if ((arq=fopen("Rank.TXT","r"))!=NULL)
{
/*Obtem os nomes e a pontuação*/
for (i=0; i<100; i++)
{
fscanf(arq,"%s%d%d%d",&ranknomes[i],&rankpartidas[i],&rankvitorias[i],&rankpts[i]);
}
}

/*senão, o cria*/
else
{
arq=fopen("Rank.txt","w");
for (i=0; i<100; i++)
{
fprintf(arq,"%s %d %d %d\n",vazio,0,0,0);
strcpy(&ranknomes[i],&vazio);
rankpartidas[i]=0;
rankvitorias[i]=0;
rankpts[i]=0;
}
}

/*fecha o arquivo*/
fclose(arq);

/*procura o nome e conta o número de jogadores na lista*/
njogadores=0;
pos=-1;
i=0;
while ((pos==-1)||(i==njogadores))
{
if (strcmp(&ranknomes[i],&nome)==0)
pos=i;
if ((pos==-1)&&(i==99))
pos=100;
if (strcmp(&ranknomes[i],&vazio)!=0)
njogadores++;
i++;
}

/*se encontrar, acrescenta ou diminui seus pontos*/
if (pos<100)
{
rankpartidas[pos]=rankpartidas[pos]+npartidas;
rankpts[pos]=rankpts[pos]+saldo;
rankvitorias[pos]=rankvitorias[pos]+vitorias;
}

/*senão, adiciona-lhe ao final da lista*/
else
{
njogadores++;
rankpartidas[njogadores-1]=npartidas;
rankvitorias[njogadores-1]=vitorias;
rankpts[njogadores-1]=saldo;
strcpy(&ranknomes[njogadores-1],&nome);
}

/*ordena a lista em forma decrescente*/
for (i=0; i<(njogadores-1); i++)
{
for (j=0; j<(njogadores-1); j++)
{
if (rankvitorias[j] {
pontos=rankpts[j];
rankpts[j]=rankpts[j+1];
rankpts[j+1]=pontos;

pontos=rankvitorias[j];
rankvitorias[j]=rankvitorias[j+1];
rankvitorias[j+1]=pontos;

pontos=rankpartidas[j];
rankpartidas[j]=rankpartidas[j+1];
rankpartidas[j+1]=pontos;

strcpy(&nm,&ranknomes[j]);
strcpy(&ranknomes[j],&ranknomes[j+1]);
strcpy(&ranknomes[j+1],&nm);
}
else
{
if (rankvitorias[j]==rankvitorias[j+1])
{
if (rankpts[j] {
pontos=rankpts[j];
rankpts[j]=rankpts[j+1];
rankpts[j+1]=pontos;

pontos=rankvitorias[j];
rankvitorias[j]=rankvitorias[j+1];
rankvitorias[j+1]=pontos;

pontos=rankpartidas[j];
rankpartidas[j]=rankpartidas[j+1];
rankpartidas[j+1]=pontos;

strcpy(&nm,&ranknomes[j]);
strcpy(&ranknomes[j],&ranknomes[j+1]);
strcpy(&ranknomes[j+1],&nm);
}
else
{
if (rankpts[j]==rankpts[j+1])
{
if (rankpartidas[j] {
pontos=rankpts[j];
rankpts[j]=rankpts[j+1];
rankpts[j+1]=pontos;

pontos=rankvitorias[j];
rankvitorias[j]=rankvitorias[j+1];
rankvitorias[j+1]=pontos;

pontos=rankpartidas[j];
rankpartidas[j]=rankpartidas[j+1];
rankpartidas[j+1]=pontos;

strcpy(&nm,&ranknomes[j]);
strcpy(&ranknomes[j],&ranknomes[j+1]);
strcpy(&ranknomes[j+1],&nm);
}
}
}
}
}
}
}

/*recria o arquivo para escrita*/
if ((arq=fopen("Rank.txt","w"))==NULL)
{
printf("\n\aErro de leitura.\nO arquivo 'Rank.Txt' pode estar corrompido ou danificado.\n");
}
else
{
/*escreve os dados da lista*/
for (i=0; i<100; i++)
{
fprintf(arq,"%s %d %d %d\n",ranknomes[i],rankpartidas[i],rankvitorias[i],rankpts[i]);
}
}

/*fecha o arquivo*/
fclose(arq);
}

void pcpensa(void)
{
int i, valormao;
valormao=0;
for (i=0; i<(3-turno); i++)
valormao=valormao+cartas[mao[0][i]];
qly=3*valormao;
if (turno==0)
{
if (inicial==1)
{
for (i=0; i<3; i++)
if (cartas[mao[0][i]]>cartas[mesa[1][0]])
qly=qly+5;
if (qly==(3*valormao))
{
qly=25+sorteia(50); /*Facão*/
}
}
}
if (turno==1)
{
if (pntsrod[0]==1)
{
qly=5*valormao;
if (cartas[mesa[0][1]]==-1)
{
if (cartas[mao[0][0]]>=10)
qly=60;
if (cartas[mao[9][1]]>=8)
qly=qly+20;
}
else
{
if (cartas[mesa[0][1]]>=11)
qly=65;
if (cartas[mao[0][1]]>=9)
qly=90;
}
if (cartas[mao[0][0]]==13)
qly=100;
}
if (pntsrod[1]==1)
{
if (cartas[mao[0][0]] {
qly=30+sorteia(50); /*Facão*/
}
else
{
if (cartas[mao[0][1]] {
qly=20+sorteia(50); /*Facão*/
}
else
{
qly=4*valormao+sorteado;
}
}
}
else
{
qly=6*cartas[mao[0][0]]+2*cartas[mao[0][1]]+sorteado;
}
}
if (turno==2)
{
if (inicial==1)
{
if (cartas[mao[0][0]]>cartas[mesa[1][2]])
{
qly=100;
}
else
{
if ((cartas[mao[0][0]]==cartas[mesa[1][2]])&&(cartas[mesa[0][0]]>cartas[mesa[1][0]]))
{
qly=100;
}
else
{
qly=30+sorteia(60); /*Facão*/
}
}
}
if (cartas[mao[0][0]]==13)
qly=100;
}
}

void pctruca(void) { int num, i; char tipo[40]; pcpensa(); if (((pnts[0]<11)&&(pnts[1]<11))&&(((last==1)||(last==2))&&(estado<4))) { if (qly>(50+sorteia(20)+estado*8)) { printf("\nPc pediu %s.\n>>",status[estado+1]); esp=getch(); printf("\nVirada: %c %c\n",carta(virada),toon(virada)); printf("\nSua m\Æo \?:\n"); if (mesa[1][turno]==-1) { for (i=0; i<(3-turno); i++) { tipo[0]='
/*Jogo de truco em C*/
/*Versão 0.20*/


/*Bibliotecas utilizadas*/
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;string.h&gt;


/*Estados&#58;
	0=normal
	1=trucado
	2=vale seis
	3=vale nove
	4=vale doze
		*/


/*Constantes*/
#define opcoes 4
#define versao 0.20
#define TRUE 1
#define FALSE 0
#define ptsmax 12
#define g &quot;&#40;Gato&#41;&quot;
#define c &quot;&#40;Copas&#41;&quot;
#define e &quot;&#40;Espadilha&#41;&quot;
#define m &quot;&#40;Mole&#41;&quot;
#define truco &quot;truco&quot;
#define seis &quot;seis&quot;
#define nove &quot;nove&quot;
#define doze &quot;doze&quot;
#define vazio &quot;vazio&quot;
#define autor2 &quot;Celito Gregolon J\£nior&quot;     /*Ordem alfabética*/
#define autor1 &quot;Carlos Eduardo Weber&quot;
#define autor3 &quot;Ricardo Oenning&quot;
#define part &quot;Partidas&quot;
#define sal &quot;Pontos&quot;
#define jog &quot;Jogador&quot;
#define vit &quot;Vit\¢rias&quot;


/*Variáveis Globais*/
char	nome&#91;40&#93;=&quot;Design&quot;;
int 	pnts&#91;2&#93;;
int	pntsrod&#91;2&#93;;
int	baralho&#91;40&#93;;
int	matriz&#91;40&#93;;
int 	mao&#91;2&#93;&#91;3&#93;;
int	mesa&#91;2&#93;&#91;3&#93;;
int	cartas&#91;40&#93;;
char	ranknomes&#91;100&#93;&#91;40&#93;;
int	rankpts&#91;100&#93;;
int	rankpartidas&#91;100&#93;;
int	rankvitorias&#91;100&#93;;
FILE 	*fl;
FILE 	*arq;
int	primeiro, virada, turno, rodada, estado, last, saldo, inicial, continua, qly, sorteado, local, npartidas, vitorias;
char	status&#91;6&#93;&#91;10&#93;=&#123;vazio,truco,seis,nove,doze,vazio&#125;;
char	esp;


/*Funções e procedimentos definidos*/
void 	embaralha&#40;void&#41;;
int	sorteia&#40;int max&#41;;
void	distribui&#40;void&#41;;
void	pcplay&#40;void&#41;;
void	jgplay&#40;void&#41;;
void	atribui&#40;void&#41;;
char 	toon&#40;int card&#41;;
char	carta&#40;int card&#41;;
void    save&#40;void&#41;;
void	pcpensa&#40;void&#41;;
void	pctruca&#40;void&#41;;
void	pcordena&#40;void&#41;;
void	jgtruca&#40;void&#41;;
void	jogo&#40;void&#41;;
void	sobre&#40;void&#41;;
void	rank&#40;void&#41;;


/*Principal*/
void main&#40;&#41;
&#123;
	/*Variáveis locais*/
	int opcao, i;


	/*Início*/
	opcao=opcoes+1;
	while &#40;opcao!=opcoes&#41;
	&#123;
		/* Pede para que o usuário escolha uma opção*/
		printf&#40;&quot;\n&quot;&#41;;
		printf&#40;&quot;************************\n&quot;&#41;;
		printf&#40;&quot;O que voc\? deseja fazer?\n&quot;&#41;;
		printf&#40;&quot;\t1 - Jogar truco\n&quot;&#41;;
		printf&#40;&quot;\t2 - Ver ranking\n&quot;&#41;;
		printf&#40;&quot;\t3 - Sobre...\n&quot;&#41;;
		printf&#40;&quot;\t4 - Sair\n&quot;&#41;;
		printf&#40;&quot;\nDigite uma op\?\Æo&#58;&quot;&#41;;
		scanf&#40;&quot;%d&quot;,&amp;opcao&#41;;
		strcpy&#40;&amp;status&#91;1&#93;,&amp;truco&#41;;
		strcpy&#40;&amp;status&#91;2&#93;,&amp;seis&#41;;
		strcpy&#40;&amp;status&#91;3&#93;,&amp;nove&#41;;
		strcpy&#40;&amp;status&#91;4&#93;,&amp;doze&#41;;
		/*Verifica possíveis entradas erradas*/
		if &#40;&#40;opcao&lt;1&#41;||&#40;opcao&gt;opcoes&#41;&#41;
		&#123;
			printf&#40;&quot;\a\n\nVALOR INCORRETO!\n\n&quot;&#41;;
			printf&#40;&quot;Por favor escolha uma op\?\Æo entre 1 e %d\n\n&quot;, opcoes&#41;;
			system&#40;&quot;Pause&quot;&#41;;
		&#125;
		if &#40;opcao==1&#41;
		&#123;
			jogo&#40;&#41;;
		&#125;
		if &#40;opcao==2&#41;
		&#123;
			rank&#40;&#41;;
		&#125;
		if &#40;opcao==3&#41;
		&#123;
			sobre&#40;&#41;;
		&#125;
	&#125;
&#125;


void sobre&#40;void&#41;
&#123;
/**/	printf&#40;&quot;\n\n&quot;&#41;;
	printf&#40;&quot;Programa&#58; Super Truco\n&gt;&gt;&quot;&#41;;
	esp=getch&#40;&#41;;
	printf&#40;&quot;\nVers\Æo&#58; %3.2f\n&gt;&gt;&quot;,versao&#41;;
	esp=getch&#40;&#41;;
	printf&#40;&quot;\nAutores&#58;\n&quot;&#41;;
	printf&#40;&quot;\t%s\n&quot;,autor1&#41;;
	printf&#40;&quot;\t%s\n&quot;,autor2&#41;;
	printf&#40;&quot;\t%s\n&gt;&gt;&quot;,autor3&#41;;
	esp=getch&#40;&#41;;
	printf&#40;&quot;\nComent\ rios\n&quot;&#41;;
	printf&#40;&quot;\t       Este programa foi feito em novembro de 2004 como trabalho\n&quot;&#41;;
	printf&#40;&quot;\tde conclus\Æo da disciplina de Processamento de Dados &#40;PRD&#41; da \n&quot;&#41;;
	printf&#40;&quot;\t3\¦ fase do curso de Engenharia El\?trica da Universidade do Estado\n&quot;&#41;;
	printf&#40;&quot;\tde Santa Catarina &#40;UDESC&#41;.\n&gt;&gt;&quot;&#41;;
	esp=getch&#40;&#41;;
&#125;


void rank&#40;void&#41;
&#123;
	char 	car;
	int	i;
	if &#40;&#40;arq=fopen&#40;&quot;rank.txt&quot;,&quot;r&quot;&#41;&#41;==NULL&#41;
	&#123;
		arq=fopen&#40;&quot;Rank.txt&quot;,&quot;w&quot;&#41;;
		for &#40;i=0; i&lt;100; i++&#41;
			fprintf&#40;arq,&quot;%s %d %d %d\n&quot;,vazio,0,0,0&#41;;
		fclose&#40;arq&#41;;
		arq=fopen&#40;&quot;rank.txt&quot;,&quot;r&quot;&#41;;
	&#125;
	printf&#40;&quot;\n&quot;&#41;;
	printf&#40;&quot; Rank -%15s\t%10s\t%8s%10s\n\n&quot;,jog,part,vit,sal&#41;;
	for &#40;i=0; i&lt;10; i++&#41;
	&#123;
		fscanf&#40;arq,&quot;%s%d%d%d&quot;,ranknomes&#91;i&#93;,&amp;rankpartidas&#91;i&#93;,&amp;rankvitorias&#91;i&#93;,&amp;rankpts&#91;i&#93;&#41;;
		printf&#40;&quot;%3d   -%15s\t%8d\t%5d\t%9d\n&quot;,i+1,ranknomes&#91;i&#93;,rankpartidas&#91;i&#93;,rankvitorias&#91;i&#93;,rankpts&#91;i&#93;&#41;;
	&#125;
	printf&#40;&quot;\n&quot;&#41;;
	system&#40;&quot;Pause&quot;&#41;;
	fclose&#40;arq&#41;;
	if &#40;&#40;strcmp&#40;&amp;ranknomes&#91;0&#93;,&amp;vazio&#41;&#41;!=0&#41;
	&#123;
		car='a';
		while &#40;&#40;car!='s'&#41;&amp;&amp;&#40;car!='n'&#41;&#41;
		&#123;
			printf&#40;&quot;\nVoc\? deseja limpar a lista?&#40;s/n&#41;\n&quot;&#41;;
			scanf&#40;&quot;%s&quot;,&amp;car&#41;;
			if &#40;car=='s'&#41;
			&#123;
				arq=fopen&#40;&quot;Rank.txt&quot;,&quot;w&quot;&#41;;
				for &#40;i=0; i&lt;100; i++&#41;
					fprintf&#40;arq,&quot;%s %d %d %d\n&quot;,vazio,0,0,0&#41;;
				printf&#40;&quot;Lista limpa!\n\n&quot;&#41;;
				system&#40;&quot;Pause&quot;&#41;;
			&#125;
			fclose&#40;arq&#41;;
		&#125;
	&#125;
&#125;


void jogo&#40;void&#41;
&#123;
	char ch&#91;5&#93;, tipo&#91;40&#93;, car;
	int i, primeira, vale, naipe0, naipe1, valor;

			srand&#40;time&#40;NULL&#41;&#41;;
			for &#40;i=0; i&lt;40; i++&#41;
				matriz&#91;i&#93;=39-i;

	
	/*Pede o nome do jogador*/
	printf&#40;&quot;\n\nDigite seu nome&#58;&quot;&#41;;
	scanf&#40;&quot;%s&quot;,&amp;nome&#41;;
	pnts&#91;0&#93;=0;
	pnts&#91;1&#93;=0;
	primeiro=sorteia&#40;2&#41;;
	rodada=0;
	vitorias=0;
	npartidas=0;
	saldo=0;
	while &#40;&#40;pnts&#91;0&#93;&lt;ptsmax&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;ptsmax&#41;&#41;
	&#123;
		/*embaralha as cartas*/
		embaralha&#40;&#41;;
		/*Distribui as cartas entre os jogadores*/
		distribui&#40;&#41;;
		/*Atribui uma pontuação as cartas para fins de comparação do valor das mesmas*/
		atribui&#40;&#41;;
		pntsrod&#91;0&#93;=0;
		pntsrod&#91;1&#93;=0;
		inicial=primeiro;
		turno=-1;
		estado=0;
		vale=0;
		last=2;
		local=1;
		sorteado=sorteia&#40;40&#41;;
		while &#40;&#40;pntsrod&#91;0&#93;&lt;2&#41;&amp;&amp;&#40;pntsrod&#91;1&#93;&lt;2&#41;&#41;
		&#123;
			printf&#40;&quot;\n***********************************\n&quot;&#41;;
			turno=turno+1;
			mesa&#91;1&#93;&#91;turno&#93;=-1;
			/*Os jogadores jogam as cartas*/
			pcordena&#40;&#41;;
			continua=TRUE;
			if &#40;&#40;pnts&#91;0&#93;==11&#41;&amp;&amp;&#40;pnts&#91;1&#93;==11&#41;&#41;
			&#123;
				printf&#40;&quot;\n\t*** Escurinha! ***\n&quot;&#41;;
			&#125;
			if &#40;inicial==0&#41;
			&#123;
				if &#40;&#40;&#40;pnts&#91;0&#93;==11&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;11&#41;&#41;&amp;&amp;&#40;turno==0&#41;&#41;
				&#123;
					printf&#40;&quot;Pc est\  com m\Æo de 11.\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					if &#40;qly&lt;45&#41;
					&#123;
						printf&#40;&quot;\nPc correu.\n&gt;&gt;&quot;&#41;;
						pntsrod&#91;1&#93;=3;
						continua=FALSE;
					&#125;
					else
					&#123;
						printf&#40;&quot;\nPc aceitou.\n&gt;&gt;&quot;&#41;;
						estado=1;
						last=-1;
					&#125;
				esp=getch&#40;&#41;;
				&#125;
				if &#40;&#40;&#40;pnts&#91;1&#93;==11&#41;&amp;&amp;&#40;pnts&#91;0&#93;&lt;11&#41;&#41;&amp;&amp;&#40;turno==0&#41;&#41;
				&#123;
					printf&#40;&quot;Voc\? est\  com m\Æo de 11.\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					printf&#40;&quot;\nVirada&#58; %c %c\n&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
					printf&#40;&quot;\nSua m\Æo \?&#58;\n&quot;&#41;;
					for &#40;i=0; i&lt;3; i++&#41;
					&#123;
						tipo&#91;0&#93;='\0';
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
							strcpy&#40;&amp;tipo,&amp;g&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
							strcpy&#40;&amp;tipo,&amp;c&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
							strcpy&#40;&amp;tipo,&amp;e&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
							strcpy&#40;&amp;tipo,&amp;m&#41;;
						printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
					&#125;
					car='a';
					while &#40;&#40;car!='s'&#41;&amp;&amp;&#40;car!='n'&#41;&#41;
					&#123;
						printf&#40;&quot;Voc\? aceita?&#40;s/n&#41;&quot;&#41;;
						scanf&#40;&quot;%s&quot;,&amp;car&#41;;
					&#125;
					if &#40;car=='n'&#41;
					&#123;
						pntsrod&#91;0&#93;=3;
						continua=FALSE;
					&#125;
					else
					&#123;
						estado=1;
						last=-1;
					&#125;
				&#125;
				if &#40;continua==TRUE&#41;
					pctruca&#40;&#41;;
				if &#40;continua==TRUE&#41;
					pcplay&#40;&#41;;
				local=2;
				if &#40;continua==TRUE&#41;
					jgtruca&#40;&#41;;
				if &#40;continua==TRUE&#41;
					jgplay&#40;&#41;;
			&#125;
			else
			&#123;
				if &#40;&#40;&#40;pnts&#91;0&#93;==11&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;11&#41;&#41;&amp;&amp;&#40;turno==0&#41;&#41;
				&#123;
					printf&#40;&quot;Pc est\  com m\Æo de 11.\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					if &#40;qly&lt;60&#41;
					&#123;
						printf&#40;&quot;\nPc correu.\n&gt;&gt;&quot;&#41;;
						pntsrod&#91;1&#93;=3;
						continua=FALSE;
					&#125;
					else
					&#123;
						printf&#40;&quot;\nPc aceitou.\n&gt;&gt;&quot;&#41;;
						estado=1;
						last=-1;
					&#125;
				esp=getch&#40;&#41;;
				&#125;
				if &#40;&#40;&#40;pnts&#91;1&#93;==11&#41;&amp;&amp;&#40;pnts&#91;0&#93;&lt;11&#41;&#41;&amp;&amp;&#40;turno==0&#41;&#41;
				&#123;
					printf&#40;&quot;Voc\? est\  com m\Æo de 11.\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					printf&#40;&quot;\nVirada&#58; %c %c\n&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
					printf&#40;&quot;\nSua m\Æo \?&#58;\n&quot;&#41;;
					for &#40;i=0; i&lt;3; i++&#41;
					&#123;
						tipo&#91;0&#93;='\0';
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
							strcpy&#40;&amp;tipo,&amp;g&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
							strcpy&#40;&amp;tipo,&amp;c&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
							strcpy&#40;&amp;tipo,&amp;e&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
							strcpy&#40;&amp;tipo,&amp;m&#41;;
						printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
					&#125;
					car='a';
					while &#40;&#40;car!='s'&#41;&amp;&amp;&#40;car!='n'&#41;&#41;
					&#123;
						printf&#40;&quot;Voc\? aceita?&#40;s/n&#41;&quot;&#41;;
						scanf&#40;&quot;%s&quot;,&amp;car&#41;;
					&#125;
					if &#40;car=='n'&#41;
					&#123;
						pntsrod&#91;0&#93;=3;
						continua=FALSE;
					&#125;
					else
					&#123;
						estado=1;
						last=-1;
					&#125;
				&#125;
				local=1;
				if &#40;continua==TRUE&#41;
					jgtruca&#40;&#41;;
				if &#40;continua==TRUE&#41;
					jgplay&#40;&#41;;
				if &#40;continua==TRUE&#41;
					pctruca&#40;&#41;;
				if &#40;continua==TRUE&#41;
					pcplay&#40;&#41;;
			&#125;
        	    	if &#40;&#40;pntsrod&#91;0&#93;&lt;2&#41;&amp;&amp;&#40;pntsrod&#91;1&#93;&lt;2&#41;&#41;
	           	&#123;           
				/*Avalia o resultado do turno*/
				if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;
				&#123;
					inicial=0;
					if &#40;&#40;vale==1&#41;||&#40;vale==2&#41;&#41;
						pntsrod&#91;0&#93;=3;
					else
						pntsrod&#91;0&#93;++;
					if &#40;turno==0&#41;
						primeira=0;
					printf&#40;&quot;\nPc levou este turno.\n&gt;&gt;&quot;&#41;;
				&#125;
				if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;&lt;cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;
				&#123;
					inicial=1;
					if &#40;&#40;vale==1&#41;||&#40;vale==2&#41;&#41;
						pntsrod&#91;1&#93;=3;
					else
						pntsrod&#91;1&#93;++;
					if &#40;turno==0&#41;
						primeira=1;
					printf&#40;&quot;\nVoc\? levou este turno.\n&gt;&gt;&quot;&#41;;
				&#125;
				if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;
				&#123;
					if &#40;turno==0&#41;
					&#123;
						vale=1;
						printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
					&#125;
					if &#40;turno==1&#41;
						if &#40;vale==0&#41;
						&#123;
							pntsrod&#91;primeira&#93;=3;
							printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
						&#125;
						else
						&#123;
							vale=2;
							printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
						&#125;
					if &#40;turno==2&#41;
					&#123;
						if &#40;vale==2&#41;
						&#123;
							naipe0=&#40;int&#41;&#40;mesa&#91;1&#93;&#91;3&#93;/10&#41;;
							naipe1=&#40;int&#41;&#40;mesa&#91;1&#93;&#91;3&#93;/10&#41;;
							if &#40;naipe0&gt;naipe1&#41;
							&#123;
								pntsrod&#91;0&#93;=3;
								printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
							&#125;
							else
							&#123;
								pntsrod&#91;1&#93;=3;
								printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
							&#125;
						&#125;
						else
						&#123;
							pntsrod&#91;primeira&#93;=3;
							printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
						&#125;
					&#125;	
				&#125;
				esp=getch&#40;&#41;;
			&#125;
		&#125;
		printf&#40;&quot;\n***********************************\n&quot;&#41;;
		valor=estado*3;
		if &#40;estado==0&#41;
			valor=1;
		if &#40;pntsrod&#91;0&#93;&gt;=2&#41;
		&#123;
			if &#40;pnts&#91;0&#93;==11&#41;
				valor=1;
			pnts&#91;0&#93;=pnts&#91;0&#93;+valor;
			if &#40;valor==1&#41;
				printf&#40;&quot;\nPc ganhou 1 ponto\n&quot;&#41;;
			else
               			printf&#40;&quot;\nPc ganhou %d pontos\n&quot;,valor&#41;;
            		printf&#40;&quot;\n***********************************\n&quot;&#41;;
           	&#125;
		if &#40;pntsrod&#91;1&#93;&gt;=2&#41;
		&#123;
			if &#40;pnts&#91;1&#93;==11&#41;
				valor=1;
			if &#40;valor==1&#41;
				printf&#40;&quot;\nVoc\? ganhou 1 ponto\n&quot;&#41;;
			else
               			printf&#40;&quot;\nVoc\? ganhou %d pontos\n&quot;,valor&#41;;
			pnts&#91;1&#93;=pnts&#91;1&#93;+valor;
            		printf&#40;&quot;\n***********************************\n&quot;&#41;;
		&#125;
		esp=getch&#40;&#41;;
		if &#40;pnts&#91;0&#93;&gt;12&#41;
			pnts&#91;0&#93;=12;
		if &#40;pnts&#91;1&#93;&gt;12&#41;
			pnts&#91;1&#93;=12;
		printf&#40;&quot;\n\tPLACAR PARCIAL\n&quot;&#41;;
		printf&#40;&quot;\t---------------------\n\t Pc =   %d\n&quot;,pnts&#91;0&#93;&#41;;
		printf&#40;&quot;\t---------------------\n\t %s =   %d\n&quot;,nome,pnts&#91;1&#93;&#41;;
		printf&#40;&quot;\t---------------------\n&quot;&#41;;
		printf&#40;&quot;&gt;&gt;&quot;&#41;;
		esp=getch&#40;&#41;;
		if &#40;&#40;pnts&#91;0&#93;&gt;=ptsmax&#41;||&#40;pnts&#91;1&#93;&gt;=ptsmax&#41;&#41;
		&#123;
			if &#40;pnts&#91;0&#93;&gt;=ptsmax&#41;
			&#123;
				npartidas++;
				saldo=pnts&#91;1&#93;-ptsmax;
		    		printf&#40;&quot;\n\n\tVOC\Ò PERDEU!!!\n\n&quot;&#41;;
	      		&#125;
			if &#40;pnts&#91;1&#93;&gt;=ptsmax&#41;
			&#123;
				vitorias++;
				npartidas++;
				saldo=ptsmax-pnts&#91;0&#93;;
				printf&#40;&quot;\n\n\tVOC\Ò GANHOU!!!\n\n&quot;&#41;;
			&#125;
			system&#40;&quot;Pause&quot;&#41;;
		&#125;
		if &#40;primeiro==0&#41;
			primeiro++;
		else
		    	primeiro--;
        	rodada++;
	&#125;
	save&#40;&#41;;
&#125;

void embaralha&#40;void&#41;
&#123;
	int num, i, j, k;
	char ch&#91;2&#93;;
	for &#40;i=0; i&lt;40; i++&#41;
	&#123;
		num=sorteia&#40;40-i&#41;;
		baralho&#91;i&#93;=matriz&#91;num&#93;;
		for &#40;j=num; j&lt;&#40;39&#41;; j++&#41;
			matriz&#91;j&#93;=matriz&#91;j+1&#93;;
	&#125;
	for &#40;i=0; i&lt;40; i++&#41;
		matriz&#91;i&#93;=baralho&#91;i&#93;;
&#125;

int sorteia&#40;int max&#41;
&#123;
	return &#40;&#40;int&#41;max*rand&#40;&#41;/&#40;RAND_MAX+1&#41;&#41;;
&#125;

void distribui&#40;void&#41;
&#123;
	int	a, b, i;
	for &#40;a=0; a&lt;3; a++&#41;
	&#123;
		for &#40;b=0; b&lt;2; b++&#41;
		&#123;
			mao&#91;b&#93;&#91;a&#93;=baralho&#91;a*2+b&#93;;
		&#125;
	&#125;
	virada=baralho&#91;6&#93;;
	printf&#40;&quot;\n***********************************\n&quot;&#41;;
	printf&#40;&quot;Rodada %2d&quot;,rodada+1&#41;;
	printf&#40;&quot;\n&gt;&gt;&quot;&#41;;
	esp=getch&#40;&#41;;
	if &#40;primeiro==0&#41;
	    printf&#40;&quot;\nPc come\?a!\n&gt;&gt;&quot;&#41;;
   	else
        	printf&#40;&quot;\nVoc\? come\?a!\n&gt;&gt;&quot;&#41;;
    	printf&#40;&quot;&quot;&#41;;
    	esp=getch&#40;&#41;;
&#125;

void pcplay&#40;void&#41;
&#123;
	int num, i, j, wx, ql, jogou, valormao;
	char tipo&#91;40&#93;;
	
	


	/*Pc escolhe carta para jogar*/
	if &#40;inicial==0&#41;
	&#123;
		if &#40;&#40;pntsrod&#91;0&#93;==0&#41;&amp;&amp;&#40;turno&gt;0&#41;&#41;
		&#123;
			if &#40;cartas&#91;mao&#91;0&#93;&#91;1&#93;&#93;&gt;6&#41;
				num=sorteia&#40;3-turno&#41;;
			else
				num=0;
		&#125;
		else
			num=sorteia&#40;3-turno&#41;;
	&#125;
	if &#40;&#40;pnts&#91;0&#93;==11&#41;||&#40;pnts&#91;1&#93;==11&#41;&#41;
		num=sorteia&#40;3-turno&#41;;
	if &#40;inicial==1&#41;
	&#123;
		jogou=FALSE;
		for &#40;i=&#40;2-turno&#41;; i&gt;=0; i--&#41;
		&#123;
			if &#40;&#40;cartas&#91;mao&#91;0&#93;&#91;i&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;&amp;&amp;&#40;jogou==FALSE&#41;&#41;
			&#123;
				num=i;
				jogou=TRUE;
			&#125;
		&#125;
		if &#40;jogou==FALSE&#41;
			for &#40;i=&#40;2-turno&#41;; i&gt;=0; i--&#41;
			&#123;
				if &#40;&#40;cartas&#91;mao&#91;0&#93;&#91;i&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;&amp;&amp;&#40;jogou==FALSE&#41;&#41;
				&#123;
					num=i;
					jogou=TRUE;
				&#125;
			&#125;
		if &#40;jogou==FALSE&#41;
			num=2-turno;
		if &#40;&#40;pntsrod&#91;0&#93;==pntsrod&#91;1&#93;&#41;&amp;&amp;&#40;turno!=0&#41;&#41;
			num=0;
	&#125;

	tipo&#91;0&#93;='\0';
	mesa&#91;0&#93;&#91;turno&#93;=mao&#91;0&#93;&#91;num&#93;;
	for &#40;i=num; i&lt;&#40;2-turno&#41;; i++&#41;
		mao&#91;0&#93;&#91;i&#93;=mao&#91;0&#93;&#91;i+1&#93;;
	if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==13&#41;
		strcpy&#40;&amp;tipo,&amp;g&#41;;
	if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==12&#41;
		strcpy&#40;&amp;tipo,&amp;c&#41;;
	if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==11&#41;
		strcpy&#40;&amp;tipo,&amp;e&#41;;
	if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==10&#41;
		strcpy&#40;&amp;tipo,&amp;m&#41;;
	printf&#40;&quot;\nPc jogou&#58;  %c %c  %s\n&quot;,carta&#40;mesa&#91;0&#93;&#91;turno&#93;&#41;,toon&#40;mesa&#91;0&#93;&#91;turno&#93;&#41;,tipo&#41;;
	printf&#40;&quot;&gt;&gt;&quot;&#41;;
	esp=getch&#40;&#41;;
&#125;

void jgplay&#40;void&#41;
&#123;
	int num, i, vle;
	char tipo&#91;40&#93;;
	num=10;
	while &#40;&#40;num&lt;0&#41;||&#40;num&gt;&#40;2-turno&#41;&#41;&#41;
	&#123;
	   	printf&#40;&quot;\nVirada&#58;  %c %c\n&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
		if &#40;&#40;pnts&#91;0&#93;==11&#41;&amp;&amp;&#40;pnts&#91;1&#93;==11&#41;&#41;
		&#123;
			printf&#40;&quot;\nQue carta voc\? quer jogar?&#40;1&quot;&#41;;
			for &#40;i=1; i&lt;&#40;3-turno&#41;; i++&#41;
				printf&#40;&quot;/%d&quot;,i+1&#41;;
			printf&#40;&quot;&#41;\n&quot;&#41;;
			scanf&#40;&quot;%d&quot;,&amp;num&#41;;
			num--;			
		&#125;
		else
		&#123;
			printf&#40;&quot;\nQue carta voc\? quer jogar?\n&quot;&#41;;
			for &#40;i=0; i&lt;&#40;3-turno&#41;; i++&#41;
			&#123;
				tipo&#91;0&#93;='\0';
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
					strcpy&#40;&amp;tipo,&amp;g&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
					strcpy&#40;&amp;tipo,&amp;c&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
					strcpy&#40;&amp;tipo,&amp;e&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
					strcpy&#40;&amp;tipo,&amp;m&#41;;
	        		printf&#40;&quot;%d - %c %c %s\n&quot;,i+1,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
			&#125;
			scanf&#40;&quot;%d&quot;,&amp;num&#41;;
			num--;
		&#125;
		if &#40;&#40;num&lt;0&#41;||&#40;num&gt;&#40;2-turno&#41;&#41;&#41;
		&#123;
			printf&#40;&quot;\a\n\tVALOR INCORRETO!!\n&quot;&#41;;
			printf&#40;&quot;\nDigite sua op\?\Æo entre 0 e %d\n&quot;,&#40;2-turno&#41;&#41;;
			system&#40;&quot;Pause&quot;&#41;;
		&#125;
		else
        	&#123;
			tipo&#91;0&#93;='\0';
			if &#40;cartas&#91;mao&#91;1&#93;&#91;num&#93;&#93;==13&#41;
				strcpy&#40;&amp;tipo,&amp;g&#41;;
			if &#40;cartas&#91;mao&#91;1&#93;&#91;num&#93;&#93;==12&#41;
				strcpy&#40;&amp;tipo,&amp;c&#41;;
			if &#40;cartas&#91;mao&#91;1&#93;&#91;num&#93;&#93;==11&#41;
				strcpy&#40;&amp;tipo,&amp;e&#41;;
			if &#40;cartas&#91;mao&#91;1&#93;&#91;num&#93;&#93;==10&#41;
				strcpy&#40;&amp;tipo,&amp;m&#41;;
                       	printf&#40;&quot;Voc\? jogou&#58; %c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;num&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;num&#93;&#41;,tipo&#41;;
	                printf&#40;&quot;&gt;&gt;&quot;&#41;;
   	    	&#125;
	        esp=getch&#40;&#41;;
	&#125;
	mesa&#91;1&#93;&#91;turno&#93;=mao&#91;1&#93;&#91;num&#93;;
	for &#40;i=num; i&lt;&#40;2-turno&#41;; i++&#41;
		mao&#91;1&#93;&#91;i&#93;=mao&#91;1&#93;&#91;i+1&#93;;	
&#125;

void atribui&#40;void&#41;
&#123;
	int vle, a, i, j, card;
	if &#40;&#40;virada%10&#41;&lt;9&#41;
	&#123;
		card=&#40;virada%10&#41;+1;
	&#125;
	else	
		card=0;
	vle=0;
	for &#40;i=0; i&lt;4; i++&#41;
	&#123;
		vle=0;
		for &#40;j=0; j&lt;10; j++&#41;
		&#123;
			if &#40;card==j&#41;
				cartas&#91;10*i+j&#93;=10+i;
			else
			&#123;
				cartas&#91;10*i+j&#93;=vle;
				vle=vle+1;
			&#125;
		&#125;
	&#125;
&#125;

char toon&#40;int card&#41;
&#123;
	int vle, x;
	vle=&#40;int&#41;&#40;card/10&#41;;
	if &#40;vle==0&#41;
		x=4;
	if &#40;vle==1&#41;
		x=6;
	if &#40;vle==2&#41;
		x=3;
	if &#40;vle==3&#41;
		x=5;
	return &#40;&quot;%c&quot;,x&#41;;
&#125;

char carta&#40;int card&#41;
&#123;
	int vle;
	char x;
	vle=card%10;
	if &#40;vle&gt;7&#41;
		x=&#40;&quot;\c&quot;,42+vle&#41;;
	if &#40;vle==7&#41;
		x='A';
	if &#40;vle==6&#41;
		x='K';
	if &#40;vle==5&#41;
		x='J';
	if &#40;vle==4&#41;
		x='Q';
	if &#40;vle&lt;4&#41;
		x=&#40;&quot;%c&quot;,52+vle&#41;;
	return x;
&#125;

void save&#40;void&#41;
&#123;
	int	i, pos, njogadores, pontos, j;
	char	nm&#91;40&#93;;

	/*Abre o arquivo para leitura, se existir*/
	if &#40;&#40;arq=fopen&#40;&quot;Rank.TXT&quot;,&quot;r&quot;&#41;&#41;!=NULL&#41;
	&#123;
		/*Obtem os nomes e a pontuação*/		
		for &#40;i=0; i&lt;100; i++&#41;
		&#123;
			fscanf&#40;arq,&quot;%s%d%d%d&quot;,&amp;ranknomes&#91;i&#93;,&amp;rankpartidas&#91;i&#93;,&amp;rankvitorias&#91;i&#93;,&amp;rankpts&#91;i&#93;&#41;;
		&#125;
	&#125;


	/*senão, o cria*/
	else
	&#123;
		arq=fopen&#40;&quot;Rank.txt&quot;,&quot;w&quot;&#41;;
		for &#40;i=0; i&lt;100; i++&#41;
		&#123;
			fprintf&#40;arq,&quot;%s %d %d %d\n&quot;,vazio,0,0,0&#41;;
			strcpy&#40;&amp;ranknomes&#91;i&#93;,&amp;vazio&#41;;
			rankpartidas&#91;i&#93;=0;
			rankvitorias&#91;i&#93;=0;
			rankpts&#91;i&#93;=0;
		&#125;
	&#125;


	/*fecha o arquivo*/
	fclose&#40;arq&#41;;


	/*procura o nome e conta o número de jogadores na lista*/
	njogadores=0;
	pos=-1;
	i=0;
	while &#40;&#40;pos==-1&#41;||&#40;i==njogadores&#41;&#41;
	&#123;
		if &#40;strcmp&#40;&amp;ranknomes&#91;i&#93;,&amp;nome&#41;==0&#41;
			pos=i;
		if &#40;&#40;pos==-1&#41;&amp;&amp;&#40;i==99&#41;&#41;
			pos=100;
		if &#40;strcmp&#40;&amp;ranknomes&#91;i&#93;,&amp;vazio&#41;!=0&#41;
			njogadores++;
		i++;
	&#125;


	/*se encontrar, acrescenta ou diminui seus pontos*/
	if &#40;pos&lt;100&#41;
	&#123;
		rankpartidas&#91;pos&#93;=rankpartidas&#91;pos&#93;+npartidas;
		rankpts&#91;pos&#93;=rankpts&#91;pos&#93;+saldo;
		rankvitorias&#91;pos&#93;=rankvitorias&#91;pos&#93;+vitorias;
	&#125;


	/*senão, adiciona-lhe ao final da lista*/
	else
	&#123;
		njogadores++;
		rankpartidas&#91;njogadores-1&#93;=npartidas;
		rankvitorias&#91;njogadores-1&#93;=vitorias;
		rankpts&#91;njogadores-1&#93;=saldo;
		strcpy&#40;&amp;ranknomes&#91;njogadores-1&#93;,&amp;nome&#41;;
	&#125;


	/*ordena a lista em forma decrescente*/
	for &#40;i=0; i&lt;&#40;njogadores-1&#41;; i++&#41;
	&#123;
		for &#40;j=0; j&lt;&#40;njogadores-1&#41;; j++&#41;
		&#123;
			if &#40;rankvitorias&#91;j&#93;&lt;rankvitorias&#91;j+1&#93;&#41;
			&#123;
				pontos=rankpts&#91;j&#93;;
				rankpts&#91;j&#93;=rankpts&#91;j+1&#93;;
				rankpts&#91;j+1&#93;=pontos;

				pontos=rankvitorias&#91;j&#93;;
				rankvitorias&#91;j&#93;=rankvitorias&#91;j+1&#93;;
				rankvitorias&#91;j+1&#93;=pontos;

				pontos=rankpartidas&#91;j&#93;;
				rankpartidas&#91;j&#93;=rankpartidas&#91;j+1&#93;;
				rankpartidas&#91;j+1&#93;=pontos;

				strcpy&#40;&amp;nm,&amp;ranknomes&#91;j&#93;&#41;;
				strcpy&#40;&amp;ranknomes&#91;j&#93;,&amp;ranknomes&#91;j+1&#93;&#41;;
				strcpy&#40;&amp;ranknomes&#91;j+1&#93;,&amp;nm&#41;;
			&#125;
			else
			&#123;
				if &#40;rankvitorias&#91;j&#93;==rankvitorias&#91;j+1&#93;&#41;
				&#123;
					if &#40;rankpts&#91;j&#93;&lt;rankpts&#91;j+1&#93;&#41;
					&#123;
						pontos=rankpts&#91;j&#93;;
						rankpts&#91;j&#93;=rankpts&#91;j+1&#93;;
						rankpts&#91;j+1&#93;=pontos;

						pontos=rankvitorias&#91;j&#93;;
						rankvitorias&#91;j&#93;=rankvitorias&#91;j+1&#93;;
						rankvitorias&#91;j+1&#93;=pontos;
	
						pontos=rankpartidas&#91;j&#93;;
						rankpartidas&#91;j&#93;=rankpartidas&#91;j+1&#93;;
						rankpartidas&#91;j+1&#93;=pontos;
	
						strcpy&#40;&amp;nm,&amp;ranknomes&#91;j&#93;&#41;;
						strcpy&#40;&amp;ranknomes&#91;j&#93;,&amp;ranknomes&#91;j+1&#93;&#41;;
						strcpy&#40;&amp;ranknomes&#91;j+1&#93;,&amp;nm&#41;;
					&#125;
					else
					&#123;
						if &#40;rankpts&#91;j&#93;==rankpts&#91;j+1&#93;&#41;
						&#123;
							if &#40;rankpartidas&#91;j&#93;&lt;rankpartidas&#91;j+1&#93;&#41;
							&#123;
								pontos=rankpts&#91;j&#93;;
								rankpts&#91;j&#93;=rankpts&#91;j+1&#93;;
								rankpts&#91;j+1&#93;=pontos;

								pontos=rankvitorias&#91;j&#93;;
								rankvitorias&#91;j&#93;=rankvitorias&#91;j+1&#93;;
								rankvitorias&#91;j+1&#93;=pontos;
			
								pontos=rankpartidas&#91;j&#93;;
								rankpartidas&#91;j&#93;=rankpartidas&#91;j+1&#93;;
								rankpartidas&#91;j+1&#93;=pontos;
	
								strcpy&#40;&amp;nm,&amp;ranknomes&#91;j&#93;&#41;;
								strcpy&#40;&amp;ranknomes&#91;j&#93;,&amp;ranknomes&#91;j+1&#93;&#41;;
								strcpy&#40;&amp;ranknomes&#91;j+1&#93;,&amp;nm&#41;;
							&#125;
						&#125;
					&#125;
				&#125;
			&#125;
		&#125;
	&#125;


	/*recria o arquivo para escrita*/
	if &#40;&#40;arq=fopen&#40;&quot;Rank.txt&quot;,&quot;w&quot;&#41;&#41;==NULL&#41;
	&#123;
		printf&#40;&quot;\n\aErro de leitura.\nO arquivo 'Rank.Txt' pode estar corrompido ou danificado.\n&quot;&#41;;
	&#125;
	else
	&#123;
		/*escreve os dados da lista*/
		for &#40;i=0; i&lt;100; i++&#41;
		&#123;
			fprintf&#40;arq,&quot;%s %d %d %d\n&quot;,ranknomes&#91;i&#93;,rankpartidas&#91;i&#93;,rankvitorias&#91;i&#93;,rankpts&#91;i&#93;&#41;;
		&#125;
	&#125;


	/*fecha o arquivo*/
	fclose&#40;arq&#41;;
&#125;

void pcpensa&#40;void&#41;
&#123;
	int i, valormao;
	valormao=0;
	for &#40;i=0; i&lt;&#40;3-turno&#41;; i++&#41;
		valormao=valormao+cartas&#91;mao&#91;0&#93;&#91;i&#93;&#93;;
	qly=3*valormao;
	if &#40;turno==0&#41;
	&#123;
		if &#40;inicial==1&#41;
		&#123;
			for &#40;i=0; i&lt;3; i++&#41;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;i&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;0&#93;&#93;&#41;
					qly=qly+5;
			if &#40;qly==&#40;3*valormao&#41;&#41;
			&#123;
				qly=25+sorteia&#40;50&#41;;	/*Facão*/
			&#125;
		&#125;
	&#125;
	if &#40;turno==1&#41;
	&#123;
		if &#40;pntsrod&#91;0&#93;==1&#41;
		&#123;
			qly=5*valormao;
			if &#40;cartas&#91;mesa&#91;0&#93;&#91;1&#93;&#93;==-1&#41;
			&#123;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;&gt;=10&#41;
					qly=60;
				if &#40;cartas&#91;mao&#91;9&#93;&#91;1&#93;&#93;&gt;=8&#41;
					qly=qly+20;
			&#125;
			else
			&#123;
				if &#40;cartas&#91;mesa&#91;0&#93;&#91;1&#93;&#93;&gt;=11&#41;
					qly=65;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;1&#93;&#93;&gt;=9&#41;
					qly=90;
			&#125;
			if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;==13&#41;
				qly=100;
		&#125;
		if &#40;pntsrod&#91;1&#93;==1&#41;
		&#123;
			if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;&lt;cartas&#91;mesa&#91;1&#93;&#91;1&#93;&#93;&#41;
			&#123;
					qly=30+sorteia&#40;50&#41;;	/*Facão*/
			&#125;
			else
			&#123;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;1&#93;&#93;&lt;cartas&#91;mesa&#91;1&#93;&#91;1&#93;&#93;&#41;
				&#123;
						qly=20+sorteia&#40;50&#41;;	/*Facão*/
				&#125;
				else
				&#123;
					qly=4*valormao+sorteado;
				&#125;
			&#125;
		&#125;
		else
		&#123;
			qly=6*cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;+2*cartas&#91;mao&#91;0&#93;&#91;1&#93;&#93;+sorteado;
		&#125;
	&#125;
	if &#40;turno==2&#41;
	&#123;
		if &#40;inicial==1&#41;
		&#123;
			if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;2&#93;&#93;&#41;
			&#123;
				qly=100;
			&#125;
			else
			&#123;
				if &#40;&#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;==cartas&#91;mesa&#91;1&#93;&#91;2&#93;&#93;&#41;&amp;&amp;&#40;cartas&#91;mesa&#91;0&#93;&#91;0&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;0&#93;&#93;&#41;&#41;
				&#123;
					qly=100;
				&#125;
				else
				&#123;
						qly=30+sorteia&#40;60&#41;;	/*Facão*/
				&#125;
			&#125;			
		&#125;
		if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;==13&#41;
			qly=100;
	&#125;
&#125;

void pctruca&#40;void&#41;
&#123;
	int	num, i;
	char	tipo&#91;40&#93;;
	pcpensa&#40;&#41;;
	if &#40;&#40;&#40;pnts&#91;0&#93;&lt;11&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;11&#41;&#41;&amp;&amp;&#40;&#40;&#40;last==1&#41;||&#40;last==2&#41;&#41;&amp;&amp;&#40;estado&lt;4&#41;&#41;&#41;
	&#123;
		if &#40;qly&gt;&#40;50+sorteia&#40;20&#41;+estado*8&#41;&#41;
		&#123;
			printf&#40;&quot;\nPc pediu %s.\n&gt;&gt;&quot;,status&#91;estado+1&#93;&#41;;
			esp=getch&#40;&#41;;
			printf&#40;&quot;\nVirada&#58; %c %c\n&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
			printf&#40;&quot;\nSua m\Æo \?&#58;\n&quot;&#41;;
			if &#40;mesa&#91;1&#93;&#91;turno&#93;==-1&#41;
			&#123;
				for &#40;i=0; i&lt;&#40;3-turno&#41;; i++&#41;
				&#123;
					tipo&#91;0&#93;='\0';
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
						strcpy&#40;&amp;tipo,&amp;g&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
						strcpy&#40;&amp;tipo,&amp;c&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
						strcpy&#40;&amp;tipo,&amp;e&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
						strcpy&#40;&amp;tipo,&amp;m&#41;;
					printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
				&#125;
			&#125;
			else
			&#123;
				for &#40;i=0; i&lt;&#40;2-turno&#41;; i++&#41;
				&#123;
					tipo&#91;0&#93;='\0';
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
						strcpy&#40;&amp;tipo,&amp;g&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
						strcpy&#40;&amp;tipo,&amp;c&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
						strcpy&#40;&amp;tipo,&amp;e&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
						strcpy&#40;&amp;tipo,&amp;m&#41;;
					printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
				&#125;
			&#125;		
			printf&#40;&quot;Digite&#58;\n1 - Aceitar;\n2 - Correr\n&quot;&#41;;
			if &#40;estado&lt;3&#41;
				printf&#40;&quot;3 - Pedir '%s'\n&quot;,status&#91;estado+2&#93;&#41;;
			scanf&#40;&quot;%d&quot;,&amp;num&#41;;
			if &#40;num==1&#41;
			&#123;
				estado++;
				last=0;
			&#125;
			if &#40;num==2&#41;
			&#123;
				continua=FALSE;
				pntsrod&#91;0&#93;=3;
			&#125;
			if &#40;num==3&#41;
			&#123;
				last=0;
				estado++;
				local=0;
				jgtruca&#40;&#41;;
			&#125;
			
		&#125;
	&#125;
&#125;

void pcordena&#40;void&#41;
&#123;
	int	i, j, wx;
	/*Ordena as cartas do pc no primeiro turno*/
	if &#40;turno==0&#41;
	&#123;
		for &#40;i=0; i&lt;2; i++&#41;
			for &#40;j=0; j&lt;2; j++&#41;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;j&#93;&#93;&lt;cartas&#91;mao&#91;0&#93;&#91;j+1&#93;&#93;&#41;
				&#123;
					wx=mao&#91;0&#93;&#91;j&#93;;
					mao&#91;0&#93;&#91;j&#93;=mao&#91;0&#93;&#91;j+1&#93;;
					mao&#91;0&#93;&#91;j+1&#93;=wx;
				&#125;
	&#125;
&#125;

void jgtruca&#40;void&#41;
&#123;
	char	car;
	char	tipo&#91;40&#93;;
	int	cont, i, num;
	if &#40;&#40;&#40;pnts&#91;0&#93;&lt;11&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;11&#41;&#41;&amp;&amp;&#40;&#40;&#40;last==0&#41;||&#40;last==2&#41;&#41;&amp;&amp;&#40;estado&lt;4&#41;&#41;&#41;
	&#123;
		cont=TRUE;
		if &#40;local!=0&#41;
		&#123;
			printf&#40;&quot;\nVirada&#58; %c %c&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
			printf&#40;&quot;\nSua m\Æo \?&#58;\n&quot;&#41;;
			for &#40;i=0; i&lt;&#40;3-turno&#41;; i++&#41;
			&#123;
				tipo&#91;0&#93;='\0';
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
					strcpy&#40;&amp;tipo,&amp;g&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
					strcpy&#40;&amp;tipo,&amp;c&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
					strcpy&#40;&amp;tipo,&amp;e&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
					strcpy&#40;&amp;tipo,&amp;m&#41;;
				printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
			&#125;
			num=0;
			while &#40;&#40;num!=1&#41;&amp;&amp;&#40;num!=2&#41;&#41;
			&#123;
				printf&#40;&quot;\nVoc\? quer pedir %s?\n&quot;,status&#91;estado+1&#93;&#41;;
				printf&#40;&quot;1 - Sim\n&quot;&#41;;
				printf&#40;&quot;2 - N\Æo\n&quot;&#41;;
				scanf&#40;&quot;%d&quot;,&amp;num&#41;;
			&#125;

			if &#40;num==2&#41;
				cont=FALSE;
		&#125;
		if &#40;cont==TRUE&#41;
		&#123;
			pcpensa&#40;&#41;;
			if &#40;&#40;qly&gt;&#40;sorteia&#40;10&#41;+&#40;estado+1&#41;*8+40&#41;&#41;&amp;&amp;&#40;&#40;qly&lt;&#40;sorteia&#40;10&#41;+&#40;estado+2&#41;*8+40&#41;&#41;&#41;||&#40;estado&gt;2&#41;&#41;
			&#123;
				estado++;
				last=1;
				printf&#40;&quot;\nPc aceitou!\n&gt;&gt;&quot;&#41;;
				esp=getch&#40;&#41;;
			&#125;
			else
			&#123;
				if &#40;&#40;qly&gt;&#40;sorteia&#40;10&#41;+&#40;estado+2&#41;*8+40&#41;&#41;&amp;&amp;&#40;estado&lt;3&#41;&#41;
				&#123;
					estado++;
					last=1;
					printf&#40;&quot;\nPc aceitou!\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					pctruca&#40;&#41;;
				&#125;
				else
				&#123;
					continua=FALSE;
					pntsrod&#91;1&#93;=3;
					printf&#40;&quot;\nPc correu!\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
				&#125;
			&#125;
		&#125;
	&#125;
&#125;
'; if (cartas[mao[1][i]]==13) strcpy(&tipo,&g); if (cartas[mao[1][i]]==12) strcpy(&tipo,&c); if (cartas[mao[1][i]]==11) strcpy(&tipo,&e); if (cartas[mao[1][i]]==10) strcpy(&tipo,&m); printf("%c %c %s\n",carta(mao[1][i]),toon(mao[1][i]),tipo); } } else { for (i=0; i<(2-turno); i++) { tipo[0]='
/*Jogo de truco em C*/
/*Versão 0.20*/


/*Bibliotecas utilizadas*/
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;string.h&gt;


/*Estados&#58;
	0=normal
	1=trucado
	2=vale seis
	3=vale nove
	4=vale doze
		*/


/*Constantes*/
#define opcoes 4
#define versao 0.20
#define TRUE 1
#define FALSE 0
#define ptsmax 12
#define g &quot;&#40;Gato&#41;&quot;
#define c &quot;&#40;Copas&#41;&quot;
#define e &quot;&#40;Espadilha&#41;&quot;
#define m &quot;&#40;Mole&#41;&quot;
#define truco &quot;truco&quot;
#define seis &quot;seis&quot;
#define nove &quot;nove&quot;
#define doze &quot;doze&quot;
#define vazio &quot;vazio&quot;
#define autor2 &quot;Celito Gregolon J\£nior&quot;     /*Ordem alfabética*/
#define autor1 &quot;Carlos Eduardo Weber&quot;
#define autor3 &quot;Ricardo Oenning&quot;
#define part &quot;Partidas&quot;
#define sal &quot;Pontos&quot;
#define jog &quot;Jogador&quot;
#define vit &quot;Vit\¢rias&quot;


/*Variáveis Globais*/
char	nome&#91;40&#93;=&quot;Design&quot;;
int 	pnts&#91;2&#93;;
int	pntsrod&#91;2&#93;;
int	baralho&#91;40&#93;;
int	matriz&#91;40&#93;;
int 	mao&#91;2&#93;&#91;3&#93;;
int	mesa&#91;2&#93;&#91;3&#93;;
int	cartas&#91;40&#93;;
char	ranknomes&#91;100&#93;&#91;40&#93;;
int	rankpts&#91;100&#93;;
int	rankpartidas&#91;100&#93;;
int	rankvitorias&#91;100&#93;;
FILE 	*fl;
FILE 	*arq;
int	primeiro, virada, turno, rodada, estado, last, saldo, inicial, continua, qly, sorteado, local, npartidas, vitorias;
char	status&#91;6&#93;&#91;10&#93;=&#123;vazio,truco,seis,nove,doze,vazio&#125;;
char	esp;


/*Funções e procedimentos definidos*/
void 	embaralha&#40;void&#41;;
int	sorteia&#40;int max&#41;;
void	distribui&#40;void&#41;;
void	pcplay&#40;void&#41;;
void	jgplay&#40;void&#41;;
void	atribui&#40;void&#41;;
char 	toon&#40;int card&#41;;
char	carta&#40;int card&#41;;
void    save&#40;void&#41;;
void	pcpensa&#40;void&#41;;
void	pctruca&#40;void&#41;;
void	pcordena&#40;void&#41;;
void	jgtruca&#40;void&#41;;
void	jogo&#40;void&#41;;
void	sobre&#40;void&#41;;
void	rank&#40;void&#41;;


/*Principal*/
void main&#40;&#41;
&#123;
	/*Variáveis locais*/
	int opcao, i;


	/*Início*/
	opcao=opcoes+1;
	while &#40;opcao!=opcoes&#41;
	&#123;
		/* Pede para que o usuário escolha uma opção*/
		printf&#40;&quot;\n&quot;&#41;;
		printf&#40;&quot;************************\n&quot;&#41;;
		printf&#40;&quot;O que voc\? deseja fazer?\n&quot;&#41;;
		printf&#40;&quot;\t1 - Jogar truco\n&quot;&#41;;
		printf&#40;&quot;\t2 - Ver ranking\n&quot;&#41;;
		printf&#40;&quot;\t3 - Sobre...\n&quot;&#41;;
		printf&#40;&quot;\t4 - Sair\n&quot;&#41;;
		printf&#40;&quot;\nDigite uma op\?\Æo&#58;&quot;&#41;;
		scanf&#40;&quot;%d&quot;,&amp;opcao&#41;;
		strcpy&#40;&amp;status&#91;1&#93;,&amp;truco&#41;;
		strcpy&#40;&amp;status&#91;2&#93;,&amp;seis&#41;;
		strcpy&#40;&amp;status&#91;3&#93;,&amp;nove&#41;;
		strcpy&#40;&amp;status&#91;4&#93;,&amp;doze&#41;;
		/*Verifica possíveis entradas erradas*/
		if &#40;&#40;opcao&lt;1&#41;||&#40;opcao&gt;opcoes&#41;&#41;
		&#123;
			printf&#40;&quot;\a\n\nVALOR INCORRETO!\n\n&quot;&#41;;
			printf&#40;&quot;Por favor escolha uma op\?\Æo entre 1 e %d\n\n&quot;, opcoes&#41;;
			system&#40;&quot;Pause&quot;&#41;;
		&#125;
		if &#40;opcao==1&#41;
		&#123;
			jogo&#40;&#41;;
		&#125;
		if &#40;opcao==2&#41;
		&#123;
			rank&#40;&#41;;
		&#125;
		if &#40;opcao==3&#41;
		&#123;
			sobre&#40;&#41;;
		&#125;
	&#125;
&#125;


void sobre&#40;void&#41;
&#123;
/**/	printf&#40;&quot;\n\n&quot;&#41;;
	printf&#40;&quot;Programa&#58; Super Truco\n&gt;&gt;&quot;&#41;;
	esp=getch&#40;&#41;;
	printf&#40;&quot;\nVers\Æo&#58; %3.2f\n&gt;&gt;&quot;,versao&#41;;
	esp=getch&#40;&#41;;
	printf&#40;&quot;\nAutores&#58;\n&quot;&#41;;
	printf&#40;&quot;\t%s\n&quot;,autor1&#41;;
	printf&#40;&quot;\t%s\n&quot;,autor2&#41;;
	printf&#40;&quot;\t%s\n&gt;&gt;&quot;,autor3&#41;;
	esp=getch&#40;&#41;;
	printf&#40;&quot;\nComent\ rios\n&quot;&#41;;
	printf&#40;&quot;\t       Este programa foi feito em novembro de 2004 como trabalho\n&quot;&#41;;
	printf&#40;&quot;\tde conclus\Æo da disciplina de Processamento de Dados &#40;PRD&#41; da \n&quot;&#41;;
	printf&#40;&quot;\t3\¦ fase do curso de Engenharia El\?trica da Universidade do Estado\n&quot;&#41;;
	printf&#40;&quot;\tde Santa Catarina &#40;UDESC&#41;.\n&gt;&gt;&quot;&#41;;
	esp=getch&#40;&#41;;
&#125;


void rank&#40;void&#41;
&#123;
	char 	car;
	int	i;
	if &#40;&#40;arq=fopen&#40;&quot;rank.txt&quot;,&quot;r&quot;&#41;&#41;==NULL&#41;
	&#123;
		arq=fopen&#40;&quot;Rank.txt&quot;,&quot;w&quot;&#41;;
		for &#40;i=0; i&lt;100; i++&#41;
			fprintf&#40;arq,&quot;%s %d %d %d\n&quot;,vazio,0,0,0&#41;;
		fclose&#40;arq&#41;;
		arq=fopen&#40;&quot;rank.txt&quot;,&quot;r&quot;&#41;;
	&#125;
	printf&#40;&quot;\n&quot;&#41;;
	printf&#40;&quot; Rank -%15s\t%10s\t%8s%10s\n\n&quot;,jog,part,vit,sal&#41;;
	for &#40;i=0; i&lt;10; i++&#41;
	&#123;
		fscanf&#40;arq,&quot;%s%d%d%d&quot;,ranknomes&#91;i&#93;,&amp;rankpartidas&#91;i&#93;,&amp;rankvitorias&#91;i&#93;,&amp;rankpts&#91;i&#93;&#41;;
		printf&#40;&quot;%3d   -%15s\t%8d\t%5d\t%9d\n&quot;,i+1,ranknomes&#91;i&#93;,rankpartidas&#91;i&#93;,rankvitorias&#91;i&#93;,rankpts&#91;i&#93;&#41;;
	&#125;
	printf&#40;&quot;\n&quot;&#41;;
	system&#40;&quot;Pause&quot;&#41;;
	fclose&#40;arq&#41;;
	if &#40;&#40;strcmp&#40;&amp;ranknomes&#91;0&#93;,&amp;vazio&#41;&#41;!=0&#41;
	&#123;
		car='a';
		while &#40;&#40;car!='s'&#41;&amp;&amp;&#40;car!='n'&#41;&#41;
		&#123;
			printf&#40;&quot;\nVoc\? deseja limpar a lista?&#40;s/n&#41;\n&quot;&#41;;
			scanf&#40;&quot;%s&quot;,&amp;car&#41;;
			if &#40;car=='s'&#41;
			&#123;
				arq=fopen&#40;&quot;Rank.txt&quot;,&quot;w&quot;&#41;;
				for &#40;i=0; i&lt;100; i++&#41;
					fprintf&#40;arq,&quot;%s %d %d %d\n&quot;,vazio,0,0,0&#41;;
				printf&#40;&quot;Lista limpa!\n\n&quot;&#41;;
				system&#40;&quot;Pause&quot;&#41;;
			&#125;
			fclose&#40;arq&#41;;
		&#125;
	&#125;
&#125;


void jogo&#40;void&#41;
&#123;
	char ch&#91;5&#93;, tipo&#91;40&#93;, car;
	int i, primeira, vale, naipe0, naipe1, valor;

			srand&#40;time&#40;NULL&#41;&#41;;
			for &#40;i=0; i&lt;40; i++&#41;
				matriz&#91;i&#93;=39-i;

	
	/*Pede o nome do jogador*/
	printf&#40;&quot;\n\nDigite seu nome&#58;&quot;&#41;;
	scanf&#40;&quot;%s&quot;,&amp;nome&#41;;
	pnts&#91;0&#93;=0;
	pnts&#91;1&#93;=0;
	primeiro=sorteia&#40;2&#41;;
	rodada=0;
	vitorias=0;
	npartidas=0;
	saldo=0;
	while &#40;&#40;pnts&#91;0&#93;&lt;ptsmax&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;ptsmax&#41;&#41;
	&#123;
		/*embaralha as cartas*/
		embaralha&#40;&#41;;
		/*Distribui as cartas entre os jogadores*/
		distribui&#40;&#41;;
		/*Atribui uma pontuação as cartas para fins de comparação do valor das mesmas*/
		atribui&#40;&#41;;
		pntsrod&#91;0&#93;=0;
		pntsrod&#91;1&#93;=0;
		inicial=primeiro;
		turno=-1;
		estado=0;
		vale=0;
		last=2;
		local=1;
		sorteado=sorteia&#40;40&#41;;
		while &#40;&#40;pntsrod&#91;0&#93;&lt;2&#41;&amp;&amp;&#40;pntsrod&#91;1&#93;&lt;2&#41;&#41;
		&#123;
			printf&#40;&quot;\n***********************************\n&quot;&#41;;
			turno=turno+1;
			mesa&#91;1&#93;&#91;turno&#93;=-1;
			/*Os jogadores jogam as cartas*/
			pcordena&#40;&#41;;
			continua=TRUE;
			if &#40;&#40;pnts&#91;0&#93;==11&#41;&amp;&amp;&#40;pnts&#91;1&#93;==11&#41;&#41;
			&#123;
				printf&#40;&quot;\n\t*** Escurinha! ***\n&quot;&#41;;
			&#125;
			if &#40;inicial==0&#41;
			&#123;
				if &#40;&#40;&#40;pnts&#91;0&#93;==11&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;11&#41;&#41;&amp;&amp;&#40;turno==0&#41;&#41;
				&#123;
					printf&#40;&quot;Pc est\  com m\Æo de 11.\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					if &#40;qly&lt;45&#41;
					&#123;
						printf&#40;&quot;\nPc correu.\n&gt;&gt;&quot;&#41;;
						pntsrod&#91;1&#93;=3;
						continua=FALSE;
					&#125;
					else
					&#123;
						printf&#40;&quot;\nPc aceitou.\n&gt;&gt;&quot;&#41;;
						estado=1;
						last=-1;
					&#125;
				esp=getch&#40;&#41;;
				&#125;
				if &#40;&#40;&#40;pnts&#91;1&#93;==11&#41;&amp;&amp;&#40;pnts&#91;0&#93;&lt;11&#41;&#41;&amp;&amp;&#40;turno==0&#41;&#41;
				&#123;
					printf&#40;&quot;Voc\? est\  com m\Æo de 11.\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					printf&#40;&quot;\nVirada&#58; %c %c\n&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
					printf&#40;&quot;\nSua m\Æo \?&#58;\n&quot;&#41;;
					for &#40;i=0; i&lt;3; i++&#41;
					&#123;
						tipo&#91;0&#93;='\0';
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
							strcpy&#40;&amp;tipo,&amp;g&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
							strcpy&#40;&amp;tipo,&amp;c&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
							strcpy&#40;&amp;tipo,&amp;e&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
							strcpy&#40;&amp;tipo,&amp;m&#41;;
						printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
					&#125;
					car='a';
					while &#40;&#40;car!='s'&#41;&amp;&amp;&#40;car!='n'&#41;&#41;
					&#123;
						printf&#40;&quot;Voc\? aceita?&#40;s/n&#41;&quot;&#41;;
						scanf&#40;&quot;%s&quot;,&amp;car&#41;;
					&#125;
					if &#40;car=='n'&#41;
					&#123;
						pntsrod&#91;0&#93;=3;
						continua=FALSE;
					&#125;
					else
					&#123;
						estado=1;
						last=-1;
					&#125;
				&#125;
				if &#40;continua==TRUE&#41;
					pctruca&#40;&#41;;
				if &#40;continua==TRUE&#41;
					pcplay&#40;&#41;;
				local=2;
				if &#40;continua==TRUE&#41;
					jgtruca&#40;&#41;;
				if &#40;continua==TRUE&#41;
					jgplay&#40;&#41;;
			&#125;
			else
			&#123;
				if &#40;&#40;&#40;pnts&#91;0&#93;==11&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;11&#41;&#41;&amp;&amp;&#40;turno==0&#41;&#41;
				&#123;
					printf&#40;&quot;Pc est\  com m\Æo de 11.\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					if &#40;qly&lt;60&#41;
					&#123;
						printf&#40;&quot;\nPc correu.\n&gt;&gt;&quot;&#41;;
						pntsrod&#91;1&#93;=3;
						continua=FALSE;
					&#125;
					else
					&#123;
						printf&#40;&quot;\nPc aceitou.\n&gt;&gt;&quot;&#41;;
						estado=1;
						last=-1;
					&#125;
				esp=getch&#40;&#41;;
				&#125;
				if &#40;&#40;&#40;pnts&#91;1&#93;==11&#41;&amp;&amp;&#40;pnts&#91;0&#93;&lt;11&#41;&#41;&amp;&amp;&#40;turno==0&#41;&#41;
				&#123;
					printf&#40;&quot;Voc\? est\  com m\Æo de 11.\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					printf&#40;&quot;\nVirada&#58; %c %c\n&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
					printf&#40;&quot;\nSua m\Æo \?&#58;\n&quot;&#41;;
					for &#40;i=0; i&lt;3; i++&#41;
					&#123;
						tipo&#91;0&#93;='\0';
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
							strcpy&#40;&amp;tipo,&amp;g&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
							strcpy&#40;&amp;tipo,&amp;c&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
							strcpy&#40;&amp;tipo,&amp;e&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
							strcpy&#40;&amp;tipo,&amp;m&#41;;
						printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
					&#125;
					car='a';
					while &#40;&#40;car!='s'&#41;&amp;&amp;&#40;car!='n'&#41;&#41;
					&#123;
						printf&#40;&quot;Voc\? aceita?&#40;s/n&#41;&quot;&#41;;
						scanf&#40;&quot;%s&quot;,&amp;car&#41;;
					&#125;
					if &#40;car=='n'&#41;
					&#123;
						pntsrod&#91;0&#93;=3;
						continua=FALSE;
					&#125;
					else
					&#123;
						estado=1;
						last=-1;
					&#125;
				&#125;
				local=1;
				if &#40;continua==TRUE&#41;
					jgtruca&#40;&#41;;
				if &#40;continua==TRUE&#41;
					jgplay&#40;&#41;;
				if &#40;continua==TRUE&#41;
					pctruca&#40;&#41;;
				if &#40;continua==TRUE&#41;
					pcplay&#40;&#41;;
			&#125;
        	    	if &#40;&#40;pntsrod&#91;0&#93;&lt;2&#41;&amp;&amp;&#40;pntsrod&#91;1&#93;&lt;2&#41;&#41;
	           	&#123;           
				/*Avalia o resultado do turno*/
				if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;
				&#123;
					inicial=0;
					if &#40;&#40;vale==1&#41;||&#40;vale==2&#41;&#41;
						pntsrod&#91;0&#93;=3;
					else
						pntsrod&#91;0&#93;++;
					if &#40;turno==0&#41;
						primeira=0;
					printf&#40;&quot;\nPc levou este turno.\n&gt;&gt;&quot;&#41;;
				&#125;
				if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;&lt;cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;
				&#123;
					inicial=1;
					if &#40;&#40;vale==1&#41;||&#40;vale==2&#41;&#41;
						pntsrod&#91;1&#93;=3;
					else
						pntsrod&#91;1&#93;++;
					if &#40;turno==0&#41;
						primeira=1;
					printf&#40;&quot;\nVoc\? levou este turno.\n&gt;&gt;&quot;&#41;;
				&#125;
				if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;
				&#123;
					if &#40;turno==0&#41;
					&#123;
						vale=1;
						printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
					&#125;
					if &#40;turno==1&#41;
						if &#40;vale==0&#41;
						&#123;
							pntsrod&#91;primeira&#93;=3;
							printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
						&#125;
						else
						&#123;
							vale=2;
							printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
						&#125;
					if &#40;turno==2&#41;
					&#123;
						if &#40;vale==2&#41;
						&#123;
							naipe0=&#40;int&#41;&#40;mesa&#91;1&#93;&#91;3&#93;/10&#41;;
							naipe1=&#40;int&#41;&#40;mesa&#91;1&#93;&#91;3&#93;/10&#41;;
							if &#40;naipe0&gt;naipe1&#41;
							&#123;
								pntsrod&#91;0&#93;=3;
								printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
							&#125;
							else
							&#123;
								pntsrod&#91;1&#93;=3;
								printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
							&#125;
						&#125;
						else
						&#123;
							pntsrod&#91;primeira&#93;=3;
							printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
						&#125;
					&#125;	
				&#125;
				esp=getch&#40;&#41;;
			&#125;
		&#125;
		printf&#40;&quot;\n***********************************\n&quot;&#41;;
		valor=estado*3;
		if &#40;estado==0&#41;
			valor=1;
		if &#40;pntsrod&#91;0&#93;&gt;=2&#41;
		&#123;
			if &#40;pnts&#91;0&#93;==11&#41;
				valor=1;
			pnts&#91;0&#93;=pnts&#91;0&#93;+valor;
			if &#40;valor==1&#41;
				printf&#40;&quot;\nPc ganhou 1 ponto\n&quot;&#41;;
			else
               			printf&#40;&quot;\nPc ganhou %d pontos\n&quot;,valor&#41;;
            		printf&#40;&quot;\n***********************************\n&quot;&#41;;
           	&#125;
		if &#40;pntsrod&#91;1&#93;&gt;=2&#41;
		&#123;
			if &#40;pnts&#91;1&#93;==11&#41;
				valor=1;
			if &#40;valor==1&#41;
				printf&#40;&quot;\nVoc\? ganhou 1 ponto\n&quot;&#41;;
			else
               			printf&#40;&quot;\nVoc\? ganhou %d pontos\n&quot;,valor&#41;;
			pnts&#91;1&#93;=pnts&#91;1&#93;+valor;
            		printf&#40;&quot;\n***********************************\n&quot;&#41;;
		&#125;
		esp=getch&#40;&#41;;
		if &#40;pnts&#91;0&#93;&gt;12&#41;
			pnts&#91;0&#93;=12;
		if &#40;pnts&#91;1&#93;&gt;12&#41;
			pnts&#91;1&#93;=12;
		printf&#40;&quot;\n\tPLACAR PARCIAL\n&quot;&#41;;
		printf&#40;&quot;\t---------------------\n\t Pc =   %d\n&quot;,pnts&#91;0&#93;&#41;;
		printf&#40;&quot;\t---------------------\n\t %s =   %d\n&quot;,nome,pnts&#91;1&#93;&#41;;
		printf&#40;&quot;\t---------------------\n&quot;&#41;;
		printf&#40;&quot;&gt;&gt;&quot;&#41;;
		esp=getch&#40;&#41;;
		if &#40;&#40;pnts&#91;0&#93;&gt;=ptsmax&#41;||&#40;pnts&#91;1&#93;&gt;=ptsmax&#41;&#41;
		&#123;
			if &#40;pnts&#91;0&#93;&gt;=ptsmax&#41;
			&#123;
				npartidas++;
				saldo=pnts&#91;1&#93;-ptsmax;
		    		printf&#40;&quot;\n\n\tVOC\Ò PERDEU!!!\n\n&quot;&#41;;
	      		&#125;
			if &#40;pnts&#91;1&#93;&gt;=ptsmax&#41;
			&#123;
				vitorias++;
				npartidas++;
				saldo=ptsmax-pnts&#91;0&#93;;
				printf&#40;&quot;\n\n\tVOC\Ò GANHOU!!!\n\n&quot;&#41;;
			&#125;
			system&#40;&quot;Pause&quot;&#41;;
		&#125;
		if &#40;primeiro==0&#41;
			primeiro++;
		else
		    	primeiro--;
        	rodada++;
	&#125;
	save&#40;&#41;;
&#125;

void embaralha&#40;void&#41;
&#123;
	int num, i, j, k;
	char ch&#91;2&#93;;
	for &#40;i=0; i&lt;40; i++&#41;
	&#123;
		num=sorteia&#40;40-i&#41;;
		baralho&#91;i&#93;=matriz&#91;num&#93;;
		for &#40;j=num; j&lt;&#40;39&#41;; j++&#41;
			matriz&#91;j&#93;=matriz&#91;j+1&#93;;
	&#125;
	for &#40;i=0; i&lt;40; i++&#41;
		matriz&#91;i&#93;=baralho&#91;i&#93;;
&#125;

int sorteia&#40;int max&#41;
&#123;
	return &#40;&#40;int&#41;max*rand&#40;&#41;/&#40;RAND_MAX+1&#41;&#41;;
&#125;

void distribui&#40;void&#41;
&#123;
	int	a, b, i;
	for &#40;a=0; a&lt;3; a++&#41;
	&#123;
		for &#40;b=0; b&lt;2; b++&#41;
		&#123;
			mao&#91;b&#93;&#91;a&#93;=baralho&#91;a*2+b&#93;;
		&#125;
	&#125;
	virada=baralho&#91;6&#93;;
	printf&#40;&quot;\n***********************************\n&quot;&#41;;
	printf&#40;&quot;Rodada %2d&quot;,rodada+1&#41;;
	printf&#40;&quot;\n&gt;&gt;&quot;&#41;;
	esp=getch&#40;&#41;;
	if &#40;primeiro==0&#41;
	    printf&#40;&quot;\nPc come\?a!\n&gt;&gt;&quot;&#41;;
   	else
        	printf&#40;&quot;\nVoc\? come\?a!\n&gt;&gt;&quot;&#41;;
    	printf&#40;&quot;&quot;&#41;;
    	esp=getch&#40;&#41;;
&#125;

void pcplay&#40;void&#41;
&#123;
	int num, i, j, wx, ql, jogou, valormao;
	char tipo&#91;40&#93;;
	
	


	/*Pc escolhe carta para jogar*/
	if &#40;inicial==0&#41;
	&#123;
		if &#40;&#40;pntsrod&#91;0&#93;==0&#41;&amp;&amp;&#40;turno&gt;0&#41;&#41;
		&#123;
			if &#40;cartas&#91;mao&#91;0&#93;&#91;1&#93;&#93;&gt;6&#41;
				num=sorteia&#40;3-turno&#41;;
			else
				num=0;
		&#125;
		else
			num=sorteia&#40;3-turno&#41;;
	&#125;
	if &#40;&#40;pnts&#91;0&#93;==11&#41;||&#40;pnts&#91;1&#93;==11&#41;&#41;
		num=sorteia&#40;3-turno&#41;;
	if &#40;inicial==1&#41;
	&#123;
		jogou=FALSE;
		for &#40;i=&#40;2-turno&#41;; i&gt;=0; i--&#41;
		&#123;
			if &#40;&#40;cartas&#91;mao&#91;0&#93;&#91;i&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;&amp;&amp;&#40;jogou==FALSE&#41;&#41;
			&#123;
				num=i;
				jogou=TRUE;
			&#125;
		&#125;
		if &#40;jogou==FALSE&#41;
			for &#40;i=&#40;2-turno&#41;; i&gt;=0; i--&#41;
			&#123;
				if &#40;&#40;cartas&#91;mao&#91;0&#93;&#91;i&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;&amp;&amp;&#40;jogou==FALSE&#41;&#41;
				&#123;
					num=i;
					jogou=TRUE;
				&#125;
			&#125;
		if &#40;jogou==FALSE&#41;
			num=2-turno;
		if &#40;&#40;pntsrod&#91;0&#93;==pntsrod&#91;1&#93;&#41;&amp;&amp;&#40;turno!=0&#41;&#41;
			num=0;
	&#125;

	tipo&#91;0&#93;='\0';
	mesa&#91;0&#93;&#91;turno&#93;=mao&#91;0&#93;&#91;num&#93;;
	for &#40;i=num; i&lt;&#40;2-turno&#41;; i++&#41;
		mao&#91;0&#93;&#91;i&#93;=mao&#91;0&#93;&#91;i+1&#93;;
	if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==13&#41;
		strcpy&#40;&amp;tipo,&amp;g&#41;;
	if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==12&#41;
		strcpy&#40;&amp;tipo,&amp;c&#41;;
	if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==11&#41;
		strcpy&#40;&amp;tipo,&amp;e&#41;;
	if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==10&#41;
		strcpy&#40;&amp;tipo,&amp;m&#41;;
	printf&#40;&quot;\nPc jogou&#58;  %c %c  %s\n&quot;,carta&#40;mesa&#91;0&#93;&#91;turno&#93;&#41;,toon&#40;mesa&#91;0&#93;&#91;turno&#93;&#41;,tipo&#41;;
	printf&#40;&quot;&gt;&gt;&quot;&#41;;
	esp=getch&#40;&#41;;
&#125;

void jgplay&#40;void&#41;
&#123;
	int num, i, vle;
	char tipo&#91;40&#93;;
	num=10;
	while &#40;&#40;num&lt;0&#41;||&#40;num&gt;&#40;2-turno&#41;&#41;&#41;
	&#123;
	   	printf&#40;&quot;\nVirada&#58;  %c %c\n&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
		if &#40;&#40;pnts&#91;0&#93;==11&#41;&amp;&amp;&#40;pnts&#91;1&#93;==11&#41;&#41;
		&#123;
			printf&#40;&quot;\nQue carta voc\? quer jogar?&#40;1&quot;&#41;;
			for &#40;i=1; i&lt;&#40;3-turno&#41;; i++&#41;
				printf&#40;&quot;/%d&quot;,i+1&#41;;
			printf&#40;&quot;&#41;\n&quot;&#41;;
			scanf&#40;&quot;%d&quot;,&amp;num&#41;;
			num--;			
		&#125;
		else
		&#123;
			printf&#40;&quot;\nQue carta voc\? quer jogar?\n&quot;&#41;;
			for &#40;i=0; i&lt;&#40;3-turno&#41;; i++&#41;
			&#123;
				tipo&#91;0&#93;='\0';
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
					strcpy&#40;&amp;tipo,&amp;g&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
					strcpy&#40;&amp;tipo,&amp;c&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
					strcpy&#40;&amp;tipo,&amp;e&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
					strcpy&#40;&amp;tipo,&amp;m&#41;;
	        		printf&#40;&quot;%d - %c %c %s\n&quot;,i+1,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
			&#125;
			scanf&#40;&quot;%d&quot;,&amp;num&#41;;
			num--;
		&#125;
		if &#40;&#40;num&lt;0&#41;||&#40;num&gt;&#40;2-turno&#41;&#41;&#41;
		&#123;
			printf&#40;&quot;\a\n\tVALOR INCORRETO!!\n&quot;&#41;;
			printf&#40;&quot;\nDigite sua op\?\Æo entre 0 e %d\n&quot;,&#40;2-turno&#41;&#41;;
			system&#40;&quot;Pause&quot;&#41;;
		&#125;
		else
        	&#123;
			tipo&#91;0&#93;='\0';
			if &#40;cartas&#91;mao&#91;1&#93;&#91;num&#93;&#93;==13&#41;
				strcpy&#40;&amp;tipo,&amp;g&#41;;
			if &#40;cartas&#91;mao&#91;1&#93;&#91;num&#93;&#93;==12&#41;
				strcpy&#40;&amp;tipo,&amp;c&#41;;
			if &#40;cartas&#91;mao&#91;1&#93;&#91;num&#93;&#93;==11&#41;
				strcpy&#40;&amp;tipo,&amp;e&#41;;
			if &#40;cartas&#91;mao&#91;1&#93;&#91;num&#93;&#93;==10&#41;
				strcpy&#40;&amp;tipo,&amp;m&#41;;
                       	printf&#40;&quot;Voc\? jogou&#58; %c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;num&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;num&#93;&#41;,tipo&#41;;
	                printf&#40;&quot;&gt;&gt;&quot;&#41;;
   	    	&#125;
	        esp=getch&#40;&#41;;
	&#125;
	mesa&#91;1&#93;&#91;turno&#93;=mao&#91;1&#93;&#91;num&#93;;
	for &#40;i=num; i&lt;&#40;2-turno&#41;; i++&#41;
		mao&#91;1&#93;&#91;i&#93;=mao&#91;1&#93;&#91;i+1&#93;;	
&#125;

void atribui&#40;void&#41;
&#123;
	int vle, a, i, j, card;
	if &#40;&#40;virada%10&#41;&lt;9&#41;
	&#123;
		card=&#40;virada%10&#41;+1;
	&#125;
	else	
		card=0;
	vle=0;
	for &#40;i=0; i&lt;4; i++&#41;
	&#123;
		vle=0;
		for &#40;j=0; j&lt;10; j++&#41;
		&#123;
			if &#40;card==j&#41;
				cartas&#91;10*i+j&#93;=10+i;
			else
			&#123;
				cartas&#91;10*i+j&#93;=vle;
				vle=vle+1;
			&#125;
		&#125;
	&#125;
&#125;

char toon&#40;int card&#41;
&#123;
	int vle, x;
	vle=&#40;int&#41;&#40;card/10&#41;;
	if &#40;vle==0&#41;
		x=4;
	if &#40;vle==1&#41;
		x=6;
	if &#40;vle==2&#41;
		x=3;
	if &#40;vle==3&#41;
		x=5;
	return &#40;&quot;%c&quot;,x&#41;;
&#125;

char carta&#40;int card&#41;
&#123;
	int vle;
	char x;
	vle=card%10;
	if &#40;vle&gt;7&#41;
		x=&#40;&quot;\c&quot;,42+vle&#41;;
	if &#40;vle==7&#41;
		x='A';
	if &#40;vle==6&#41;
		x='K';
	if &#40;vle==5&#41;
		x='J';
	if &#40;vle==4&#41;
		x='Q';
	if &#40;vle&lt;4&#41;
		x=&#40;&quot;%c&quot;,52+vle&#41;;
	return x;
&#125;

void save&#40;void&#41;
&#123;
	int	i, pos, njogadores, pontos, j;
	char	nm&#91;40&#93;;

	/*Abre o arquivo para leitura, se existir*/
	if &#40;&#40;arq=fopen&#40;&quot;Rank.TXT&quot;,&quot;r&quot;&#41;&#41;!=NULL&#41;
	&#123;
		/*Obtem os nomes e a pontuação*/		
		for &#40;i=0; i&lt;100; i++&#41;
		&#123;
			fscanf&#40;arq,&quot;%s%d%d%d&quot;,&amp;ranknomes&#91;i&#93;,&amp;rankpartidas&#91;i&#93;,&amp;rankvitorias&#91;i&#93;,&amp;rankpts&#91;i&#93;&#41;;
		&#125;
	&#125;


	/*senão, o cria*/
	else
	&#123;
		arq=fopen&#40;&quot;Rank.txt&quot;,&quot;w&quot;&#41;;
		for &#40;i=0; i&lt;100; i++&#41;
		&#123;
			fprintf&#40;arq,&quot;%s %d %d %d\n&quot;,vazio,0,0,0&#41;;
			strcpy&#40;&amp;ranknomes&#91;i&#93;,&amp;vazio&#41;;
			rankpartidas&#91;i&#93;=0;
			rankvitorias&#91;i&#93;=0;
			rankpts&#91;i&#93;=0;
		&#125;
	&#125;


	/*fecha o arquivo*/
	fclose&#40;arq&#41;;


	/*procura o nome e conta o número de jogadores na lista*/
	njogadores=0;
	pos=-1;
	i=0;
	while &#40;&#40;pos==-1&#41;||&#40;i==njogadores&#41;&#41;
	&#123;
		if &#40;strcmp&#40;&amp;ranknomes&#91;i&#93;,&amp;nome&#41;==0&#41;
			pos=i;
		if &#40;&#40;pos==-1&#41;&amp;&amp;&#40;i==99&#41;&#41;
			pos=100;
		if &#40;strcmp&#40;&amp;ranknomes&#91;i&#93;,&amp;vazio&#41;!=0&#41;
			njogadores++;
		i++;
	&#125;


	/*se encontrar, acrescenta ou diminui seus pontos*/
	if &#40;pos&lt;100&#41;
	&#123;
		rankpartidas&#91;pos&#93;=rankpartidas&#91;pos&#93;+npartidas;
		rankpts&#91;pos&#93;=rankpts&#91;pos&#93;+saldo;
		rankvitorias&#91;pos&#93;=rankvitorias&#91;pos&#93;+vitorias;
	&#125;


	/*senão, adiciona-lhe ao final da lista*/
	else
	&#123;
		njogadores++;
		rankpartidas&#91;njogadores-1&#93;=npartidas;
		rankvitorias&#91;njogadores-1&#93;=vitorias;
		rankpts&#91;njogadores-1&#93;=saldo;
		strcpy&#40;&amp;ranknomes&#91;njogadores-1&#93;,&amp;nome&#41;;
	&#125;


	/*ordena a lista em forma decrescente*/
	for &#40;i=0; i&lt;&#40;njogadores-1&#41;; i++&#41;
	&#123;
		for &#40;j=0; j&lt;&#40;njogadores-1&#41;; j++&#41;
		&#123;
			if &#40;rankvitorias&#91;j&#93;&lt;rankvitorias&#91;j+1&#93;&#41;
			&#123;
				pontos=rankpts&#91;j&#93;;
				rankpts&#91;j&#93;=rankpts&#91;j+1&#93;;
				rankpts&#91;j+1&#93;=pontos;

				pontos=rankvitorias&#91;j&#93;;
				rankvitorias&#91;j&#93;=rankvitorias&#91;j+1&#93;;
				rankvitorias&#91;j+1&#93;=pontos;

				pontos=rankpartidas&#91;j&#93;;
				rankpartidas&#91;j&#93;=rankpartidas&#91;j+1&#93;;
				rankpartidas&#91;j+1&#93;=pontos;

				strcpy&#40;&amp;nm,&amp;ranknomes&#91;j&#93;&#41;;
				strcpy&#40;&amp;ranknomes&#91;j&#93;,&amp;ranknomes&#91;j+1&#93;&#41;;
				strcpy&#40;&amp;ranknomes&#91;j+1&#93;,&amp;nm&#41;;
			&#125;
			else
			&#123;
				if &#40;rankvitorias&#91;j&#93;==rankvitorias&#91;j+1&#93;&#41;
				&#123;
					if &#40;rankpts&#91;j&#93;&lt;rankpts&#91;j+1&#93;&#41;
					&#123;
						pontos=rankpts&#91;j&#93;;
						rankpts&#91;j&#93;=rankpts&#91;j+1&#93;;
						rankpts&#91;j+1&#93;=pontos;

						pontos=rankvitorias&#91;j&#93;;
						rankvitorias&#91;j&#93;=rankvitorias&#91;j+1&#93;;
						rankvitorias&#91;j+1&#93;=pontos;
	
						pontos=rankpartidas&#91;j&#93;;
						rankpartidas&#91;j&#93;=rankpartidas&#91;j+1&#93;;
						rankpartidas&#91;j+1&#93;=pontos;
	
						strcpy&#40;&amp;nm,&amp;ranknomes&#91;j&#93;&#41;;
						strcpy&#40;&amp;ranknomes&#91;j&#93;,&amp;ranknomes&#91;j+1&#93;&#41;;
						strcpy&#40;&amp;ranknomes&#91;j+1&#93;,&amp;nm&#41;;
					&#125;
					else
					&#123;
						if &#40;rankpts&#91;j&#93;==rankpts&#91;j+1&#93;&#41;
						&#123;
							if &#40;rankpartidas&#91;j&#93;&lt;rankpartidas&#91;j+1&#93;&#41;
							&#123;
								pontos=rankpts&#91;j&#93;;
								rankpts&#91;j&#93;=rankpts&#91;j+1&#93;;
								rankpts&#91;j+1&#93;=pontos;

								pontos=rankvitorias&#91;j&#93;;
								rankvitorias&#91;j&#93;=rankvitorias&#91;j+1&#93;;
								rankvitorias&#91;j+1&#93;=pontos;
			
								pontos=rankpartidas&#91;j&#93;;
								rankpartidas&#91;j&#93;=rankpartidas&#91;j+1&#93;;
								rankpartidas&#91;j+1&#93;=pontos;
	
								strcpy&#40;&amp;nm,&amp;ranknomes&#91;j&#93;&#41;;
								strcpy&#40;&amp;ranknomes&#91;j&#93;,&amp;ranknomes&#91;j+1&#93;&#41;;
								strcpy&#40;&amp;ranknomes&#91;j+1&#93;,&amp;nm&#41;;
							&#125;
						&#125;
					&#125;
				&#125;
			&#125;
		&#125;
	&#125;


	/*recria o arquivo para escrita*/
	if &#40;&#40;arq=fopen&#40;&quot;Rank.txt&quot;,&quot;w&quot;&#41;&#41;==NULL&#41;
	&#123;
		printf&#40;&quot;\n\aErro de leitura.\nO arquivo 'Rank.Txt' pode estar corrompido ou danificado.\n&quot;&#41;;
	&#125;
	else
	&#123;
		/*escreve os dados da lista*/
		for &#40;i=0; i&lt;100; i++&#41;
		&#123;
			fprintf&#40;arq,&quot;%s %d %d %d\n&quot;,ranknomes&#91;i&#93;,rankpartidas&#91;i&#93;,rankvitorias&#91;i&#93;,rankpts&#91;i&#93;&#41;;
		&#125;
	&#125;


	/*fecha o arquivo*/
	fclose&#40;arq&#41;;
&#125;

void pcpensa&#40;void&#41;
&#123;
	int i, valormao;
	valormao=0;
	for &#40;i=0; i&lt;&#40;3-turno&#41;; i++&#41;
		valormao=valormao+cartas&#91;mao&#91;0&#93;&#91;i&#93;&#93;;
	qly=3*valormao;
	if &#40;turno==0&#41;
	&#123;
		if &#40;inicial==1&#41;
		&#123;
			for &#40;i=0; i&lt;3; i++&#41;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;i&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;0&#93;&#93;&#41;
					qly=qly+5;
			if &#40;qly==&#40;3*valormao&#41;&#41;
			&#123;
				qly=25+sorteia&#40;50&#41;;	/*Facão*/
			&#125;
		&#125;
	&#125;
	if &#40;turno==1&#41;
	&#123;
		if &#40;pntsrod&#91;0&#93;==1&#41;
		&#123;
			qly=5*valormao;
			if &#40;cartas&#91;mesa&#91;0&#93;&#91;1&#93;&#93;==-1&#41;
			&#123;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;&gt;=10&#41;
					qly=60;
				if &#40;cartas&#91;mao&#91;9&#93;&#91;1&#93;&#93;&gt;=8&#41;
					qly=qly+20;
			&#125;
			else
			&#123;
				if &#40;cartas&#91;mesa&#91;0&#93;&#91;1&#93;&#93;&gt;=11&#41;
					qly=65;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;1&#93;&#93;&gt;=9&#41;
					qly=90;
			&#125;
			if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;==13&#41;
				qly=100;
		&#125;
		if &#40;pntsrod&#91;1&#93;==1&#41;
		&#123;
			if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;&lt;cartas&#91;mesa&#91;1&#93;&#91;1&#93;&#93;&#41;
			&#123;
					qly=30+sorteia&#40;50&#41;;	/*Facão*/
			&#125;
			else
			&#123;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;1&#93;&#93;&lt;cartas&#91;mesa&#91;1&#93;&#91;1&#93;&#93;&#41;
				&#123;
						qly=20+sorteia&#40;50&#41;;	/*Facão*/
				&#125;
				else
				&#123;
					qly=4*valormao+sorteado;
				&#125;
			&#125;
		&#125;
		else
		&#123;
			qly=6*cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;+2*cartas&#91;mao&#91;0&#93;&#91;1&#93;&#93;+sorteado;
		&#125;
	&#125;
	if &#40;turno==2&#41;
	&#123;
		if &#40;inicial==1&#41;
		&#123;
			if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;2&#93;&#93;&#41;
			&#123;
				qly=100;
			&#125;
			else
			&#123;
				if &#40;&#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;==cartas&#91;mesa&#91;1&#93;&#91;2&#93;&#93;&#41;&amp;&amp;&#40;cartas&#91;mesa&#91;0&#93;&#91;0&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;0&#93;&#93;&#41;&#41;
				&#123;
					qly=100;
				&#125;
				else
				&#123;
						qly=30+sorteia&#40;60&#41;;	/*Facão*/
				&#125;
			&#125;			
		&#125;
		if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;==13&#41;
			qly=100;
	&#125;
&#125;

void pctruca&#40;void&#41;
&#123;
	int	num, i;
	char	tipo&#91;40&#93;;
	pcpensa&#40;&#41;;
	if &#40;&#40;&#40;pnts&#91;0&#93;&lt;11&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;11&#41;&#41;&amp;&amp;&#40;&#40;&#40;last==1&#41;||&#40;last==2&#41;&#41;&amp;&amp;&#40;estado&lt;4&#41;&#41;&#41;
	&#123;
		if &#40;qly&gt;&#40;50+sorteia&#40;20&#41;+estado*8&#41;&#41;
		&#123;
			printf&#40;&quot;\nPc pediu %s.\n&gt;&gt;&quot;,status&#91;estado+1&#93;&#41;;
			esp=getch&#40;&#41;;
			printf&#40;&quot;\nVirada&#58; %c %c\n&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
			printf&#40;&quot;\nSua m\Æo \?&#58;\n&quot;&#41;;
			if &#40;mesa&#91;1&#93;&#91;turno&#93;==-1&#41;
			&#123;
				for &#40;i=0; i&lt;&#40;3-turno&#41;; i++&#41;
				&#123;
					tipo&#91;0&#93;='\0';
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
						strcpy&#40;&amp;tipo,&amp;g&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
						strcpy&#40;&amp;tipo,&amp;c&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
						strcpy&#40;&amp;tipo,&amp;e&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
						strcpy&#40;&amp;tipo,&amp;m&#41;;
					printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
				&#125;
			&#125;
			else
			&#123;
				for &#40;i=0; i&lt;&#40;2-turno&#41;; i++&#41;
				&#123;
					tipo&#91;0&#93;='\0';
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
						strcpy&#40;&amp;tipo,&amp;g&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
						strcpy&#40;&amp;tipo,&amp;c&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
						strcpy&#40;&amp;tipo,&amp;e&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
						strcpy&#40;&amp;tipo,&amp;m&#41;;
					printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
				&#125;
			&#125;		
			printf&#40;&quot;Digite&#58;\n1 - Aceitar;\n2 - Correr\n&quot;&#41;;
			if &#40;estado&lt;3&#41;
				printf&#40;&quot;3 - Pedir '%s'\n&quot;,status&#91;estado+2&#93;&#41;;
			scanf&#40;&quot;%d&quot;,&amp;num&#41;;
			if &#40;num==1&#41;
			&#123;
				estado++;
				last=0;
			&#125;
			if &#40;num==2&#41;
			&#123;
				continua=FALSE;
				pntsrod&#91;0&#93;=3;
			&#125;
			if &#40;num==3&#41;
			&#123;
				last=0;
				estado++;
				local=0;
				jgtruca&#40;&#41;;
			&#125;
			
		&#125;
	&#125;
&#125;

void pcordena&#40;void&#41;
&#123;
	int	i, j, wx;
	/*Ordena as cartas do pc no primeiro turno*/
	if &#40;turno==0&#41;
	&#123;
		for &#40;i=0; i&lt;2; i++&#41;
			for &#40;j=0; j&lt;2; j++&#41;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;j&#93;&#93;&lt;cartas&#91;mao&#91;0&#93;&#91;j+1&#93;&#93;&#41;
				&#123;
					wx=mao&#91;0&#93;&#91;j&#93;;
					mao&#91;0&#93;&#91;j&#93;=mao&#91;0&#93;&#91;j+1&#93;;
					mao&#91;0&#93;&#91;j+1&#93;=wx;
				&#125;
	&#125;
&#125;

void jgtruca&#40;void&#41;
&#123;
	char	car;
	char	tipo&#91;40&#93;;
	int	cont, i, num;
	if &#40;&#40;&#40;pnts&#91;0&#93;&lt;11&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;11&#41;&#41;&amp;&amp;&#40;&#40;&#40;last==0&#41;||&#40;last==2&#41;&#41;&amp;&amp;&#40;estado&lt;4&#41;&#41;&#41;
	&#123;
		cont=TRUE;
		if &#40;local!=0&#41;
		&#123;
			printf&#40;&quot;\nVirada&#58; %c %c&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
			printf&#40;&quot;\nSua m\Æo \?&#58;\n&quot;&#41;;
			for &#40;i=0; i&lt;&#40;3-turno&#41;; i++&#41;
			&#123;
				tipo&#91;0&#93;='\0';
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
					strcpy&#40;&amp;tipo,&amp;g&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
					strcpy&#40;&amp;tipo,&amp;c&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
					strcpy&#40;&amp;tipo,&amp;e&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
					strcpy&#40;&amp;tipo,&amp;m&#41;;
				printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
			&#125;
			num=0;
			while &#40;&#40;num!=1&#41;&amp;&amp;&#40;num!=2&#41;&#41;
			&#123;
				printf&#40;&quot;\nVoc\? quer pedir %s?\n&quot;,status&#91;estado+1&#93;&#41;;
				printf&#40;&quot;1 - Sim\n&quot;&#41;;
				printf&#40;&quot;2 - N\Æo\n&quot;&#41;;
				scanf&#40;&quot;%d&quot;,&amp;num&#41;;
			&#125;

			if &#40;num==2&#41;
				cont=FALSE;
		&#125;
		if &#40;cont==TRUE&#41;
		&#123;
			pcpensa&#40;&#41;;
			if &#40;&#40;qly&gt;&#40;sorteia&#40;10&#41;+&#40;estado+1&#41;*8+40&#41;&#41;&amp;&amp;&#40;&#40;qly&lt;&#40;sorteia&#40;10&#41;+&#40;estado+2&#41;*8+40&#41;&#41;&#41;||&#40;estado&gt;2&#41;&#41;
			&#123;
				estado++;
				last=1;
				printf&#40;&quot;\nPc aceitou!\n&gt;&gt;&quot;&#41;;
				esp=getch&#40;&#41;;
			&#125;
			else
			&#123;
				if &#40;&#40;qly&gt;&#40;sorteia&#40;10&#41;+&#40;estado+2&#41;*8+40&#41;&#41;&amp;&amp;&#40;estado&lt;3&#41;&#41;
				&#123;
					estado++;
					last=1;
					printf&#40;&quot;\nPc aceitou!\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					pctruca&#40;&#41;;
				&#125;
				else
				&#123;
					continua=FALSE;
					pntsrod&#91;1&#93;=3;
					printf&#40;&quot;\nPc correu!\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
				&#125;
			&#125;
		&#125;
	&#125;
&#125;
'; if (cartas[mao[1][i]]==13) strcpy(&tipo,&g); if (cartas[mao[1][i]]==12) strcpy(&tipo,&c); if (cartas[mao[1][i]]==11) strcpy(&tipo,&e); if (cartas[mao[1][i]]==10) strcpy(&tipo,&m); printf("%c %c %s\n",carta(mao[1][i]),toon(mao[1][i]),tipo); } } printf("Digite:\n1 - Aceitar;\n2 - Correr\n"); if (estado<3) printf("3 - Pedir '%s'\n",status[estado+2]); scanf("%d",&num); if (num==1) { estado++; last=0; } if (num==2) { continua=FALSE; pntsrod[0]=3; } if (num==3) { last=0; estado++; local=0; jgtruca(); } } } }

void pcordena(void)
{
int i, j, wx;
/*Ordena as cartas do pc no primeiro turno*/
if (turno==0)
{
for (i=0; i<2; i++)
for (j=0; j<2; j++)
if (cartas[mao[0][j]] {
wx=mao[0][j];
mao[0][j]=mao[0][j+1];
mao[0][j+1]=wx;
}
}
}

void jgtruca(void) { char car; char tipo[40]; int cont, i, num; if (((pnts[0]<11)&&(pnts[1]<11))&&(((last==0)||(last==2))&&(estado<4))) { cont=TRUE; if (local!=0) { printf("\nVirada: %c %c",carta(virada),toon(virada)); printf("\nSua m\Æo \?:\n"); for (i=0; i<(3-turno); i++) { tipo[0]='
/*Jogo de truco em C*/
/*Versão 0.20*/


/*Bibliotecas utilizadas*/
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;string.h&gt;


/*Estados&#58;
	0=normal
	1=trucado
	2=vale seis
	3=vale nove
	4=vale doze
		*/


/*Constantes*/
#define opcoes 4
#define versao 0.20
#define TRUE 1
#define FALSE 0
#define ptsmax 12
#define g &quot;&#40;Gato&#41;&quot;
#define c &quot;&#40;Copas&#41;&quot;
#define e &quot;&#40;Espadilha&#41;&quot;
#define m &quot;&#40;Mole&#41;&quot;
#define truco &quot;truco&quot;
#define seis &quot;seis&quot;
#define nove &quot;nove&quot;
#define doze &quot;doze&quot;
#define vazio &quot;vazio&quot;
#define autor2 &quot;Celito Gregolon J\£nior&quot;     /*Ordem alfabética*/
#define autor1 &quot;Carlos Eduardo Weber&quot;
#define autor3 &quot;Ricardo Oenning&quot;
#define part &quot;Partidas&quot;
#define sal &quot;Pontos&quot;
#define jog &quot;Jogador&quot;
#define vit &quot;Vit\¢rias&quot;


/*Variáveis Globais*/
char	nome&#91;40&#93;=&quot;Design&quot;;
int 	pnts&#91;2&#93;;
int	pntsrod&#91;2&#93;;
int	baralho&#91;40&#93;;
int	matriz&#91;40&#93;;
int 	mao&#91;2&#93;&#91;3&#93;;
int	mesa&#91;2&#93;&#91;3&#93;;
int	cartas&#91;40&#93;;
char	ranknomes&#91;100&#93;&#91;40&#93;;
int	rankpts&#91;100&#93;;
int	rankpartidas&#91;100&#93;;
int	rankvitorias&#91;100&#93;;
FILE 	*fl;
FILE 	*arq;
int	primeiro, virada, turno, rodada, estado, last, saldo, inicial, continua, qly, sorteado, local, npartidas, vitorias;
char	status&#91;6&#93;&#91;10&#93;=&#123;vazio,truco,seis,nove,doze,vazio&#125;;
char	esp;


/*Funções e procedimentos definidos*/
void 	embaralha&#40;void&#41;;
int	sorteia&#40;int max&#41;;
void	distribui&#40;void&#41;;
void	pcplay&#40;void&#41;;
void	jgplay&#40;void&#41;;
void	atribui&#40;void&#41;;
char 	toon&#40;int card&#41;;
char	carta&#40;int card&#41;;
void    save&#40;void&#41;;
void	pcpensa&#40;void&#41;;
void	pctruca&#40;void&#41;;
void	pcordena&#40;void&#41;;
void	jgtruca&#40;void&#41;;
void	jogo&#40;void&#41;;
void	sobre&#40;void&#41;;
void	rank&#40;void&#41;;


/*Principal*/
void main&#40;&#41;
&#123;
	/*Variáveis locais*/
	int opcao, i;


	/*Início*/
	opcao=opcoes+1;
	while &#40;opcao!=opcoes&#41;
	&#123;
		/* Pede para que o usuário escolha uma opção*/
		printf&#40;&quot;\n&quot;&#41;;
		printf&#40;&quot;************************\n&quot;&#41;;
		printf&#40;&quot;O que voc\? deseja fazer?\n&quot;&#41;;
		printf&#40;&quot;\t1 - Jogar truco\n&quot;&#41;;
		printf&#40;&quot;\t2 - Ver ranking\n&quot;&#41;;
		printf&#40;&quot;\t3 - Sobre...\n&quot;&#41;;
		printf&#40;&quot;\t4 - Sair\n&quot;&#41;;
		printf&#40;&quot;\nDigite uma op\?\Æo&#58;&quot;&#41;;
		scanf&#40;&quot;%d&quot;,&amp;opcao&#41;;
		strcpy&#40;&amp;status&#91;1&#93;,&amp;truco&#41;;
		strcpy&#40;&amp;status&#91;2&#93;,&amp;seis&#41;;
		strcpy&#40;&amp;status&#91;3&#93;,&amp;nove&#41;;
		strcpy&#40;&amp;status&#91;4&#93;,&amp;doze&#41;;
		/*Verifica possíveis entradas erradas*/
		if &#40;&#40;opcao&lt;1&#41;||&#40;opcao&gt;opcoes&#41;&#41;
		&#123;
			printf&#40;&quot;\a\n\nVALOR INCORRETO!\n\n&quot;&#41;;
			printf&#40;&quot;Por favor escolha uma op\?\Æo entre 1 e %d\n\n&quot;, opcoes&#41;;
			system&#40;&quot;Pause&quot;&#41;;
		&#125;
		if &#40;opcao==1&#41;
		&#123;
			jogo&#40;&#41;;
		&#125;
		if &#40;opcao==2&#41;
		&#123;
			rank&#40;&#41;;
		&#125;
		if &#40;opcao==3&#41;
		&#123;
			sobre&#40;&#41;;
		&#125;
	&#125;
&#125;


void sobre&#40;void&#41;
&#123;
/**/	printf&#40;&quot;\n\n&quot;&#41;;
	printf&#40;&quot;Programa&#58; Super Truco\n&gt;&gt;&quot;&#41;;
	esp=getch&#40;&#41;;
	printf&#40;&quot;\nVers\Æo&#58; %3.2f\n&gt;&gt;&quot;,versao&#41;;
	esp=getch&#40;&#41;;
	printf&#40;&quot;\nAutores&#58;\n&quot;&#41;;
	printf&#40;&quot;\t%s\n&quot;,autor1&#41;;
	printf&#40;&quot;\t%s\n&quot;,autor2&#41;;
	printf&#40;&quot;\t%s\n&gt;&gt;&quot;,autor3&#41;;
	esp=getch&#40;&#41;;
	printf&#40;&quot;\nComent\ rios\n&quot;&#41;;
	printf&#40;&quot;\t       Este programa foi feito em novembro de 2004 como trabalho\n&quot;&#41;;
	printf&#40;&quot;\tde conclus\Æo da disciplina de Processamento de Dados &#40;PRD&#41; da \n&quot;&#41;;
	printf&#40;&quot;\t3\¦ fase do curso de Engenharia El\?trica da Universidade do Estado\n&quot;&#41;;
	printf&#40;&quot;\tde Santa Catarina &#40;UDESC&#41;.\n&gt;&gt;&quot;&#41;;
	esp=getch&#40;&#41;;
&#125;


void rank&#40;void&#41;
&#123;
	char 	car;
	int	i;
	if &#40;&#40;arq=fopen&#40;&quot;rank.txt&quot;,&quot;r&quot;&#41;&#41;==NULL&#41;
	&#123;
		arq=fopen&#40;&quot;Rank.txt&quot;,&quot;w&quot;&#41;;
		for &#40;i=0; i&lt;100; i++&#41;
			fprintf&#40;arq,&quot;%s %d %d %d\n&quot;,vazio,0,0,0&#41;;
		fclose&#40;arq&#41;;
		arq=fopen&#40;&quot;rank.txt&quot;,&quot;r&quot;&#41;;
	&#125;
	printf&#40;&quot;\n&quot;&#41;;
	printf&#40;&quot; Rank -%15s\t%10s\t%8s%10s\n\n&quot;,jog,part,vit,sal&#41;;
	for &#40;i=0; i&lt;10; i++&#41;
	&#123;
		fscanf&#40;arq,&quot;%s%d%d%d&quot;,ranknomes&#91;i&#93;,&amp;rankpartidas&#91;i&#93;,&amp;rankvitorias&#91;i&#93;,&amp;rankpts&#91;i&#93;&#41;;
		printf&#40;&quot;%3d   -%15s\t%8d\t%5d\t%9d\n&quot;,i+1,ranknomes&#91;i&#93;,rankpartidas&#91;i&#93;,rankvitorias&#91;i&#93;,rankpts&#91;i&#93;&#41;;
	&#125;
	printf&#40;&quot;\n&quot;&#41;;
	system&#40;&quot;Pause&quot;&#41;;
	fclose&#40;arq&#41;;
	if &#40;&#40;strcmp&#40;&amp;ranknomes&#91;0&#93;,&amp;vazio&#41;&#41;!=0&#41;
	&#123;
		car='a';
		while &#40;&#40;car!='s'&#41;&amp;&amp;&#40;car!='n'&#41;&#41;
		&#123;
			printf&#40;&quot;\nVoc\? deseja limpar a lista?&#40;s/n&#41;\n&quot;&#41;;
			scanf&#40;&quot;%s&quot;,&amp;car&#41;;
			if &#40;car=='s'&#41;
			&#123;
				arq=fopen&#40;&quot;Rank.txt&quot;,&quot;w&quot;&#41;;
				for &#40;i=0; i&lt;100; i++&#41;
					fprintf&#40;arq,&quot;%s %d %d %d\n&quot;,vazio,0,0,0&#41;;
				printf&#40;&quot;Lista limpa!\n\n&quot;&#41;;
				system&#40;&quot;Pause&quot;&#41;;
			&#125;
			fclose&#40;arq&#41;;
		&#125;
	&#125;
&#125;


void jogo&#40;void&#41;
&#123;
	char ch&#91;5&#93;, tipo&#91;40&#93;, car;
	int i, primeira, vale, naipe0, naipe1, valor;

			srand&#40;time&#40;NULL&#41;&#41;;
			for &#40;i=0; i&lt;40; i++&#41;
				matriz&#91;i&#93;=39-i;

	
	/*Pede o nome do jogador*/
	printf&#40;&quot;\n\nDigite seu nome&#58;&quot;&#41;;
	scanf&#40;&quot;%s&quot;,&amp;nome&#41;;
	pnts&#91;0&#93;=0;
	pnts&#91;1&#93;=0;
	primeiro=sorteia&#40;2&#41;;
	rodada=0;
	vitorias=0;
	npartidas=0;
	saldo=0;
	while &#40;&#40;pnts&#91;0&#93;&lt;ptsmax&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;ptsmax&#41;&#41;
	&#123;
		/*embaralha as cartas*/
		embaralha&#40;&#41;;
		/*Distribui as cartas entre os jogadores*/
		distribui&#40;&#41;;
		/*Atribui uma pontuação as cartas para fins de comparação do valor das mesmas*/
		atribui&#40;&#41;;
		pntsrod&#91;0&#93;=0;
		pntsrod&#91;1&#93;=0;
		inicial=primeiro;
		turno=-1;
		estado=0;
		vale=0;
		last=2;
		local=1;
		sorteado=sorteia&#40;40&#41;;
		while &#40;&#40;pntsrod&#91;0&#93;&lt;2&#41;&amp;&amp;&#40;pntsrod&#91;1&#93;&lt;2&#41;&#41;
		&#123;
			printf&#40;&quot;\n***********************************\n&quot;&#41;;
			turno=turno+1;
			mesa&#91;1&#93;&#91;turno&#93;=-1;
			/*Os jogadores jogam as cartas*/
			pcordena&#40;&#41;;
			continua=TRUE;
			if &#40;&#40;pnts&#91;0&#93;==11&#41;&amp;&amp;&#40;pnts&#91;1&#93;==11&#41;&#41;
			&#123;
				printf&#40;&quot;\n\t*** Escurinha! ***\n&quot;&#41;;
			&#125;
			if &#40;inicial==0&#41;
			&#123;
				if &#40;&#40;&#40;pnts&#91;0&#93;==11&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;11&#41;&#41;&amp;&amp;&#40;turno==0&#41;&#41;
				&#123;
					printf&#40;&quot;Pc est\  com m\Æo de 11.\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					if &#40;qly&lt;45&#41;
					&#123;
						printf&#40;&quot;\nPc correu.\n&gt;&gt;&quot;&#41;;
						pntsrod&#91;1&#93;=3;
						continua=FALSE;
					&#125;
					else
					&#123;
						printf&#40;&quot;\nPc aceitou.\n&gt;&gt;&quot;&#41;;
						estado=1;
						last=-1;
					&#125;
				esp=getch&#40;&#41;;
				&#125;
				if &#40;&#40;&#40;pnts&#91;1&#93;==11&#41;&amp;&amp;&#40;pnts&#91;0&#93;&lt;11&#41;&#41;&amp;&amp;&#40;turno==0&#41;&#41;
				&#123;
					printf&#40;&quot;Voc\? est\  com m\Æo de 11.\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					printf&#40;&quot;\nVirada&#58; %c %c\n&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
					printf&#40;&quot;\nSua m\Æo \?&#58;\n&quot;&#41;;
					for &#40;i=0; i&lt;3; i++&#41;
					&#123;
						tipo&#91;0&#93;='\0';
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
							strcpy&#40;&amp;tipo,&amp;g&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
							strcpy&#40;&amp;tipo,&amp;c&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
							strcpy&#40;&amp;tipo,&amp;e&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
							strcpy&#40;&amp;tipo,&amp;m&#41;;
						printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
					&#125;
					car='a';
					while &#40;&#40;car!='s'&#41;&amp;&amp;&#40;car!='n'&#41;&#41;
					&#123;
						printf&#40;&quot;Voc\? aceita?&#40;s/n&#41;&quot;&#41;;
						scanf&#40;&quot;%s&quot;,&amp;car&#41;;
					&#125;
					if &#40;car=='n'&#41;
					&#123;
						pntsrod&#91;0&#93;=3;
						continua=FALSE;
					&#125;
					else
					&#123;
						estado=1;
						last=-1;
					&#125;
				&#125;
				if &#40;continua==TRUE&#41;
					pctruca&#40;&#41;;
				if &#40;continua==TRUE&#41;
					pcplay&#40;&#41;;
				local=2;
				if &#40;continua==TRUE&#41;
					jgtruca&#40;&#41;;
				if &#40;continua==TRUE&#41;
					jgplay&#40;&#41;;
			&#125;
			else
			&#123;
				if &#40;&#40;&#40;pnts&#91;0&#93;==11&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;11&#41;&#41;&amp;&amp;&#40;turno==0&#41;&#41;
				&#123;
					printf&#40;&quot;Pc est\  com m\Æo de 11.\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					if &#40;qly&lt;60&#41;
					&#123;
						printf&#40;&quot;\nPc correu.\n&gt;&gt;&quot;&#41;;
						pntsrod&#91;1&#93;=3;
						continua=FALSE;
					&#125;
					else
					&#123;
						printf&#40;&quot;\nPc aceitou.\n&gt;&gt;&quot;&#41;;
						estado=1;
						last=-1;
					&#125;
				esp=getch&#40;&#41;;
				&#125;
				if &#40;&#40;&#40;pnts&#91;1&#93;==11&#41;&amp;&amp;&#40;pnts&#91;0&#93;&lt;11&#41;&#41;&amp;&amp;&#40;turno==0&#41;&#41;
				&#123;
					printf&#40;&quot;Voc\? est\  com m\Æo de 11.\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					printf&#40;&quot;\nVirada&#58; %c %c\n&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
					printf&#40;&quot;\nSua m\Æo \?&#58;\n&quot;&#41;;
					for &#40;i=0; i&lt;3; i++&#41;
					&#123;
						tipo&#91;0&#93;='\0';
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
							strcpy&#40;&amp;tipo,&amp;g&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
							strcpy&#40;&amp;tipo,&amp;c&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
							strcpy&#40;&amp;tipo,&amp;e&#41;;
						if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
							strcpy&#40;&amp;tipo,&amp;m&#41;;
						printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
					&#125;
					car='a';
					while &#40;&#40;car!='s'&#41;&amp;&amp;&#40;car!='n'&#41;&#41;
					&#123;
						printf&#40;&quot;Voc\? aceita?&#40;s/n&#41;&quot;&#41;;
						scanf&#40;&quot;%s&quot;,&amp;car&#41;;
					&#125;
					if &#40;car=='n'&#41;
					&#123;
						pntsrod&#91;0&#93;=3;
						continua=FALSE;
					&#125;
					else
					&#123;
						estado=1;
						last=-1;
					&#125;
				&#125;
				local=1;
				if &#40;continua==TRUE&#41;
					jgtruca&#40;&#41;;
				if &#40;continua==TRUE&#41;
					jgplay&#40;&#41;;
				if &#40;continua==TRUE&#41;
					pctruca&#40;&#41;;
				if &#40;continua==TRUE&#41;
					pcplay&#40;&#41;;
			&#125;
        	    	if &#40;&#40;pntsrod&#91;0&#93;&lt;2&#41;&amp;&amp;&#40;pntsrod&#91;1&#93;&lt;2&#41;&#41;
	           	&#123;           
				/*Avalia o resultado do turno*/
				if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;
				&#123;
					inicial=0;
					if &#40;&#40;vale==1&#41;||&#40;vale==2&#41;&#41;
						pntsrod&#91;0&#93;=3;
					else
						pntsrod&#91;0&#93;++;
					if &#40;turno==0&#41;
						primeira=0;
					printf&#40;&quot;\nPc levou este turno.\n&gt;&gt;&quot;&#41;;
				&#125;
				if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;&lt;cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;
				&#123;
					inicial=1;
					if &#40;&#40;vale==1&#41;||&#40;vale==2&#41;&#41;
						pntsrod&#91;1&#93;=3;
					else
						pntsrod&#91;1&#93;++;
					if &#40;turno==0&#41;
						primeira=1;
					printf&#40;&quot;\nVoc\? levou este turno.\n&gt;&gt;&quot;&#41;;
				&#125;
				if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;
				&#123;
					if &#40;turno==0&#41;
					&#123;
						vale=1;
						printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
					&#125;
					if &#40;turno==1&#41;
						if &#40;vale==0&#41;
						&#123;
							pntsrod&#91;primeira&#93;=3;
							printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
						&#125;
						else
						&#123;
							vale=2;
							printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
						&#125;
					if &#40;turno==2&#41;
					&#123;
						if &#40;vale==2&#41;
						&#123;
							naipe0=&#40;int&#41;&#40;mesa&#91;1&#93;&#91;3&#93;/10&#41;;
							naipe1=&#40;int&#41;&#40;mesa&#91;1&#93;&#91;3&#93;/10&#41;;
							if &#40;naipe0&gt;naipe1&#41;
							&#123;
								pntsrod&#91;0&#93;=3;
								printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
							&#125;
							else
							&#123;
								pntsrod&#91;1&#93;=3;
								printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
							&#125;
						&#125;
						else
						&#123;
							pntsrod&#91;primeira&#93;=3;
							printf&#40;&quot;\nTurno empatado.\n&gt;&gt;&quot;&#41;;
						&#125;
					&#125;	
				&#125;
				esp=getch&#40;&#41;;
			&#125;
		&#125;
		printf&#40;&quot;\n***********************************\n&quot;&#41;;
		valor=estado*3;
		if &#40;estado==0&#41;
			valor=1;
		if &#40;pntsrod&#91;0&#93;&gt;=2&#41;
		&#123;
			if &#40;pnts&#91;0&#93;==11&#41;
				valor=1;
			pnts&#91;0&#93;=pnts&#91;0&#93;+valor;
			if &#40;valor==1&#41;
				printf&#40;&quot;\nPc ganhou 1 ponto\n&quot;&#41;;
			else
               			printf&#40;&quot;\nPc ganhou %d pontos\n&quot;,valor&#41;;
            		printf&#40;&quot;\n***********************************\n&quot;&#41;;
           	&#125;
		if &#40;pntsrod&#91;1&#93;&gt;=2&#41;
		&#123;
			if &#40;pnts&#91;1&#93;==11&#41;
				valor=1;
			if &#40;valor==1&#41;
				printf&#40;&quot;\nVoc\? ganhou 1 ponto\n&quot;&#41;;
			else
               			printf&#40;&quot;\nVoc\? ganhou %d pontos\n&quot;,valor&#41;;
			pnts&#91;1&#93;=pnts&#91;1&#93;+valor;
            		printf&#40;&quot;\n***********************************\n&quot;&#41;;
		&#125;
		esp=getch&#40;&#41;;
		if &#40;pnts&#91;0&#93;&gt;12&#41;
			pnts&#91;0&#93;=12;
		if &#40;pnts&#91;1&#93;&gt;12&#41;
			pnts&#91;1&#93;=12;
		printf&#40;&quot;\n\tPLACAR PARCIAL\n&quot;&#41;;
		printf&#40;&quot;\t---------------------\n\t Pc =   %d\n&quot;,pnts&#91;0&#93;&#41;;
		printf&#40;&quot;\t---------------------\n\t %s =   %d\n&quot;,nome,pnts&#91;1&#93;&#41;;
		printf&#40;&quot;\t---------------------\n&quot;&#41;;
		printf&#40;&quot;&gt;&gt;&quot;&#41;;
		esp=getch&#40;&#41;;
		if &#40;&#40;pnts&#91;0&#93;&gt;=ptsmax&#41;||&#40;pnts&#91;1&#93;&gt;=ptsmax&#41;&#41;
		&#123;
			if &#40;pnts&#91;0&#93;&gt;=ptsmax&#41;
			&#123;
				npartidas++;
				saldo=pnts&#91;1&#93;-ptsmax;
		    		printf&#40;&quot;\n\n\tVOC\Ò PERDEU!!!\n\n&quot;&#41;;
	      		&#125;
			if &#40;pnts&#91;1&#93;&gt;=ptsmax&#41;
			&#123;
				vitorias++;
				npartidas++;
				saldo=ptsmax-pnts&#91;0&#93;;
				printf&#40;&quot;\n\n\tVOC\Ò GANHOU!!!\n\n&quot;&#41;;
			&#125;
			system&#40;&quot;Pause&quot;&#41;;
		&#125;
		if &#40;primeiro==0&#41;
			primeiro++;
		else
		    	primeiro--;
        	rodada++;
	&#125;
	save&#40;&#41;;
&#125;

void embaralha&#40;void&#41;
&#123;
	int num, i, j, k;
	char ch&#91;2&#93;;
	for &#40;i=0; i&lt;40; i++&#41;
	&#123;
		num=sorteia&#40;40-i&#41;;
		baralho&#91;i&#93;=matriz&#91;num&#93;;
		for &#40;j=num; j&lt;&#40;39&#41;; j++&#41;
			matriz&#91;j&#93;=matriz&#91;j+1&#93;;
	&#125;
	for &#40;i=0; i&lt;40; i++&#41;
		matriz&#91;i&#93;=baralho&#91;i&#93;;
&#125;

int sorteia&#40;int max&#41;
&#123;
	return &#40;&#40;int&#41;max*rand&#40;&#41;/&#40;RAND_MAX+1&#41;&#41;;
&#125;

void distribui&#40;void&#41;
&#123;
	int	a, b, i;
	for &#40;a=0; a&lt;3; a++&#41;
	&#123;
		for &#40;b=0; b&lt;2; b++&#41;
		&#123;
			mao&#91;b&#93;&#91;a&#93;=baralho&#91;a*2+b&#93;;
		&#125;
	&#125;
	virada=baralho&#91;6&#93;;
	printf&#40;&quot;\n***********************************\n&quot;&#41;;
	printf&#40;&quot;Rodada %2d&quot;,rodada+1&#41;;
	printf&#40;&quot;\n&gt;&gt;&quot;&#41;;
	esp=getch&#40;&#41;;
	if &#40;primeiro==0&#41;
	    printf&#40;&quot;\nPc come\?a!\n&gt;&gt;&quot;&#41;;
   	else
        	printf&#40;&quot;\nVoc\? come\?a!\n&gt;&gt;&quot;&#41;;
    	printf&#40;&quot;&quot;&#41;;
    	esp=getch&#40;&#41;;
&#125;

void pcplay&#40;void&#41;
&#123;
	int num, i, j, wx, ql, jogou, valormao;
	char tipo&#91;40&#93;;
	
	


	/*Pc escolhe carta para jogar*/
	if &#40;inicial==0&#41;
	&#123;
		if &#40;&#40;pntsrod&#91;0&#93;==0&#41;&amp;&amp;&#40;turno&gt;0&#41;&#41;
		&#123;
			if &#40;cartas&#91;mao&#91;0&#93;&#91;1&#93;&#93;&gt;6&#41;
				num=sorteia&#40;3-turno&#41;;
			else
				num=0;
		&#125;
		else
			num=sorteia&#40;3-turno&#41;;
	&#125;
	if &#40;&#40;pnts&#91;0&#93;==11&#41;||&#40;pnts&#91;1&#93;==11&#41;&#41;
		num=sorteia&#40;3-turno&#41;;
	if &#40;inicial==1&#41;
	&#123;
		jogou=FALSE;
		for &#40;i=&#40;2-turno&#41;; i&gt;=0; i--&#41;
		&#123;
			if &#40;&#40;cartas&#91;mao&#91;0&#93;&#91;i&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;&amp;&amp;&#40;jogou==FALSE&#41;&#41;
			&#123;
				num=i;
				jogou=TRUE;
			&#125;
		&#125;
		if &#40;jogou==FALSE&#41;
			for &#40;i=&#40;2-turno&#41;; i&gt;=0; i--&#41;
			&#123;
				if &#40;&#40;cartas&#91;mao&#91;0&#93;&#91;i&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;turno&#93;&#93;&#41;&amp;&amp;&#40;jogou==FALSE&#41;&#41;
				&#123;
					num=i;
					jogou=TRUE;
				&#125;
			&#125;
		if &#40;jogou==FALSE&#41;
			num=2-turno;
		if &#40;&#40;pntsrod&#91;0&#93;==pntsrod&#91;1&#93;&#41;&amp;&amp;&#40;turno!=0&#41;&#41;
			num=0;
	&#125;

	tipo&#91;0&#93;='\0';
	mesa&#91;0&#93;&#91;turno&#93;=mao&#91;0&#93;&#91;num&#93;;
	for &#40;i=num; i&lt;&#40;2-turno&#41;; i++&#41;
		mao&#91;0&#93;&#91;i&#93;=mao&#91;0&#93;&#91;i+1&#93;;
	if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==13&#41;
		strcpy&#40;&amp;tipo,&amp;g&#41;;
	if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==12&#41;
		strcpy&#40;&amp;tipo,&amp;c&#41;;
	if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==11&#41;
		strcpy&#40;&amp;tipo,&amp;e&#41;;
	if &#40;cartas&#91;mesa&#91;0&#93;&#91;turno&#93;&#93;==10&#41;
		strcpy&#40;&amp;tipo,&amp;m&#41;;
	printf&#40;&quot;\nPc jogou&#58;  %c %c  %s\n&quot;,carta&#40;mesa&#91;0&#93;&#91;turno&#93;&#41;,toon&#40;mesa&#91;0&#93;&#91;turno&#93;&#41;,tipo&#41;;
	printf&#40;&quot;&gt;&gt;&quot;&#41;;
	esp=getch&#40;&#41;;
&#125;

void jgplay&#40;void&#41;
&#123;
	int num, i, vle;
	char tipo&#91;40&#93;;
	num=10;
	while &#40;&#40;num&lt;0&#41;||&#40;num&gt;&#40;2-turno&#41;&#41;&#41;
	&#123;
	   	printf&#40;&quot;\nVirada&#58;  %c %c\n&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
		if &#40;&#40;pnts&#91;0&#93;==11&#41;&amp;&amp;&#40;pnts&#91;1&#93;==11&#41;&#41;
		&#123;
			printf&#40;&quot;\nQue carta voc\? quer jogar?&#40;1&quot;&#41;;
			for &#40;i=1; i&lt;&#40;3-turno&#41;; i++&#41;
				printf&#40;&quot;/%d&quot;,i+1&#41;;
			printf&#40;&quot;&#41;\n&quot;&#41;;
			scanf&#40;&quot;%d&quot;,&amp;num&#41;;
			num--;			
		&#125;
		else
		&#123;
			printf&#40;&quot;\nQue carta voc\? quer jogar?\n&quot;&#41;;
			for &#40;i=0; i&lt;&#40;3-turno&#41;; i++&#41;
			&#123;
				tipo&#91;0&#93;='\0';
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
					strcpy&#40;&amp;tipo,&amp;g&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
					strcpy&#40;&amp;tipo,&amp;c&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
					strcpy&#40;&amp;tipo,&amp;e&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
					strcpy&#40;&amp;tipo,&amp;m&#41;;
	        		printf&#40;&quot;%d - %c %c %s\n&quot;,i+1,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
			&#125;
			scanf&#40;&quot;%d&quot;,&amp;num&#41;;
			num--;
		&#125;
		if &#40;&#40;num&lt;0&#41;||&#40;num&gt;&#40;2-turno&#41;&#41;&#41;
		&#123;
			printf&#40;&quot;\a\n\tVALOR INCORRETO!!\n&quot;&#41;;
			printf&#40;&quot;\nDigite sua op\?\Æo entre 0 e %d\n&quot;,&#40;2-turno&#41;&#41;;
			system&#40;&quot;Pause&quot;&#41;;
		&#125;
		else
        	&#123;
			tipo&#91;0&#93;='\0';
			if &#40;cartas&#91;mao&#91;1&#93;&#91;num&#93;&#93;==13&#41;
				strcpy&#40;&amp;tipo,&amp;g&#41;;
			if &#40;cartas&#91;mao&#91;1&#93;&#91;num&#93;&#93;==12&#41;
				strcpy&#40;&amp;tipo,&amp;c&#41;;
			if &#40;cartas&#91;mao&#91;1&#93;&#91;num&#93;&#93;==11&#41;
				strcpy&#40;&amp;tipo,&amp;e&#41;;
			if &#40;cartas&#91;mao&#91;1&#93;&#91;num&#93;&#93;==10&#41;
				strcpy&#40;&amp;tipo,&amp;m&#41;;
                       	printf&#40;&quot;Voc\? jogou&#58; %c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;num&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;num&#93;&#41;,tipo&#41;;
	                printf&#40;&quot;&gt;&gt;&quot;&#41;;
   	    	&#125;
	        esp=getch&#40;&#41;;
	&#125;
	mesa&#91;1&#93;&#91;turno&#93;=mao&#91;1&#93;&#91;num&#93;;
	for &#40;i=num; i&lt;&#40;2-turno&#41;; i++&#41;
		mao&#91;1&#93;&#91;i&#93;=mao&#91;1&#93;&#91;i+1&#93;;	
&#125;

void atribui&#40;void&#41;
&#123;
	int vle, a, i, j, card;
	if &#40;&#40;virada%10&#41;&lt;9&#41;
	&#123;
		card=&#40;virada%10&#41;+1;
	&#125;
	else	
		card=0;
	vle=0;
	for &#40;i=0; i&lt;4; i++&#41;
	&#123;
		vle=0;
		for &#40;j=0; j&lt;10; j++&#41;
		&#123;
			if &#40;card==j&#41;
				cartas&#91;10*i+j&#93;=10+i;
			else
			&#123;
				cartas&#91;10*i+j&#93;=vle;
				vle=vle+1;
			&#125;
		&#125;
	&#125;
&#125;

char toon&#40;int card&#41;
&#123;
	int vle, x;
	vle=&#40;int&#41;&#40;card/10&#41;;
	if &#40;vle==0&#41;
		x=4;
	if &#40;vle==1&#41;
		x=6;
	if &#40;vle==2&#41;
		x=3;
	if &#40;vle==3&#41;
		x=5;
	return &#40;&quot;%c&quot;,x&#41;;
&#125;

char carta&#40;int card&#41;
&#123;
	int vle;
	char x;
	vle=card%10;
	if &#40;vle&gt;7&#41;
		x=&#40;&quot;\c&quot;,42+vle&#41;;
	if &#40;vle==7&#41;
		x='A';
	if &#40;vle==6&#41;
		x='K';
	if &#40;vle==5&#41;
		x='J';
	if &#40;vle==4&#41;
		x='Q';
	if &#40;vle&lt;4&#41;
		x=&#40;&quot;%c&quot;,52+vle&#41;;
	return x;
&#125;

void save&#40;void&#41;
&#123;
	int	i, pos, njogadores, pontos, j;
	char	nm&#91;40&#93;;

	/*Abre o arquivo para leitura, se existir*/
	if &#40;&#40;arq=fopen&#40;&quot;Rank.TXT&quot;,&quot;r&quot;&#41;&#41;!=NULL&#41;
	&#123;
		/*Obtem os nomes e a pontuação*/		
		for &#40;i=0; i&lt;100; i++&#41;
		&#123;
			fscanf&#40;arq,&quot;%s%d%d%d&quot;,&amp;ranknomes&#91;i&#93;,&amp;rankpartidas&#91;i&#93;,&amp;rankvitorias&#91;i&#93;,&amp;rankpts&#91;i&#93;&#41;;
		&#125;
	&#125;


	/*senão, o cria*/
	else
	&#123;
		arq=fopen&#40;&quot;Rank.txt&quot;,&quot;w&quot;&#41;;
		for &#40;i=0; i&lt;100; i++&#41;
		&#123;
			fprintf&#40;arq,&quot;%s %d %d %d\n&quot;,vazio,0,0,0&#41;;
			strcpy&#40;&amp;ranknomes&#91;i&#93;,&amp;vazio&#41;;
			rankpartidas&#91;i&#93;=0;
			rankvitorias&#91;i&#93;=0;
			rankpts&#91;i&#93;=0;
		&#125;
	&#125;


	/*fecha o arquivo*/
	fclose&#40;arq&#41;;


	/*procura o nome e conta o número de jogadores na lista*/
	njogadores=0;
	pos=-1;
	i=0;
	while &#40;&#40;pos==-1&#41;||&#40;i==njogadores&#41;&#41;
	&#123;
		if &#40;strcmp&#40;&amp;ranknomes&#91;i&#93;,&amp;nome&#41;==0&#41;
			pos=i;
		if &#40;&#40;pos==-1&#41;&amp;&amp;&#40;i==99&#41;&#41;
			pos=100;
		if &#40;strcmp&#40;&amp;ranknomes&#91;i&#93;,&amp;vazio&#41;!=0&#41;
			njogadores++;
		i++;
	&#125;


	/*se encontrar, acrescenta ou diminui seus pontos*/
	if &#40;pos&lt;100&#41;
	&#123;
		rankpartidas&#91;pos&#93;=rankpartidas&#91;pos&#93;+npartidas;
		rankpts&#91;pos&#93;=rankpts&#91;pos&#93;+saldo;
		rankvitorias&#91;pos&#93;=rankvitorias&#91;pos&#93;+vitorias;
	&#125;


	/*senão, adiciona-lhe ao final da lista*/
	else
	&#123;
		njogadores++;
		rankpartidas&#91;njogadores-1&#93;=npartidas;
		rankvitorias&#91;njogadores-1&#93;=vitorias;
		rankpts&#91;njogadores-1&#93;=saldo;
		strcpy&#40;&amp;ranknomes&#91;njogadores-1&#93;,&amp;nome&#41;;
	&#125;


	/*ordena a lista em forma decrescente*/
	for &#40;i=0; i&lt;&#40;njogadores-1&#41;; i++&#41;
	&#123;
		for &#40;j=0; j&lt;&#40;njogadores-1&#41;; j++&#41;
		&#123;
			if &#40;rankvitorias&#91;j&#93;&lt;rankvitorias&#91;j+1&#93;&#41;
			&#123;
				pontos=rankpts&#91;j&#93;;
				rankpts&#91;j&#93;=rankpts&#91;j+1&#93;;
				rankpts&#91;j+1&#93;=pontos;

				pontos=rankvitorias&#91;j&#93;;
				rankvitorias&#91;j&#93;=rankvitorias&#91;j+1&#93;;
				rankvitorias&#91;j+1&#93;=pontos;

				pontos=rankpartidas&#91;j&#93;;
				rankpartidas&#91;j&#93;=rankpartidas&#91;j+1&#93;;
				rankpartidas&#91;j+1&#93;=pontos;

				strcpy&#40;&amp;nm,&amp;ranknomes&#91;j&#93;&#41;;
				strcpy&#40;&amp;ranknomes&#91;j&#93;,&amp;ranknomes&#91;j+1&#93;&#41;;
				strcpy&#40;&amp;ranknomes&#91;j+1&#93;,&amp;nm&#41;;
			&#125;
			else
			&#123;
				if &#40;rankvitorias&#91;j&#93;==rankvitorias&#91;j+1&#93;&#41;
				&#123;
					if &#40;rankpts&#91;j&#93;&lt;rankpts&#91;j+1&#93;&#41;
					&#123;
						pontos=rankpts&#91;j&#93;;
						rankpts&#91;j&#93;=rankpts&#91;j+1&#93;;
						rankpts&#91;j+1&#93;=pontos;

						pontos=rankvitorias&#91;j&#93;;
						rankvitorias&#91;j&#93;=rankvitorias&#91;j+1&#93;;
						rankvitorias&#91;j+1&#93;=pontos;
	
						pontos=rankpartidas&#91;j&#93;;
						rankpartidas&#91;j&#93;=rankpartidas&#91;j+1&#93;;
						rankpartidas&#91;j+1&#93;=pontos;
	
						strcpy&#40;&amp;nm,&amp;ranknomes&#91;j&#93;&#41;;
						strcpy&#40;&amp;ranknomes&#91;j&#93;,&amp;ranknomes&#91;j+1&#93;&#41;;
						strcpy&#40;&amp;ranknomes&#91;j+1&#93;,&amp;nm&#41;;
					&#125;
					else
					&#123;
						if &#40;rankpts&#91;j&#93;==rankpts&#91;j+1&#93;&#41;
						&#123;
							if &#40;rankpartidas&#91;j&#93;&lt;rankpartidas&#91;j+1&#93;&#41;
							&#123;
								pontos=rankpts&#91;j&#93;;
								rankpts&#91;j&#93;=rankpts&#91;j+1&#93;;
								rankpts&#91;j+1&#93;=pontos;

								pontos=rankvitorias&#91;j&#93;;
								rankvitorias&#91;j&#93;=rankvitorias&#91;j+1&#93;;
								rankvitorias&#91;j+1&#93;=pontos;
			
								pontos=rankpartidas&#91;j&#93;;
								rankpartidas&#91;j&#93;=rankpartidas&#91;j+1&#93;;
								rankpartidas&#91;j+1&#93;=pontos;
	
								strcpy&#40;&amp;nm,&amp;ranknomes&#91;j&#93;&#41;;
								strcpy&#40;&amp;ranknomes&#91;j&#93;,&amp;ranknomes&#91;j+1&#93;&#41;;
								strcpy&#40;&amp;ranknomes&#91;j+1&#93;,&amp;nm&#41;;
							&#125;
						&#125;
					&#125;
				&#125;
			&#125;
		&#125;
	&#125;


	/*recria o arquivo para escrita*/
	if &#40;&#40;arq=fopen&#40;&quot;Rank.txt&quot;,&quot;w&quot;&#41;&#41;==NULL&#41;
	&#123;
		printf&#40;&quot;\n\aErro de leitura.\nO arquivo 'Rank.Txt' pode estar corrompido ou danificado.\n&quot;&#41;;
	&#125;
	else
	&#123;
		/*escreve os dados da lista*/
		for &#40;i=0; i&lt;100; i++&#41;
		&#123;
			fprintf&#40;arq,&quot;%s %d %d %d\n&quot;,ranknomes&#91;i&#93;,rankpartidas&#91;i&#93;,rankvitorias&#91;i&#93;,rankpts&#91;i&#93;&#41;;
		&#125;
	&#125;


	/*fecha o arquivo*/
	fclose&#40;arq&#41;;
&#125;

void pcpensa&#40;void&#41;
&#123;
	int i, valormao;
	valormao=0;
	for &#40;i=0; i&lt;&#40;3-turno&#41;; i++&#41;
		valormao=valormao+cartas&#91;mao&#91;0&#93;&#91;i&#93;&#93;;
	qly=3*valormao;
	if &#40;turno==0&#41;
	&#123;
		if &#40;inicial==1&#41;
		&#123;
			for &#40;i=0; i&lt;3; i++&#41;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;i&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;0&#93;&#93;&#41;
					qly=qly+5;
			if &#40;qly==&#40;3*valormao&#41;&#41;
			&#123;
				qly=25+sorteia&#40;50&#41;;	/*Facão*/
			&#125;
		&#125;
	&#125;
	if &#40;turno==1&#41;
	&#123;
		if &#40;pntsrod&#91;0&#93;==1&#41;
		&#123;
			qly=5*valormao;
			if &#40;cartas&#91;mesa&#91;0&#93;&#91;1&#93;&#93;==-1&#41;
			&#123;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;&gt;=10&#41;
					qly=60;
				if &#40;cartas&#91;mao&#91;9&#93;&#91;1&#93;&#93;&gt;=8&#41;
					qly=qly+20;
			&#125;
			else
			&#123;
				if &#40;cartas&#91;mesa&#91;0&#93;&#91;1&#93;&#93;&gt;=11&#41;
					qly=65;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;1&#93;&#93;&gt;=9&#41;
					qly=90;
			&#125;
			if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;==13&#41;
				qly=100;
		&#125;
		if &#40;pntsrod&#91;1&#93;==1&#41;
		&#123;
			if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;&lt;cartas&#91;mesa&#91;1&#93;&#91;1&#93;&#93;&#41;
			&#123;
					qly=30+sorteia&#40;50&#41;;	/*Facão*/
			&#125;
			else
			&#123;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;1&#93;&#93;&lt;cartas&#91;mesa&#91;1&#93;&#91;1&#93;&#93;&#41;
				&#123;
						qly=20+sorteia&#40;50&#41;;	/*Facão*/
				&#125;
				else
				&#123;
					qly=4*valormao+sorteado;
				&#125;
			&#125;
		&#125;
		else
		&#123;
			qly=6*cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;+2*cartas&#91;mao&#91;0&#93;&#91;1&#93;&#93;+sorteado;
		&#125;
	&#125;
	if &#40;turno==2&#41;
	&#123;
		if &#40;inicial==1&#41;
		&#123;
			if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;2&#93;&#93;&#41;
			&#123;
				qly=100;
			&#125;
			else
			&#123;
				if &#40;&#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;==cartas&#91;mesa&#91;1&#93;&#91;2&#93;&#93;&#41;&amp;&amp;&#40;cartas&#91;mesa&#91;0&#93;&#91;0&#93;&#93;&gt;cartas&#91;mesa&#91;1&#93;&#91;0&#93;&#93;&#41;&#41;
				&#123;
					qly=100;
				&#125;
				else
				&#123;
						qly=30+sorteia&#40;60&#41;;	/*Facão*/
				&#125;
			&#125;			
		&#125;
		if &#40;cartas&#91;mao&#91;0&#93;&#91;0&#93;&#93;==13&#41;
			qly=100;
	&#125;
&#125;

void pctruca&#40;void&#41;
&#123;
	int	num, i;
	char	tipo&#91;40&#93;;
	pcpensa&#40;&#41;;
	if &#40;&#40;&#40;pnts&#91;0&#93;&lt;11&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;11&#41;&#41;&amp;&amp;&#40;&#40;&#40;last==1&#41;||&#40;last==2&#41;&#41;&amp;&amp;&#40;estado&lt;4&#41;&#41;&#41;
	&#123;
		if &#40;qly&gt;&#40;50+sorteia&#40;20&#41;+estado*8&#41;&#41;
		&#123;
			printf&#40;&quot;\nPc pediu %s.\n&gt;&gt;&quot;,status&#91;estado+1&#93;&#41;;
			esp=getch&#40;&#41;;
			printf&#40;&quot;\nVirada&#58; %c %c\n&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
			printf&#40;&quot;\nSua m\Æo \?&#58;\n&quot;&#41;;
			if &#40;mesa&#91;1&#93;&#91;turno&#93;==-1&#41;
			&#123;
				for &#40;i=0; i&lt;&#40;3-turno&#41;; i++&#41;
				&#123;
					tipo&#91;0&#93;='\0';
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
						strcpy&#40;&amp;tipo,&amp;g&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
						strcpy&#40;&amp;tipo,&amp;c&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
						strcpy&#40;&amp;tipo,&amp;e&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
						strcpy&#40;&amp;tipo,&amp;m&#41;;
					printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
				&#125;
			&#125;
			else
			&#123;
				for &#40;i=0; i&lt;&#40;2-turno&#41;; i++&#41;
				&#123;
					tipo&#91;0&#93;='\0';
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
						strcpy&#40;&amp;tipo,&amp;g&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
						strcpy&#40;&amp;tipo,&amp;c&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
						strcpy&#40;&amp;tipo,&amp;e&#41;;
					if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
						strcpy&#40;&amp;tipo,&amp;m&#41;;
					printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
				&#125;
			&#125;		
			printf&#40;&quot;Digite&#58;\n1 - Aceitar;\n2 - Correr\n&quot;&#41;;
			if &#40;estado&lt;3&#41;
				printf&#40;&quot;3 - Pedir '%s'\n&quot;,status&#91;estado+2&#93;&#41;;
			scanf&#40;&quot;%d&quot;,&amp;num&#41;;
			if &#40;num==1&#41;
			&#123;
				estado++;
				last=0;
			&#125;
			if &#40;num==2&#41;
			&#123;
				continua=FALSE;
				pntsrod&#91;0&#93;=3;
			&#125;
			if &#40;num==3&#41;
			&#123;
				last=0;
				estado++;
				local=0;
				jgtruca&#40;&#41;;
			&#125;
			
		&#125;
	&#125;
&#125;

void pcordena&#40;void&#41;
&#123;
	int	i, j, wx;
	/*Ordena as cartas do pc no primeiro turno*/
	if &#40;turno==0&#41;
	&#123;
		for &#40;i=0; i&lt;2; i++&#41;
			for &#40;j=0; j&lt;2; j++&#41;
				if &#40;cartas&#91;mao&#91;0&#93;&#91;j&#93;&#93;&lt;cartas&#91;mao&#91;0&#93;&#91;j+1&#93;&#93;&#41;
				&#123;
					wx=mao&#91;0&#93;&#91;j&#93;;
					mao&#91;0&#93;&#91;j&#93;=mao&#91;0&#93;&#91;j+1&#93;;
					mao&#91;0&#93;&#91;j+1&#93;=wx;
				&#125;
	&#125;
&#125;

void jgtruca&#40;void&#41;
&#123;
	char	car;
	char	tipo&#91;40&#93;;
	int	cont, i, num;
	if &#40;&#40;&#40;pnts&#91;0&#93;&lt;11&#41;&amp;&amp;&#40;pnts&#91;1&#93;&lt;11&#41;&#41;&amp;&amp;&#40;&#40;&#40;last==0&#41;||&#40;last==2&#41;&#41;&amp;&amp;&#40;estado&lt;4&#41;&#41;&#41;
	&#123;
		cont=TRUE;
		if &#40;local!=0&#41;
		&#123;
			printf&#40;&quot;\nVirada&#58; %c %c&quot;,carta&#40;virada&#41;,toon&#40;virada&#41;&#41;;
			printf&#40;&quot;\nSua m\Æo \?&#58;\n&quot;&#41;;
			for &#40;i=0; i&lt;&#40;3-turno&#41;; i++&#41;
			&#123;
				tipo&#91;0&#93;='\0';
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==13&#41;
					strcpy&#40;&amp;tipo,&amp;g&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==12&#41;
					strcpy&#40;&amp;tipo,&amp;c&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==11&#41;
					strcpy&#40;&amp;tipo,&amp;e&#41;;
				if &#40;cartas&#91;mao&#91;1&#93;&#91;i&#93;&#93;==10&#41;
					strcpy&#40;&amp;tipo,&amp;m&#41;;
				printf&#40;&quot;%c %c %s\n&quot;,carta&#40;mao&#91;1&#93;&#91;i&#93;&#41;,toon&#40;mao&#91;1&#93;&#91;i&#93;&#41;,tipo&#41;;
			&#125;
			num=0;
			while &#40;&#40;num!=1&#41;&amp;&amp;&#40;num!=2&#41;&#41;
			&#123;
				printf&#40;&quot;\nVoc\? quer pedir %s?\n&quot;,status&#91;estado+1&#93;&#41;;
				printf&#40;&quot;1 - Sim\n&quot;&#41;;
				printf&#40;&quot;2 - N\Æo\n&quot;&#41;;
				scanf&#40;&quot;%d&quot;,&amp;num&#41;;
			&#125;

			if &#40;num==2&#41;
				cont=FALSE;
		&#125;
		if &#40;cont==TRUE&#41;
		&#123;
			pcpensa&#40;&#41;;
			if &#40;&#40;qly&gt;&#40;sorteia&#40;10&#41;+&#40;estado+1&#41;*8+40&#41;&#41;&amp;&amp;&#40;&#40;qly&lt;&#40;sorteia&#40;10&#41;+&#40;estado+2&#41;*8+40&#41;&#41;&#41;||&#40;estado&gt;2&#41;&#41;
			&#123;
				estado++;
				last=1;
				printf&#40;&quot;\nPc aceitou!\n&gt;&gt;&quot;&#41;;
				esp=getch&#40;&#41;;
			&#125;
			else
			&#123;
				if &#40;&#40;qly&gt;&#40;sorteia&#40;10&#41;+&#40;estado+2&#41;*8+40&#41;&#41;&amp;&amp;&#40;estado&lt;3&#41;&#41;
				&#123;
					estado++;
					last=1;
					printf&#40;&quot;\nPc aceitou!\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
					pctruca&#40;&#41;;
				&#125;
				else
				&#123;
					continua=FALSE;
					pntsrod&#91;1&#93;=3;
					printf&#40;&quot;\nPc correu!\n&gt;&gt;&quot;&#41;;
					esp=getch&#40;&#41;;
				&#125;
			&#125;
		&#125;
	&#125;
&#125;
'; if (cartas[mao[1][i]]==13) strcpy(&tipo,&g); if (cartas[mao[1][i]]==12) strcpy(&tipo,&c); if (cartas[mao[1][i]]==11) strcpy(&tipo,&e); if (cartas[mao[1][i]]==10) strcpy(&tipo,&m); printf("%c %c %s\n",carta(mao[1][i]),toon(mao[1][i]),tipo); } num=0; while ((num!=1)&&(num!=2)) { printf("\nVoc\? quer pedir %s?\n",status[estado+1]); printf("1 - Sim\n"); printf("2 - N\Æo\n"); scanf("%d",&num); }

if (num==2)
cont=FALSE;
}
if (cont==TRUE)
{
pcpensa();
if ((qly>(sorteia(10)+(estado+1)*8+40))&&((qly<(sorteia(10)+(estado+2)*8+40)))||(estado>2))
{
estado++;
last=1;
printf("\nPc aceitou!\n>>");
esp=getch();
}
else
{
if ((qly>(sorteia(10)+(estado+2)*8+40))&&(estado<3))
{
estado++;
last=1;
printf("\nPc aceitou!\n>>");
esp=getch();
pctruca();
}
else
{
continua=FALSE;
pntsrod[1]=3;
printf("\nPc correu!\n>>");
esp=getch();
}
}
}
}
}
[/code]

ja da para se divertir!!!!! :twisted: :evil:

Criado 31 de janeiro de 2005
Ultima resposta 1 de fev. de 2005
Respostas 4
Participantes 3