bolts/miscfiles/
bolts/port_redirector/
bolts/userfiles/
/*****************************************************************************
                              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);