Skip to content
Snippets Groups Projects
Commit ea285411 authored by Matheus Rotondano De Camargo's avatar Matheus Rotondano De Camargo
Browse files

Upload new file

parent 38d16a67
Branches
No related tags found
No related merge requests found
#ifndef H_BARALHO_H
#define H_BARALHO_H
#include <stdio.h>
#include <stdlib.h>
#include <strings.h>
#include <time.h>
#define NAIPES 4
#define CARTAS 13
#define MAGIC_LEN 4 /* 2 letras, 1 '\n', 1 '\0' */
#define PPMEXT "ppm"
static char vals[13] = {'A', '2', '3', '4', '5', '6', '7', '8', '9', 'D', 'J', 'Q', 'K'};
static char naipes[4] = {'P', 'C', 'E', 'O'};
int load;
FILE *ENTRADA;
typedef struct {
unsigned char R, G, B;
} Pixel;
typedef struct {
char valor, naipe;
/* É necessário alocar o espaço da imagem.
img é um ponteiro para um vetor que guarda os dados
da carta (pixels), com exceção do cabeçalho. */
Pixel *img;
} Carta;
typedef struct {
char magic[MAGIC_LEN];
int w, h, maxval;
} Cabecalho;
/* Baralho é do tipo Carta**, o baralho é uma matriz de cartas.
É a imagem original com "recortes" nas cartas. */
typedef Carta **Baralho;
/* Enquanto Baralho é a imagem original "recortada", Monte são as
as cartas propriamente ditas empilhadas, porem sem a imagem. */
typedef char **Monte;
typedef struct tm tm;
Cabecalho cabeca;
Carta NADA;
Baralho init (char *imgFile, int cw, int ch, char primCarta, char *ordNaipes);
Baralho geraBaralho (Baralho cartas);
Carta getCarta (char naipe, char valor, Baralho cartas);
void geraCarta (char naipe, char valor, Baralho cartas);
Monte criaMonte (int n);
Carta tiraCarta (Monte deck, Baralho bar);
Monte colocaCarta (int n, Carta c, Monte deck);
void troca (Monte deck, int i, int ir);
Monte embaralha (Monte deck);
#endif
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment