/*****************************************************************************
Blackjack Game Code
Copyright (C) Andrew Collington
amnuts@talker.com http://amnuts.talker.com/
Last update: 21st January, 2000
*****************************************************************************/
/* game definitions */
#define DEFAULT_BJ_BET 10
#define USE_MONEY_SYSTEM 0
/* game structures */
struct blackjack_game_struct {
short int deck[52],hand[5],dealer_hand[5],bet,cardpos;
};
typedef struct blackjack_game_struct *BJ_GAME;
char *cards[53][5]={
{ ".-----. ","|~OLA~RS | ","| s | ","| ~OLA~RS| ","`-----' " },
{ ".-----. ","|~OL2~RS | ","| s | ","| ~OL2~RS| ","`-----' " },
{ ".-----. ","|~OL3~RS | ","| s | ","| ~OL3~RS| ","`-----' " },
{ ".-----. ","|~OL4~RS | ","| s | ","| ~OL4~RS| ","`-----' " },
{ ".-----. ","|~OL5~RS | ","| s | ","| ~OL5~RS| ","`-----' " },
{ ".-----. ","|~OL6~RS | ","| s | ","| ~OL6~RS| ","`-----' " },
{ ".-----. ","|~OL7~RS | ","| s | ","| ~OL7~RS| ","`-----' " },
{ ".-----. ","|~OL8~RS | ","| s | ","| ~OL8~RS| ","`-----' " },
{ ".-----. ","|~OL9~RS | ","| s | ","| ~OL9~RS| ","`-----' " },
{ ".-----. ","|~OL10~RS | ","| s | ","| ~OL10~RS| ","`-----' " },
{ ".-----. ","|~OLJ~RS | ","| s | ","| ~OLJ~RS| ","`-----' " },
{ ".-----. ","|~OLQ~RS | ","| s | ","| ~OLQ~RS| ","`-----' " },
{ ".-----. ","|~OLK~RS | ","| s | ","| ~OLK~RS| ","`-----' " },
{ ".-----. ","|~OLA~RS | ","| ~FR~OLd~RS | ","| ~OLA~RS| ","`-----' " },
{ ".-----. ","|~OL2~RS | ","| ~FR~OLd~RS | ","| ~OL2~RS| ","`-----' " },
{ ".-----. ","|~OL3~RS | ","| ~FR~OLd~RS | ","| ~OL3~RS| ","`-----' " },
{ ".-----. ","|~OL4~RS | ","| ~FR~OLd~RS | ","| ~OL4~RS| ","`-----' " },
{ ".-----. ","|~OL5~RS | ","| ~FR~OLd~RS | ","| ~OL5~RS| ","`-----' " },
{ ".-----. ","|~OL6~RS | ","| ~FR~OLd~RS | ","| ~OL6~RS| ","`-----' " },
{ ".-----. ","|~OL7~RS | ","| ~FR~OLd~RS | ","| ~OL7~RS| ","`-----' " },
{ ".-----. ","|~OL8~RS | ","| ~FR~OLd~RS | ","| ~OL8~RS| ","`-----' " },
{ ".-----. ","|~OL9~RS | ","| ~FR~OLd~RS | ","| ~OL9~RS| ","`-----' " },
{ ".-----. ","|~OL10~RS | ","| ~FR~OLd~RS | ","| ~OL10~RS| ","`-----' " },
{ ".-----. ","|~OLJ~RS | ","| ~FR~OLd~RS | ","| ~OLJ~RS| ","`-----' " },
{ ".-----. ","|~OLQ~RS | ","| ~FR~OLd~RS | ","| ~OLQ~RS| ","`-----' " },
{ ".-----. ","|~OLK~RS | ","| ~FR~OLd~RS | ","| ~OLK~RS| ","`-----' " },
{ ".-----. ","|~OLA~RS | ","| c | ","| ~OLA~RS| ","`-----' " },
{ ".-----. ","|~OL2~RS | ","| c | ","| ~OL2~RS| ","`-----' " },
{ ".-----. ","|~OL3~RS | ","| c | ","| ~OL3~RS| ","`-----' " },
{ ".-----. ","|~OL4~RS | ","| c | ","| ~OL4~RS| ","`-----' " },
{ ".-----. ","|~OL5~RS | ","| c | ","| ~OL5~RS| ","`-----' " },
{ ".-----. ","|~OL6~RS | ","| c | ","| ~OL6~RS| ","`-----' " },
{ ".-----. ","|~OL7~RS | ","| c | ","| ~OL7~RS| ","`-----' " },
{ ".-----. ","|~OL8~RS | ","| c | ","| ~OL8~RS| ","`-----' " },
{ ".-----. ","|~OL9~RS | ","| c | ","| ~OL9~RS| ","`-----' " },
{ ".-----. ","|~OL10~RS | ","| c | ","| ~OL10~RS| ","`-----' " },
{ ".-----. ","|~OLJ~RS | ","| c | ","| ~OLJ~RS| ","`-----' " },
{ ".-----. ","|~OLQ~RS | ","| c | ","| ~OLQ~RS| ","`-----' " },
{ ".-----. ","|~OLK~RS | ","| c | ","| ~OLK~RS| ","`-----' " },
{ ".-----. ","|~OLA~RS | ","| ~FR~OLh~RS | ","| ~OLA~RS| ","`-----' " },
{ ".-----. ","|~OL2~RS | ","| ~FR~OLh~RS | ","| ~OL2~RS| ","`-----' " },
{ ".-----. ","|~OL3~RS | ","| ~FR~OLh~RS | ","| ~OL3~RS| ","`-----' " },
{ ".-----. ","|~OL4~RS | ","| ~FR~OLh~RS | ","| ~OL4~RS| ","`-----' " },
{ ".-----. ","|~OL5~RS | ","| ~FR~OLh~RS | ","| ~OL5~RS| ","`-----' " },
{ ".-----. ","|~OL6~RS | ","| ~FR~OLh~RS | ","| ~OL6~RS| ","`-----' " },
{ ".-----. ","|~OL7~RS | ","| ~FR~OLh~RS | ","| ~OL7~RS| ","`-----' " },
{ ".-----. ","|~OL8~RS | ","| ~FR~OLh~RS | ","| ~OL8~RS| ","`-----' " },
{ ".-----. ","|~OL9~RS | ","| ~FR~OLh~RS | ","| ~OL9~RS| ","`-----' " },
{ ".-----. ","|~OL10~RS | ","| ~FR~OLh~RS | ","| ~OL10~RS| ","`-----' " },
{ ".-----. ","|~OLJ~RS | ","| ~FR~OLh~RS | ","| ~OLJ~RS| ","`-----' " },
{ ".-----. ","|~OLQ~RS | ","| ~FR~OLh~RS | ","| ~OLQ~RS| ","`-----' " },
{ ".-----. ","|~OLK~RS | ","| ~FR~OLh~RS | ","| ~OLK~RS| ","`-----' " },
{ ".-----. ","|~FRO~FGX~FRO~FGX~FRO~RS| ","|~FGX~FRO~FGX~FRO~FGX~RS| ","|~FRO~FGX~FRO~FGX~FRO~RS| ","`-----' " }
};
/* prototypes */
BJ_GAME create_blackjack_game(void);
void destruct_blackjack_game(UR_OBJECT);
void play_blackjack(UR_OBJECT);
void show_blackjack_cards(UR_OBJECT,int,int);
int check_blackjack_total(UR_OBJECT,int);