tty-solitaire/lib/deck.h
2010-04-11 17:15:35 -03:00

62 lines
1.6 KiB
C

#ifndef DECK_H
#define DECK_H
#include "stack.h"
#define NUMBER_OF_CARDS 52
#define STOCK_STARTING_X 1
#define STOCK_STARTING_Y 1
#define WASTE_PILE_STARTING_X 9
#define WASTE_PILE_STARTING_Y 1
#define FOUNDATION_0_STARTING_X 25
#define FOUNDATION_0_STARTING_Y 1
#define FOUNDATION_1_STARTING_X 33
#define FOUNDATION_1_STARTING_Y 1
#define FOUNDATION_2_STARTING_X 41
#define FOUNDATION_2_STARTING_Y 1
#define FOUNDATION_3_STARTING_X 49
#define FOUNDATION_3_STARTING_Y 1
#define MANEUVRE_0_STARTING_X 1
#define MANEUVRE_0_STARTING_Y 7
#define MANEUVRE_1_STARTING_X 9
#define MANEUVRE_1_STARTING_Y 7
#define MANEUVRE_2_STARTING_X 17
#define MANEUVRE_2_STARTING_Y 7
#define MANEUVRE_3_STARTING_X 25
#define MANEUVRE_3_STARTING_Y 7
#define MANEUVRE_4_STARTING_X 33
#define MANEUVRE_4_STARTING_Y 7
#define MANEUVRE_5_STARTING_X 41
#define MANEUVRE_5_STARTING_Y 7
#define MANEUVRE_6_STARTING_X 49
#define MANEUVRE_6_STARTING_Y 7
struct deck {
struct stack *stock;
struct stack *waste_pile;
struct stack *foundation_0;
struct stack *foundation_1;
struct stack *foundation_2;
struct stack *foundation_3;
struct stack *maneuvre_0;
struct stack *maneuvre_1;
struct stack *maneuvre_2;
struct stack *maneuvre_3;
struct stack *maneuvre_4;
struct stack *maneuvre_5;
struct stack *maneuvre_6;
};
void allocate_deck(struct deck **);
void initialize_deck(struct deck *);
void delete_deck(struct deck *);
void set_deck_stacks_coordinates(struct deck *);
void fill_deck(struct deck *);
void shuffle_deck(struct deck *);
void deal_cards(struct deck *);
#endif