2010-04-03 21:44:59 -03:00
|
|
|
#ifndef STACK_H
|
|
|
|
#define STACK_H
|
|
|
|
|
2010-04-04 21:54:22 -03:00
|
|
|
#include "card.h"
|
|
|
|
|
2010-04-10 00:32:25 -03:00
|
|
|
#define MANEUVRE_STACKS_START_Y 7
|
|
|
|
|
2010-04-03 21:44:59 -03:00
|
|
|
struct stack {
|
|
|
|
struct card *card;
|
|
|
|
struct stack *next;
|
|
|
|
};
|
|
|
|
|
2010-04-05 04:33:10 -03:00
|
|
|
void allocate_stack(struct stack **);
|
|
|
|
void initialize_stack(struct stack *);
|
2010-04-06 21:59:21 -03:00
|
|
|
void delete_stack(struct stack *);
|
2010-04-03 22:12:42 -03:00
|
|
|
bool empty(struct stack *);
|
|
|
|
int length(struct stack *);
|
2010-04-04 03:20:56 -03:00
|
|
|
void push(struct stack **, struct card *);
|
2010-04-04 04:15:43 -03:00
|
|
|
struct stack *pop(struct stack **);
|
2010-04-10 00:32:25 -03:00
|
|
|
bool maneuvre_stack(struct stack *);
|
|
|
|
void refresh_card_coordinates(struct stack *, struct stack *);
|
2010-04-09 00:49:17 -03:00
|
|
|
void move_card(struct stack **, struct stack **);
|
2010-04-03 22:12:42 -03:00
|
|
|
|
2010-04-03 21:44:59 -03:00
|
|
|
#endif
|