63 lines
1.5 KiB
C
63 lines
1.5 KiB
C
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
#define ToString(a) #a
|
|
|
|
typedef enum Naipe { Ouro, Espada, Pau, Copa } Naipe;
|
|
|
|
typedef enum Cara {
|
|
Duque,
|
|
Terno,
|
|
Quadra,
|
|
Quina,
|
|
Sexta,
|
|
Dama,
|
|
Valete,
|
|
Rei,
|
|
Visca,
|
|
As
|
|
} Cara;
|
|
|
|
typedef struct Carta {
|
|
Naipe naipe;
|
|
Cara cara;
|
|
int valor;
|
|
} Carta;
|
|
|
|
const Carta cartas[] = {{.naipe = Copa, .cara = Duque, .valor = 0},
|
|
{.naipe = Copa, .cara = Terno, .valor = 0},
|
|
{.naipe = Copa, .cara = Quadra, .valor = 0},
|
|
{.naipe = Copa, .cara = Quina, .valor = 0},
|
|
{.naipe = Copa, .cara = Sexta, .valor = 0},
|
|
{.naipe = Copa, .cara = Dama, .valor = 2},
|
|
{.naipe = Copa, .cara = Valete, .valor = 3},
|
|
{.naipe = Copa, .cara = Rei, .valor = 4},
|
|
{.naipe = Copa, .cara = Visca, .valor = 10},
|
|
{.naipe = Copa, .cara = As, .valor = 11}};
|
|
|
|
void printCarta(Carta carta) {
|
|
printf("Carta: cara=%s,naipe=%s,valor=%d", ToString(carta.cara),
|
|
ToString(carta.naipe), carta.valor);
|
|
}
|
|
|
|
#define __S(X) #X
|
|
#define _S(X) __S(X)
|
|
|
|
struct Point {
|
|
int x;
|
|
int y;
|
|
};
|
|
|
|
#define CAGALHAO 1
|
|
|
|
int main(void) {
|
|
|
|
struct Point pontos[] = {{1, 2}, {3, 4}};
|
|
|
|
printf("Hello cards\n");
|
|
printCarta(cartas[0]);
|
|
printf("Hello bostinha: " _S(1) "\n");
|
|
printf("Cagalhao: " __S(CAGALHAO) "\n");
|
|
printf("Cagalhao: " _S(CAGALHAO) "\n");
|
|
printf("Size array: %d", sizeof(pontos) / sizeof(pontos[0]));
|
|
}
|