You are on page 1of 5

#include <stdlib.

h>
#include <stdio.h>

#include <Windows.h>

//coloca o Cursor na posicao X,Y
BOOL setxy(int x, int y)
{
COORD c = { x,y };
return SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), c);
}

void interior(int x,int y,char letra,char nipe){
setxy(x+1,y+1);
printf("%c",letra);
setxy(x+3,y+3);
printf("%c",nipe);
setxy(x+5,y+5);
printf("%c",letra);
}

//desenha um retangulo com linhas duplas na posicao X,Y com as dimensoes Width e
Height
void drawrect(int x, int y, int width, int height)
{
int i;
setxy(x, y);
printf("%c", 201);
for ( i = 1; i < width; i++) {
printf("%c", 205);
}

printf("%c", (187));
setxy(x, height + y);
printf("%c", (200));

for ( i = 1; i < width; i++) {
printf("%c", (205));
}

printf("%c", (188));

for ( i = y + 1; i < height + y; i++)
{
setxy(x, i);
printf("%c", (186));

setxy(x + width, i);
printf("%c", (186));

}
}

h> #include <time.j<13. } } } void randcard(int numerojogador.h> #include <Windows.j=0.nipe).char nipe) { drawrect(x. interior(x.i++){ if(cartas[i]==carta) flag=1.flag=0.y.letra.int x.187 canto cima pa baixo direita 188 baixo pa cima direita 205 . int i=0.int height.int width.(i<((j)*4)+4).i++){ //ciclo para ir enchendo um vetor com 4 valor iguais de 0 a 10 if(j<10) baralho[i]=j+1.int* cartas.h> #include <stdlib.h" #define NOME 50 #define WIDTH 6 #define HEIGHT 6 //186| .void desenho(int x. .height).h> #include "lab. carta = (int)rand()%52. for(j=0.int y. //verificar se existem cartas iguais do{ flag=0. int carta=0. //gera uma carta de 0 a 51 if(numerocasa<numerojogador){ //verifica��o para ver quem tem uma jogada mais avan�ada for(i=0.char jogador){ srand(time(NULL)). } #include <stdio. 200 baixo pa cima esquerda 201 cima pa baixo esquerda void setValueBaralho(int* baralho){ int i=0.j++){ for(i=j*4.int y. int* casa. else baralho[i]=10.j=0.int numerocasa.i<(numerojogador-1).width.char letra.y.

WIDTH.HEIGHT.HEIGHT.'3'. } } else { for(i=0.HEIGHT.HEIGHT.HEIGHT.break.4).y.break.WIDTH.WIDTH.4). case 22: desenho(x.WIDTH.'5'.4).y.break. //sair do ciclo quando a flag for 0 //atribuir valores aos vetores mediando que jogador �.6).break.break.'6'.WIDTH.WIDTH.break.break.5).HEIGHT. case 13: desenho(x.y.6).break.WIDTH.'3'.break.HEIGHT. case 9: desenho(x. no caso de haver mete flag a 1 flag=1.HEIGHT. } } }while(flag==1). //desenho das cartas switch(carta){ //A case 0: desenho(x.break. //3 case 8: desenho(x.'4'.WIDTH. case 1: desenho(x.y.i++){ if(cartas[i]==carta) flag=1.3).3).break.6). case 3: desenho(x. //6 case 20: desenho(x.'3'.y.HEIGHT.HEIGHT.y.'3'.HEIGHT.break.WIDTH.y.break.WIDTH.5).break.3).y. case 2: desenho(x.'2'.HEIGHT. //4 case 12: desenho(x.WIDTH.y.y.break.y.WIDTH.break. .HEIGHT.WIDTH.'2'.HEIGHT. case 21: desenho(x.'A'.WIDTH.y.6).break.'6'. case 15: desenho(x.y.3).break.WIDTH.'2'.HEIGHT.5). case 11: desenho(x. case 19: desenho(x.break.WIDTH.5).HEIGHT.HEIGHT.HEIGHT.'6'.WIDTH.y.y. case 7: desenho(x. if(jogador=='c') casa[(numerocasa-1)]=carta. case 14: desenho(x.WIDTH. case 17: desenho(x.WIDTH.4).y. //7 case 24: desenho(x.3).'5'.3).break. case 10: desenho(x.'4'.break.break.y.6).4).break. //2 case 4: desenho(x.y. case 6: desenho(x.'A'.5). if(casa[i]==carta) //percorrer o vetor para ver se ha cartas iguais.'2'.'5'.WIDTH.break.HEIGHT.y.HEIGHT.break.4). else cartas[(numerojogador-1)]=carta.3).HEIGHT.HEIGHT.y.WIDTH.y.HEIGHT.HEIGHT.'5'.WIDTH.'6'.y.i<(numerocasa-1). case 5: desenho(x.'A'. //5 case 16: desenho(x.y.WIDTH. if(casa[i]==carta) flag=1. case 23: desenho(x. case 18: desenho(x.'A'.5).'7'.WIDTH.WIDTH.6).HEIGHT.y.'4'.y.'4'.

HEIGHT.y. case 37: desenho(x.HEIGHT.WIDTH.y.'D'.HEIGHT. case 35: desenho(x.3).WIDTH. } } int main() { char nome[NOME] = "".break.break. total_jogador=0. case 34: desenho(x.HEIGHT.'Q'.HEIGHT.y.HEIGHT.3). case 38: desenho(x.y. setxy(25.5).WIDTH.'7'.'7'.break.'Q'. int i=0.WIDTH.'D'.'7'.HEIGHT.WIDTH.WIDTH.break.y.break.y.HEIGHT.'K'. //J case 40: desenho(x.WIDTH.cartascasa[7]={-1}.HEIGHT.WIDTH.'8'.break. case 25: desenho(x.break. //9 case 32: desenho(x. case 29: desenho(x.y.'Q'.break.HEIGHT.5).WIDTH.y. case 33: desenho(x.break.HEIGHT. case 39: desenho(x.'9'.'9'.4).5).'9'. case 46: desenho(x.break.HEIGHT.break. setxy(15.HEIGHT.WIDTH. case 27: desenho(x.break.6).y.WIDTH.HEIGHT.break. int creditos=0.'Q'.break.'8'.3).4). //10 case 36: desenho(x. printf("10").5).break.break.WIDTH.HEIGHT.y.HEIGHT.4).y.break.3). //K case 48: desenho(x.6).y.HEIGHT.6).y.3).j=0. printf("JOGADOR : ").4).y.HEIGHT.6).'9'.'8'.break.WIDTH.WIDTH.WIDTH.WIDTH.y.y.5).'K'.HEIGHT. case 47: desenho(x.break. case 41: desenho(x. case 50: desenho(x.'D'.WIDTH.3).break.WIDTH.WIDTH.'J'.6).6).y.HEIGHT. case 31: desenho(x.'J'. //Q case 44: desenho(x.WIDTH.5). total_casa=0.6).break.'D'.y.6).WIDTH.'8'.y. case 43: desenho(x.break. case 49: desenho(x.WIDTH.'J'.y.y.5). case 30: desenho(x.break. case 51: desenho(x.HEIGHT. //8 case 28: desenho(x.y.HEIGHT.'J'.y.HEIGHT. case 26: desenho(x. int cartasjogador[7]={-1}.y.HEIGHT.HEIGHT.HEIGHT.y. .WIDTH.break.4).6). case 45: desenho(x.WIDTH.WIDTH.WIDTH.4).break.'K'.4). int baralho[51]={0}.WIDTH. setValueBaralho(baralho).HEIGHT.break.y. aposta=0.'K'. case 42: desenho(x.y.break.

}while(aposta<1). printf("CASA : "). /*printf("Introduza o nome do jogador: "). printf("%s .0.cartascasa.15). printf("10").6.7.'j').total_jogador).cartascasa.15.cartasjogador.cartascasa.'j'). system("cls").cartasjogador.21. setxy(15.12.&aposta).cartascasa.'j').cartasjogador.15. //gerar e desenhar cartas para o jogador randcard(2.'j').7. system("cls").0. randcard(1.0. do{ printf("Introduza o valor da sua aposta: ").i<3. } .0.1.%d\n". setxy(22.21.cartasjogador.cartasjogador.0.15). //total_casa+=baralho[cartascasa[i]]. /*randcard(2.cartasjogador.'j').1. randcard(4. } //printf("%d".0.cartasjogador.*/ return 0.0.'c'). randcard(3. scanf("%d".'j').7.2.2.cartasjogador.cartascasa. for(i=0.cartascasa.cartascasa. randcard(4.18.16. randcard(4. randcard(3.*/ setxy(40.40).cartascasa. &nome).nome.i++){ //fazer a soma dos totais de pontos de cada total_jogador+=baralho[cartasjogador[i]].'c'). scanf(" %50[a-zA-z ]s".7. randcard(3.0.16.cartascasa.'j').6.cartasjogador.creditos).1.