[comp.sources.3b1] v01i030: klondike card game, Part02/04

tkacik@kyzyl.mi.org (Tom Tkacik) (06/19/91)

Submitted-by: tkacik@kyzyl.mi.org (Tom Tkacik)
Posting-number: Volume 1, Issue 30
Archive-name: klondike/part02


Here is part 2 of klondike.
#--------------------------------CUT HERE-------------------------------------
#! /bin/sh
#
# This is a shell archive.  Save this into a file, edit it
# and delete all lines above this comment.  Then give this
# file to sh by executing the command "sh file".  The files
# will be extracted into the current directory owned by
# you with default permissions.
#
# The files contained herein are:
#
# -rw-r--r--  1 tkacik  users     18401 Oct  8  1990 klondike.c
# -rw-r--r--  1 tkacik  users     32559 Oct  6  1990 club.c
#
echo 'x - klondike.c'
if test -f klondike.c; then echo 'shar: not overwriting klondike.c'; else
sed 's/^X//' << '________This_Is_The_END________' > klondike.c
X/*
X *	Copyright 1990, Thomas E. Tkacik
X *			tkacik@kyzyl.mi.org
X *
X *	Acknowledgments to Kent Quander allowing me to
X *	 use and distribute his wonderfully drawn playing cards.
X *
X *	Permission is given to copy and distribute for non-profit purposes.
X *
X */
X
X#include <stdio.h>
X#include <sys/window.h>
X#include <kcodes.h>
X#include <sys/mouse.h>
X#include "klondike.h"
X
Xdouble drand48();
Xlong   lrand48();
Xvoid   srand48();
Xlong   time();
Xlong   atol();
Xint    getpid();
Xvoid   exit();
X
X/* number used to generate the current board */
Xlong board;
X
X/* number of card remaining in the deck */
Xint indeck;
X
X/* number of cards in the deck that have been turned over */
Xint over;
X
X/* card stack selected by the player */
Xint src_stack;
X
X/* card selected by the player */
Xint ucard;
X
X/* 1 if dragging cards around with the mouse */
Xint dragging = 0;
X
X/* 1 if vegas style of play -- turn one card at a time, go through deck once */
Xint vegas_style = 0;
X
X/* one or more cards that will get dragged by the mouse */
Xunsigned short cards[12*FACE_SEP+CARD_H][5];
X
X/* size of cards to be dragged, in pixels */
Xint h_cards, w_cards;
X
Xmain(argc, argv)
Xint argc;
Xchar *argv[];
X{
X	int c, errflg = 0;
X	extern int optind;
X	extern char *optarg;
X
X     /* initialize random number generator */
X
X	srand48(getpid()+time((long *)0));
X
X     /* let board be the first number in the random sequence */
X     /*  this will vary more than (getpid+time) does */
X
X	board = lrand48()>>8;  /* use only high 24 bits */
X	srand48(board);
X
X
X     /* parse arguments */
X
X	while((c = getopt(argc, argv, "vn:")) != EOF) {
X		switch(c) {
X			case 'n':
X				board = atol(optarg);
X				srand48(board);
X				break;
X			case 'v':
X				vegas_style = 1;
X				break;
X			default:
X				errflg = 1;
X		}
X	}
X	if(errflg == 1) {
X		fprintf(stderr, "Usage: %s [-v] [-n #]\n", argv[0]);
X		exit(1);
X	}
X			
X	initwindow();
X
X	set_up();
X
X	play();
X
X	leave();
X
X	return(0);
X}
X
X/*
X * play another game
X */
X
Xnew_game()
X{
X     /* use only the high 24 significant bits of board */
X
X	board = lrand48()>>8;
X
X	set_up();
X}
X
X/*
X * set up the board for a new game
X */
X
Xset_up()
X{
X	char prompt[40];
X
X     /* clear the playing area */
X
X	wrastop(wn, (unsigned short *)0, 0, (unsigned short *)0, 0,
X		0, 0, SIDEBORDER, TOPBORDER, WIND_W-(2*SIDEBORDER),
X		WIND_H-(2*TOPBORDER), SRCPAT, DSTSRC, patblack);
X
X	sprintf(prompt, "Hand: %ld        ", board);
X	wprompt(wn, prompt);
X
X	srand48(board);
X	shuffle();
X	setup();
X	dragging = 0;
X}
X
X/*
X * take user input and play the game
X */
X
Xplay()
X{
X	int c;
X
X	for(;;) {
X		c = wgetc(wn);
X		switch(c) {
X			case F1:
X				vegas_style = 1;
X				new_game();
X				break;
X			case F2:
X				vegas_style = 0;
X				new_game();
X				break;
X			case F3:
X				set_up();
X				break;
X			case F4:
X			case Exit:
X				quit();
X				return;
X				break;
X			case Mouse:
X				domouse();
X				break;
X			default:
X			     /* ignore all other input */
X				break;
X		}
X	}
X}
X
X/*
X * when the quit button is pushed
X */
X
Xquit()
X{
X	wcmd(wn, "quit");
X	wprompt(wn, "                                      ");
X}
X
X/*
X * shuffle the cards in the deck (in place)
X * 
X * while there are unshuffled cards,
X *   select a random unshuffled card
X *   remove it from the unshuffled and put it in the shuffled part
X */
X
Xshuffle()
X{
X	int i;
X
X     /* put the cards in the deck unshuffled */
X
X	for(i=0; i<52; i++) {
X		deck[i] = i;
X	}
X
X     /* shuffle them */
X
X	for(i=51; i>=1; --i) {
X		int x, temp;
X
X	     /* pick a card, any card */
X
X		x = drand48()*(i+1);
X
X	     /* remove it from the unshuffled deck and put it */
X	     /* into the shuffled deck by */
X	     /* swapping card i with card x */
X
X		temp = deck[i];
X		deck[i] = deck[x];
X		deck[x] = temp;
X	}
X}
X
X/*
X * deal the cards and show the initial card setup
X */
X
Xsetup()
X{
X	int i, j;
X
X	int x_pos, y_pos;
X
X	indeck = 52;	/* cards still in the deck */
X	over = 0;	/* cards turned over */
X
X     /* initialize the columns of the tableau */
X
X	for(i = 0; i<7; i++) {
X		for(j=0; j<7; j++) {
X			down[i][j] = -1;
X		}
X		for(j=0; j<13; j++) {
X			up[i][j] = -1;
X		}
X	}
X
X     /* there are no outcards initially */
X
X	for(i = 0; i<4; i++) {
X		outcard[i] = 0;
X	}
X
X     /* deal the cards */
X
X	for(i = 0; i<7; i++) {
X
X		numdown[i] = i;
X		numup[i] = 1;
X
X	     /* deal up card */
X
X		indeck -= 1;
X
X		up[i][0] = deck[indeck];
X		deck[indeck] = -1;
X
X	     /* display up card */
X
X		x_pos = LEFT+((CARD_W+ROW_SEP)*i);
X		y_pos = TOP + CARD_H + SUIT_SEP + (BACK_SEP*numdown[i]);
X
X		wrastop(wn, images[up[i][0]], 10, (unsigned short *)0, 0,
X				0, 0, x_pos, y_pos,
X				CARD_W, CARD_H, SRCSRC, DSTSRC,
X				(unsigned short *)0);
X
X	     /* deal down cards */
X
X		for(j=i+1; j<7; j++) {
X
X			indeck -= 1;
X
X			down[j][i] = deck[indeck];
X			deck[indeck] = -1;
X
X		     /* display back of card */
X
X			x_pos = LEFT+((CARD_W+ROW_SEP)*j);
X			y_pos = TOP + CARD_H + SUIT_SEP + (BACK_SEP*i);
X
X			wrastop(wn, back[0], 10, (unsigned short *)0, 0,
X				0, 0, x_pos, y_pos,
X				CARD_W, CARD_H, SRCSRC, DSTSRC,
X				(unsigned short *)0);
X		}
X		
X
X	}
X
X     /* turn over the remainder of the deck */
X
X	wrastop(wn, back[0], 10, (unsigned short *)0, 0, 0, 0,
X		DECK, TOP + (CARD_H/2) + CARD_H + FACE_SEP,
X		CARD_W, CARD_H, SRCSRC, DSTSRC, (unsigned short *)0);
X
X     /* there are no cards showing yet */
X
X	wrastop(wn, blank[0], 10, (unsigned short *)0, 0, 0, 0, 
X		DECK, TOP + (CARD_H/2),
X		CARD_W, CARD_H, SRCSRC, DSTSRC, (unsigned short *)0);
X
X     /* blanks showing where to play the cards */
X
X	for(i=0; i<7; i+=2) {
X		wrastop(wn, blank[0], 10, (unsigned short *)0, 0, 0, 0,
X			LEFT+((CARD_W+ROW_SEP)*i), TOP,
X			CARD_W, CARD_H, SRCSRC, DSTSRC, (unsigned short *)0);
X	}
X
X     /* accept input from the mouse */
X
X	resetmouse(0, 0, MSDOWN);
X
X	dragging = 0;
X	wcmd(wn, " ");
X}
X
X/*
X * when one of the mouse buttons is pushed
X */
X
Xdomouse()
X{
X	int x, y, buttons, reason;
X#ifdef BADMOUSE
X	static old_buttons = 0;
X#endif
X
X     /* read the mouse info */
X
X	wreadmouse(wn, &x, &y, &buttons, &reason);
X
X     /* only interested in button pushes, not releases */
X
X#ifdef BADMOUSE
X	if((~old_buttons & buttons) || (reason & MSDOWN)) {
X#else
X	if(reason & MSDOWN) {
X#endif
X		if(buttons & MBUTL) {	/* left button down */
X
X		     /* if not dragging a card, start */
X
X			if(!dragging) {
X    	 		     /* what stack of cards did the player select */
X
X				src_stack = stack(x, y);
X
X			     /* was a visible card selected? */
X
X				if(src_stack >= 0){
X				     /* start dragging the card */
X
X					dragging = 1;
X					get_drag_region(src_stack);
X					start_dragging(x,y);
X					resetmouse(x, y, MSDOWN|MSOUT);
X				} else {
X				     /* maybe we should show the next card? */
X
X					if(src_stack == -1) {
X						turn_deck();
X					} else {
X						beep();
X					}
X					resetmouse(0, 0, MSDOWN);
X				}
X			} else {
X			     /* player has made a move */
X			     /* stop dragging card */
X
X				dragging = 0;
X				stop_dragging();
X				if(place(x,y) < 0) {
X					put_drag_region(src_stack);
X					beep();
X				}
X				resetmouse(0, 0, MSDOWN);
X			}
X		} else if(buttons & MBUTM) {	/* middle button down */
X		     /* unselect the selected card */
X
X			if(dragging) {
X				dragging = 0;
X				stop_dragging();
X				put_drag_region(src_stack);
X				resetmouse(0, 0, MSDOWN);
X			}
X
X		} else if(buttons & MBUTR) {	/* right button down */
X
X			if(!dragging) {
X			     /* what stack of cards did the player select */
X
X				src_stack = stack(x, y);
X
X			     /* was a card selected that can be moved */
X			     /*  the outstack? */
X
X				if((src_stack >= 0) && (match(src_stack, 8))) {
X					playcard(src_stack);
X				} else {
X					beep();
X				}
X				resetmouse(0, 0, MSDOWN);
X			} else {
X				beep();
X				resetmouse(x, y, MSDOWN|MSOUT);
X			}
X		}
X
X	}
X
X     /* or if the the mouse moved */
X
X	else if(reason & MSOUT) {
X
X		if(dragging) {
X		     /* drag card with mouse pointer */
X
X			keep_dragging(x,y);
X			resetmouse(x, y, MSDOWN|MSOUT);
X		}
X	}
X
X#ifdef BADMOUSE
X	old_buttons = buttons;
X#endif
X}
X
X/*
X * what stack of cards was selected
X * -2 is error
X * -1 is unturned deck
X * 0 is the visible deck
X * 1-7 is a column
X */
X
Xint
Xstack(x, y)
Xint x, y;
X{
X     /* is it the unturned deck? */
X
X	if((x > DECK) && (x < (DECK+CARD_W))&&
X	   (y > TOP+(CARD_H/2)+CARD_H+FACE_SEP) &&
X	   (y < TOP+(CARD_H/2)+CARD_H+CARD_H+FACE_SEP)) {
X		return(-1);
X
X     /* maybe the visible deck? */
X
X	} else if((x > DECK) && (x < (DECK+CARD_W)) &&
X	   	  (y > TOP+(CARD_H/2)) && (y < TOP+(CARD_H/2)+CARD_H)) {
X
X	     /* if no cards from the deck are showing then its an error */
X
X		if(over > 0) {
X			ucard = deck[indeck-over];
X			return(0);
X		} else {
X			return(-2);
X		}
X
X     /* perhaps a column of the tableau? */
X
X	} else if((x > LEFT) && (y > TOP+CARD_H+SUIT_SEP)) {
X		int i;
X	     /* which column of cards? */
X
X		x -= LEFT;
X		i = (x / (CARD_W+ROW_SEP)) + 1;
X		x =       x % (CARD_W+ROW_SEP);
X		if((x > CARD_W) || (i > 7) || (numup[i-1]==0)) {
X			return(-2);
X		} else {
X			ucard = up[i-1][numup[i-1]-1];
X			return(i);
X		}
X	}
X
X     /* oops, it's none of the above */
X      
X	return(-2);
X}
X
X/*
X * get the cards from the selected column
X */
X
Xget_drag_region(col)
Xint col;
X{
X     /* a card from the stock */
X
X	if(col == 0) {
X
X	     /* size of the drag region */
X
X		h_cards = CARD_H;
X		w_cards = CARD_W;
X
X	     /* grab the card */
X
X		wrastop(wn, (unsigned short *)0, 0, cards[0], 10,
X			DECK, TOP + (CARD_H/2), 0, 0,
X			CARD_W, CARD_H, SRCSRC, DSTSRC, (unsigned short *)0);
X
X	     /* show the card below it, if there is one */
X
X		if(over > 1) {
X			wrastop(wn, images[deck[indeck-(over-1)]], 10,
X				(unsigned short *)0, 0,
X				0, 0, DECK, TOP + (CARD_H/2),
X				CARD_W, CARD_H, SRCSRC, DSTSRC,
X				(unsigned short *)0);
X		}
X		else {
X			wrastop(wn, blank[0], 10, (unsigned short *)0,
X				0, 0, 0, DECK, TOP + (CARD_H/2),
X				CARD_W, CARD_H, SRCSRC, DSTSRC,
X				(unsigned short *)0);
X
X		}
X	}
X
X     /* or from one of the columns */
X
X	else {
X
X	     /* the column arrays all begin at 0, not 1 */
X
X		col -= 1;
X
X	     /* size of the drag region */
X
X		h_cards = CARD_H + (numup[col]-1)*FACE_SEP;
X		w_cards = CARD_W;
X
X	     /* grab the up cards in this column */
X
X		wrastop(wn, (unsigned short *)0, 0, cards[0], 10,
X			LEFT+((CARD_W+ROW_SEP)*col),
X			TOP + CARD_H + SUIT_SEP + (BACK_SEP*numdown[col]),
X			0, 0, w_cards, h_cards,
X			SRCSRC, DSTSRC, (unsigned short *)0);
X
X	     /* black out where the cards where */
X
X		wrastop(wn, (unsigned short *)0, 0, (unsigned short *)0, 0,
X			0, 0, LEFT+((CARD_W+ROW_SEP)*col),
X			TOP + CARD_H + SUIT_SEP + (BACK_SEP*numdown[col]),
X			w_cards, h_cards,
X			SRCPAT, DSTSRC, patblack);
X
X	     /* redraw the top down card, if there is one */
X
X		if(numdown[col] > 0) {
X			wrastop(wn, back[0], 10, (unsigned short *)0, 0,
X				0, 0, LEFT+((CARD_W+ROW_SEP)*col),
X				TOP + CARD_H + SUIT_SEP +
X					(BACK_SEP*(numdown[col]-1)),
X				CARD_W, CARD_H, SRCSRC, DSTSRC,
X				(unsigned short *)0);
X		}
X	}
X
X}
X
X/*
X * put the selected cards back where they came from
X */
X
Xput_drag_region(col)
Xint col;
X{
X     /* a card from the stock */
X
X	if(col == 0) {
X		wrastop(wn, cards[0], 10, (unsigned short *)0, 0, 0, 0,
X			DECK, TOP + (CARD_H/2),
X			w_cards, h_cards, SRCSRC, DSTSRC, (unsigned short *)0);
X	}
X
X     /* or from one of the columns */
X
X	else {
X
X	     /* the column arrays all begin at 0, not 1 */
X
X		col -= 1;
X
X	     /* put back the up cards in this column */
X
X		wrastop(wn, cards[0], 10, (unsigned short *)0, 0, 0, 0,
X			LEFT+((CARD_W+ROW_SEP)*col),
X			TOP + CARD_H + SUIT_SEP + (BACK_SEP*numdown[col]),
X			w_cards, h_cards, SRCSRC, DSTSRC, (unsigned short *)0);
X	}
X}
X
X/*
X * turn up the next cards from the stock
X */
X
Xturn_deck()
X{
X	int turn = (vegas_style ? 1 : 3);
X
X     /* are there any more to turn over? */
X
X	if((indeck == 0) || (vegas_style && (over == indeck))) {
X		beep();
X
X     /* are all cards showing? hide them all */
X
X	} else if(!vegas_style && (over == indeck)) {
X	     /* hide all of the cards */
X
X		over = 0;
X		wrastop(wn, blank[0], 10, (unsigned short *)0, 0, 0, 0,
X			DECK, TOP + (CARD_H/2),
X			CARD_W, CARD_H, SRCSRC, DSTSRC, (unsigned short *)0);
X		wrastop(wn, back[0], 10, (unsigned short *)0, 0, 0, 0,
X			DECK, TOP + (CARD_H/2) + CARD_H + FACE_SEP,
X			CARD_W, CARD_H, SRCSRC, DSTSRC, (unsigned short *)0);
X
X     /* fewer than three showing, turn them all up */
X
X	} else if(over + turn >= indeck) {
X		over = indeck;
X		wrastop(wn, images[deck[0]], 10, (unsigned short *)0, 0, 0, 0,
X			DECK, TOP + (CARD_H/2),
X			CARD_W, CARD_H, SRCSRC, DSTSRC, (unsigned short *)0);
X		wrastop(wn, blank[0], 10, (unsigned short *)0, 0, 0, 0,
X			DECK, TOP + (CARD_H/2) + CARD_H + FACE_SEP,
X			CARD_W, CARD_H, SRCSRC, DSTSRC, (unsigned short *)0);
X
X     /* turn up the next cards */
X
X	} else {
X		over += turn;
X		wrastop(wn, images[deck[indeck-over]], 10,
X			(unsigned short *)0, 0, 0, 0,
X			DECK, TOP + (CARD_H/2),
X			CARD_W, CARD_H, SRCSRC, DSTSRC, (unsigned short *)0);
X		wrastop(wn, back[0], 10, (unsigned short *)0, 0, 0, 0,
X			DECK,TOP + (CARD_H/2) + CARD_H + FACE_SEP,
X			CARD_W, CARD_H, SRCSRC, DSTSRC, (unsigned short *)0);
X	}
X}
X
X/*
X * determine destination column, and move the cards there
X * if the cards do not match, return -1
X */
X
Xplace(x,y)
Xint x, y;
X{
X	int dst_column;
X	if((x > LEFT) && (y > TOP+CARD_H+SUIT_SEP)) {
X	     /* which column of cards? */
X
X		x -= LEFT;
X		dst_column = (x / (CARD_W+ROW_SEP)) + 1;
X		x =      x % (CARD_W+ROW_SEP);
X
X	     /* is it a legal column, and do the cards match */
X
X		if(((x < CARD_W)&&(dst_column <= 7))&&
X			    (match(src_stack, dst_column))) {
X		     /* yes, move them */
X
X			movecard(src_stack, dst_column);
X
X			return(0);
X		} else {
X			return(-1);
X		}
X	} else {
X		return(-1);
X	}	
X}
X
X/*
X * does the card on the bottom of column x match that on top of column y
X * 0 is the deck
X * 8 is the outcard stack
X */
X
Xmatch(x,y)
Xint x,y;
X{
X	int color1, color2;
X	int value1, value2;
X	int suit1,  suit2;
X	int card1;
X
X	int ok;
X
X     /* what is the bottom card of the selected stack */
X     /* 0 <= x <= 7 --- cannot be from the outcard stack */
X     /* 1 <= y <= 8 --- cannot be put on the deck */
X	
X	if(x == 0) {
X		card1  = deck[indeck-over];
X	} else if(y == 8) {
X		card1 = up[x-1][numup[x-1]-1];
X	} else {
X		card1  = up[x-1][0];
X	}
X	color1 = COLOR(card1);
X	value1 = VALUE(card1);
X	suit1  =  SUIT(card1);
X
X     /* what is the top card of the destination stack */
X
X	if(y == 8) {
X	     /* move to the output stack */
X
X		color2 = color1;
X		suit2  = suit1;
X		value2 = outcard[suit2];
X
X	     /* outcard must be 1 less than played card */
X
X		ok = (value1 == (value2+1))?1:0;
X	} else {
X	     /* move to one of the columns */
X
X		if(numup[y-1] > 0) {
X			color2 = COLOR(up[y-1][numup[y-1]-1]);
X			value2 = VALUE(up[y-1][numup[y-1]-1]);
X			suit2  =  SUIT(up[y-1][numup[y-1]-1]);
X
X		     /*they must be different colors and must differ by one*/
X
X			ok = ((color1 != color2) && ((value1+1) == value2))?1:0;
X		} else {
X		     /* the column is empty */
X		     /* new card must be a king */
X
X			ok = (value1 == 13) ? 1 : 0;
X		}
X	}
X
X	return(ok);
X}
X
X/*
X * move cards from column x to column y
X */
X
X
Xmovecard(x, y)
Xint  x, y;
X{
X	y -= 1;
X
X     /* place the card images in the proper column */
X
X	wrastop(wn, cards[0], 10, (unsigned short *)0, 0, 0, 0,
X		LEFT+((CARD_W+ROW_SEP)*y),
X		TOP + CARD_H + SUIT_SEP +
X			(BACK_SEP*numdown[y]) + (FACE_SEP*numup[y]),
X		w_cards, h_cards, SRCSRC, DSTSRC, (unsigned short *)0);
X
X     /* card came from the stock */
X
X	if(x == 0) {
X		int i;
X
X	     /* add to column */
X
X		up[y][numup[y]] = deck[indeck-over];
X		numup[y] += 1;
X
X	     /* remove card from deck */
X
X		for(i=indeck-over; i<indeck-1; i++) {
X			deck[i] = deck[i+1];
X		}
X		deck[indeck] = -1;
X		indeck -= 1;
X		over -= 1;
X
X     /* cards came from a column of the tableau */
X
X	} else {
X		int i;
X
X	     /* move all up cards from x to y */
X
X		x -= 1;
X
X		for(i=0; i<numup[x]; i++) {
X			up[y][numup[y]] = up[x][i];
X			up[x][i] = -1;
X			numup[y] += 1;
X		}
X		numup[x] = 0;
X		update_column(x);
X	}
X}
X
X/*
X * move card from column x to outcard area
X */
X
Xplaycard(x)
Xint x;
X{
X	int card, value, suit;
X	int i;
X
X     /* card is from the stock */
X
X	if(x == 0) {
X		card  = deck[indeck-over];
X
X     /* card is from the tableau */
X
X	} else {
X		card  = up[x-1][numup[x-1]-1];
X	}
X	value = VALUE(card);
X	suit  =  SUIT(card);
X
X
X     /* place outcard */
X
X	outcard[suit] = value;
X	wrastop(wn, images[card], 10, (unsigned short *)0, 0, 0, 0,
X		LEFT+((CARD_W+ROW_SEP)*suit*2),
X		TOP, CARD_W, CARD_H, SRCSRC, DSTSRC, (unsigned short *)0);
X
X     /* remove card from stock */
X
X	if(x == 0) {
X		for(i=indeck-over; i<indeck-1; i++) {
X			deck[i] = deck[i+1];
X		}
X		deck[indeck] = -1;
X		indeck -= 1;
X		over -= 1;
X	
X	     /* show next card in the stock */
X
X		if(over > 0) {
X			wrastop(wn, images[deck[indeck-over]], 10,
X				(unsigned short *)0, 0, 0, 0,
X				DECK, TOP + (CARD_H/2),
X				CARD_W, CARD_H, SRCSRC, DSTSRC,
X				(unsigned short *)0);
X		} else {
X			wrastop(wn, blank[0], 10, (unsigned short *)0, 0, 0, 0,
X				DECK, TOP + (CARD_H/2),
X				CARD_W, CARD_H, SRCSRC, DSTSRC,
X				(unsigned short *)0);
X		}
X
X     /* remove card from playing area */
X
X	} else {
X		up[x-1][numup[x-1]-1] = -1;
X		numup[x-1] -= 1;
X		update_column(x-1);
X	}
X
X     /* if there are no cards left, player wins */
X	
X	card = indeck;
X	for(i = 0; i <= 6; i += 1) {
X		card += numup[i];
X	}
X
X	if(card == 0) {
X		if(vegas_style == 1) 
X		   wcmd(wn, "You broke the bank!  Bet you can't do it again?");
X		else
X		   wcmd(wn, "You win this hand!  Think you can do it again?");
X	}
X}
X
X/*
X * turn over the next card, if there is one
X * and redraw the column
X */
X
Xupdate_column(col)
Xint col;
X{
X
X     /* remove the top face up card, we may be moving it to the foundation */
X
X	wrastop(wn, (unsigned short *)0, 0, (unsigned short *)0, 0,
X		0, 0, LEFT+((CARD_W+ROW_SEP)*col),
X		TOP + CARD_H + SUIT_SEP + (BACK_SEP*numdown[col]) +
X			(FACE_SEP*numup[col]),
X		CARD_W, CARD_H, SRCPAT, DSTSRC, patblack);
X
X     /* do we need to turn one over */
X
X	if((numup[col]==0)&&(numdown[col]>0)) {
X	     /* turn over another card */
X
X		up[col][0] = down[col][numdown[col]-1];
X		numup[col] = 1;
X		down[col][numdown[col]-1] = -1;
X		numdown[col] -= 1;
X	}
X
X     /* redraw the column */
X
X	if(numup[col] > 0) {
X		wrastop(wn, images[up[col][numup[col]-1]], 10,
X			(unsigned short *)0, 0, 0, 0,
X			LEFT+((CARD_W+ROW_SEP)*col),
X			TOP + CARD_H + SUIT_SEP + (BACK_SEP*numdown[col]) +
X				(FACE_SEP*(numup[col]-1)),
X			CARD_W, CARD_H, SRCSRC, DSTSRC, (unsigned short *)0);
X	}
X}
X
X/*
X * reset the mouse report flags
X */
X
Xresetmouse(x, y, flags)
Xint x, y;	/* current mouse position */
Xint flags;
X{
X	struct umdata um;
X	um.um_flags = flags;
X	um.um_x = x;
X	um.um_y = y;
X	um.um_w = 1;
X	um.um_h = 1;
X	wsetmouse (wn, &um);
X}
________This_Is_The_END________
if test `wc -c < klondike.c` -ne 18401; then
	echo 'shar: klondike.c was damaged during transit (should have been 18401 bytes)'
fi
fi		; : end of overwriting check
echo 'x - club.c'
if test -f club.c; then echo 'shar: not overwriting club.c'; else
sed 's/^X//' << '________This_Is_The_END________' > club.c
X/*
X *	Copyright 1990, Thomas E. Tkacik
X *			tkacik@kyzyl.mi.org
X *
X *	Acknowledgments to Kent Quander allowing me to
X *	 use and distribute his wonderfully drawn playing cards.
X *
X *	Permission is given to copy and distribute for non-profit purposes.
X *
X */
X
X/*
XObject Name: cluba
X  Pels Wide: 71
X  Pels High: 65
X       Srcx: 492
X       Srcy: 24
X*/
X
Xunsigned short cluba[65][5] ={
X	{0x0,0x0,0x0,0x0,0x0},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xff3e,0xffff,0xffff,0xffff,0x3f},
X	{0xfe1e,0xffff,0xffff,0xffff,0x3f},
X	{0xfcce,0xffff,0xffff,0xffff,0x3f},
X	{0xfcce,0xffff,0xffff,0xffff,0x3f},
X	{0xfc0e,0xffff,0xffff,0xffff,0x3f},
X	{0xfcce,0xffff,0xffff,0xffff,0x3f},
X	{0xfcce,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfe3e,0xffff,0xffff,0xffff,0x3f},
X	{0xfe3e,0xffff,0xffff,0xffff,0x3f},
X	{0xf94e,0xffff,0xffff,0xffff,0x3f},
X	{0xf006,0xffff,0xffff,0xffff,0x3f},
X	{0xf94e,0xffff,0xffff,0xffff,0x3f},
X	{0xff7e,0xffff,0xffff,0xffff,0x3f},
X	{0xfe3e,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffc1,0xffff,0x3f},
X	{0xfffe,0xffff,0xff80,0xffff,0x3f},
X	{0xfffe,0xffff,0xff80,0xffff,0x3f},
X	{0xfffe,0xffff,0xffc1,0xffff,0x3f},
X	{0xfffe,0x1fff,0xfc22,0xffff,0x3f},
X	{0xfffe,0xfff,0xf814,0xffff,0x3f},
X	{0xfffe,0xfff,0xf800,0xffff,0x3f},
X	{0xfffe,0xfff,0xf814,0xffff,0x3f},
X	{0xfffe,0x1fff,0xfc36,0xffff,0x3f},
X	{0xfffe,0xffff,0xffe3,0xffff,0x3f},
X	{0xfffe,0xffff,0xffc1,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0x3fff,0x3e},
X	{0xfffe,0xffff,0xffff,0x7fff,0x3f},
X	{0xfffe,0xffff,0xffff,0x4fff,0x39},
X	{0xfffe,0xffff,0xffff,0x7ff,0x30},
X	{0xfffe,0xffff,0xffff,0x4fff,0x39},
X	{0xfffe,0xffff,0xffff,0x3fff,0x3e},
X	{0xfffe,0xffff,0xffff,0x3fff,0x3e},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0x9fff,0x39},
X	{0xfffe,0xffff,0xffff,0x9fff,0x39},
X	{0xfffe,0xffff,0xffff,0x1fff,0x38},
X	{0xfffe,0xffff,0xffff,0x9fff,0x39},
X	{0xfffe,0xffff,0xffff,0x9fff,0x39},
X	{0xfffe,0xffff,0xffff,0x3fff,0x3c},
X	{0xfffe,0xffff,0xffff,0x7fff,0x3e},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0x0,0x0,0x0,0x0,0x0}
X};
X/*
XObject Name: club2
X  Pels Wide: 71
X  Pels High: 65
X       Srcx: 188
X       Srcy: 160
X*/
X
Xunsigned short club2[65][5] ={
X	{0x0,0x0,0x0,0x0,0x0},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfe1e,0xffff,0xffff,0xffff,0x3f},
X	{0xfcce,0xffff,0xffff,0xffff,0x3f},
X	{0xfe7e,0xffff,0xffff,0xffff,0x3f},
X	{0xff3e,0xffff,0xffff,0xffff,0x3f},
X	{0xff9e,0xffff,0xffc1,0xffff,0x3f},
X	{0xffce,0xffff,0xff80,0xffff,0x3f},
X	{0xfc0e,0xffff,0xff80,0xffff,0x3f},
X	{0xfffe,0xffff,0xffc1,0xffff,0x3f},
X	{0xfe3e,0x1fff,0xfc22,0xffff,0x3f},
X	{0xfe3e,0xfff,0xf814,0xffff,0x3f},
X	{0xf94e,0xfff,0xf800,0xffff,0x3f},
X	{0xf006,0xfff,0xf814,0xffff,0x3f},
X	{0xf94e,0x1fff,0xfc36,0xffff,0x3f},
X	{0xff7e,0xffff,0xffe3,0xffff,0x3f},
X	{0xfe3e,0xffff,0xffc1,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffc1,0x3fff,0x3e},
X	{0xfffe,0xffff,0xffe3,0x7fff,0x3f},
X	{0xfffe,0x1fff,0xfc36,0x4fff,0x39},
X	{0xfffe,0xfff,0xf814,0x7ff,0x30},
X	{0xfffe,0xfff,0xf800,0x4fff,0x39},
X	{0xfffe,0xfff,0xf814,0x3fff,0x3e},
X	{0xfffe,0x1fff,0xfc22,0x3fff,0x3e},
X	{0xfffe,0xffff,0xffc1,0xffff,0x3f},
X	{0xfffe,0xffff,0xff80,0x1fff,0x38},
X	{0xfffe,0xffff,0xff80,0xffff,0x39},
X	{0xfffe,0xffff,0xffc1,0xffff,0x3c},
X	{0xfffe,0xffff,0xffff,0x7fff,0x3e},
X	{0xfffe,0xffff,0xffff,0x3fff,0x3f},
X	{0xfffe,0xffff,0xffff,0x9fff,0x39},
X	{0xfffe,0xffff,0xffff,0x3fff,0x3c},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0x0,0x0,0x0,0x0,0x0}
X};
X/*
XObject Name: club3
X  Pels Wide: 71
X  Pels High: 65
X       Srcx: 188
X       Srcy: 92
X*/
X
Xunsigned short club3[65][5] ={
X	{0x0,0x0,0x0,0x0,0x0},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfe1e,0xffff,0xffff,0xffff,0x3f},
X	{0xfcce,0xffff,0xffff,0xffff,0x3f},
X	{0xfcfe,0xffff,0xffff,0xffff,0x3f},
X	{0xfe3e,0xffff,0xffff,0xffff,0x3f},
X	{0xfcfe,0xffff,0xffc1,0xffff,0x3f},
X	{0xfcce,0xffff,0xff80,0xffff,0x3f},
X	{0xfe1e,0xffff,0xff80,0xffff,0x3f},
X	{0xfffe,0xffff,0xffc1,0xffff,0x3f},
X	{0xfe3e,0x1fff,0xfc22,0xffff,0x3f},
X	{0xfe3e,0xfff,0xf814,0xffff,0x3f},
X	{0xf94e,0xfff,0xf800,0xffff,0x3f},
X	{0xf006,0xfff,0xf814,0xffff,0x3f},
X	{0xf94e,0x1fff,0xfc36,0xffff,0x3f},
X	{0xff7e,0xffff,0xffe3,0xffff,0x3f},
X	{0xfe3e,0xffff,0xffc1,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffc1,0xffff,0x3f},
X	{0xfffe,0xffff,0xff80,0xffff,0x3f},
X	{0xfffe,0xffff,0xff80,0xffff,0x3f},
X	{0xfffe,0xffff,0xffc1,0xffff,0x3f},
X	{0xfffe,0x1fff,0xfc22,0xffff,0x3f},
X	{0xfffe,0xfff,0xf814,0xffff,0x3f},
X	{0xfffe,0xfff,0xf800,0xffff,0x3f},
X	{0xfffe,0xfff,0xf814,0xffff,0x3f},
X	{0xfffe,0x1fff,0xfc36,0xffff,0x3f},
X	{0xfffe,0xffff,0xffe3,0xffff,0x3f},
X	{0xfffe,0xffff,0xffc1,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffc1,0x3fff,0x3e},
X	{0xfffe,0xffff,0xffe3,0x7fff,0x3f},
X	{0xfffe,0x1fff,0xfc36,0x4fff,0x39},
X	{0xfffe,0xfff,0xf814,0x7ff,0x30},
X	{0xfffe,0xfff,0xf800,0x4fff,0x39},
X	{0xfffe,0xfff,0xf814,0x3fff,0x3e},
X	{0xfffe,0x1fff,0xfc22,0x3fff,0x3e},
X	{0xfffe,0xffff,0xffc1,0xffff,0x3f},
X	{0xfffe,0xffff,0xff80,0x3fff,0x3c},
X	{0xfffe,0xffff,0xff80,0x9fff,0x39},
X	{0xfffe,0xffff,0xffc1,0x9fff,0x3f},
X	{0xfffe,0xffff,0xffff,0x3fff,0x3e},
X	{0xfffe,0xffff,0xffff,0x9fff,0x3f},
X	{0xfffe,0xffff,0xffff,0x9fff,0x39},
X	{0xfffe,0xffff,0xffff,0x3fff,0x3c},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0x0,0x0,0x0,0x0,0x0}
X};
X/*
XObject Name: club4
X  Pels Wide: 71
X  Pels High: 65
X       Srcx: 188
X       Srcy: 24
X*/
X
Xunsigned short club4[65][5] ={
X	{0x0,0x0,0x0,0x0,0x0},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfc7e,0xffff,0xffff,0xffff,0x3f},
X	{0xfc3e,0xffff,0xffff,0xffff,0x3f},
X	{0xfc9e,0xffff,0xffff,0xffff,0x3f},
X	{0xfcce,0xffff,0xffff,0xffff,0x3f},
X	{0xf80e,0xff83,0xffff,0xffe0,0x3f},
X	{0xfcfe,0xff01,0x7fff,0xffc0,0x3f},
X	{0xfcfe,0xff01,0x7fff,0xffc0,0x3f},
X	{0xfffe,0xff83,0xffff,0xffe0,0x3f},
X	{0x3e3e,0xf844,0xfff,0xfe11,0x3f},
X	{0x1e3e,0xf028,0x7ff,0xfc0a,0x3f},
X	{0x194e,0xf000,0x7ff,0xfc00,0x3f},
X	{0x1006,0xf028,0x7ff,0xfc0a,0x3f},
X	{0x394e,0xf86c,0xfff,0xfe1b,0x3f},
X	{0xff7e,0xffc7,0xffff,0xfff1,0x3f},
X	{0xfe3e,0xff83,0xffff,0xffe0,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xff83,0xffff,0x3fe0,0x3e},
X	{0xfffe,0xffc7,0xffff,0x7ff1,0x3f},
X	{0x3ffe,0xf86c,0xfff,0x4e1b,0x39},
X	{0x1ffe,0xf028,0x7ff,0x40a,0x30},
X	{0x1ffe,0xf000,0x7ff,0x4c00,0x39},
X	{0x1ffe,0xf028,0x7ff,0x3c0a,0x3e},
X	{0x3ffe,0xf844,0xfff,0x3e11,0x3e},
X	{0xfffe,0xff83,0xffff,0xffe0,0x3f},
X	{0xfffe,0xff01,0x7fff,0x9fc0,0x3f},
X	{0xfffe,0xff01,0x7fff,0x9fc0,0x3f},
X	{0xfffe,0xff83,0xffff,0xfe0,0x38},
X	{0xfffe,0xffff,0xffff,0x9fff,0x39},
X	{0xfffe,0xffff,0xffff,0x9fff,0x3c},
X	{0xfffe,0xffff,0xffff,0x1fff,0x3e},
X	{0xfffe,0xffff,0xffff,0x1fff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0x0,0x0,0x0,0x0,0x0}
X};
X/*
XObject Name: club5
X  Pels Wide: 71
X  Pels High: 65
X       Srcx: 492
X       Srcy: 160
X*/
X
Xunsigned short club5[65][5] ={
X	{0x0,0x0,0x0,0x0,0x0},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfc0e,0xffff,0xffff,0xffff,0x3f},
X	{0xffce,0xffff,0xffff,0xffff,0x3f},
X	{0xfe0e,0xffff,0xffff,0xffff,0x3f},
X	{0xfcfe,0xffff,0xffff,0xffff,0x3f},
X	{0xfcce,0xff83,0xffff,0xffe0,0x3f},
X	{0xfcce,0xff01,0x7fff,0xffc0,0x3f},
X	{0xfe1e,0xff01,0x7fff,0xffc0,0x3f},
X	{0xfffe,0xff83,0xffff,0xffe0,0x3f},
X	{0x3e3e,0xf844,0xfff,0xfe11,0x3f},
X	{0x1e3e,0xf028,0x7ff,0xfc0a,0x3f},
X	{0x194e,0xf000,0x7ff,0xfc00,0x3f},
X	{0x1006,0xf028,0x7ff,0xfc0a,0x3f},
X	{0x394e,0xf86c,0xfff,0xfe1b,0x3f},
X	{0xff7e,0xffc7,0xffff,0xfff1,0x3f},
X	{0xfe3e,0xff83,0xffff,0xffe0,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffc1,0xffff,0x3f},
X	{0xfffe,0xffff,0xff80,0xffff,0x3f},
X	{0xfffe,0xffff,0xff80,0xffff,0x3f},
X	{0xfffe,0xffff,0xffc1,0xffff,0x3f},
X	{0xfffe,0x1fff,0xfc22,0xffff,0x3f},
X	{0xfffe,0xfff,0xf814,0xffff,0x3f},
X	{0xfffe,0xfff,0xf800,0xffff,0x3f},
X	{0xfffe,0xfff,0xf814,0xffff,0x3f},
X	{0xfffe,0x1fff,0xfc36,0xffff,0x3f},
X	{0xfffe,0xffff,0xffe3,0xffff,0x3f},
X	{0xfffe,0xffff,0xffc1,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xff83,0xffff,0x3fe0,0x3e},
X	{0xfffe,0xffc7,0xffff,0x7ff1,0x3f},
X	{0x3ffe,0xf86c,0xfff,0x4e1b,0x39},
X	{0x1ffe,0xf028,0x7ff,0x40a,0x30},
X	{0x1ffe,0xf000,0x7ff,0x4c00,0x39},
X	{0x1ffe,0xf028,0x7ff,0x3c0a,0x3e},
X	{0x3ffe,0xf844,0xfff,0x3e11,0x3e},
X	{0xfffe,0xff83,0xffff,0xffe0,0x3f},
X	{0xfffe,0xff01,0x7fff,0x3fc0,0x3c},
X	{0xfffe,0xff01,0x7fff,0x9fc0,0x39},
X	{0xfffe,0xff83,0xffff,0x9fe0,0x39},
X	{0xfffe,0xffff,0xffff,0x9fff,0x3f},
X	{0xfffe,0xffff,0xffff,0x3fff,0x38},
X	{0xfffe,0xffff,0xffff,0xffff,0x39},
X	{0xfffe,0xffff,0xffff,0x1fff,0x38},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0x0,0x0,0x0,0x0,0x0}
X};
X/*
XObject Name: club6
X  Pels Wide: 71
X  Pels High: 65
X       Srcx: 492
X       Srcy: 92
X*/
X
Xunsigned short club6[65][5] ={
X	{0x0,0x0,0x0,0x0,0x0},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfe1e,0xffff,0xffff,0xffff,0x3f},
X	{0xfcce,0xffff,0xffff,0xffff,0x3f},
X	{0xffce,0xffff,0xffff,0xffff,0x3f},
X	{0xfe0e,0xffff,0xffff,0xffff,0x3f},
X	{0xfcce,0xff83,0xffff,0xffe0,0x3f},
X	{0xfcce,0xff01,0x7fff,0xffc0,0x3f},
X	{0xfe1e,0xff01,0x7fff,0xffc0,0x3f},
X	{0xfffe,0xff83,0xffff,0xffe0,0x3f},
X	{0x3e3e,0xf844,0xfff,0xfe11,0x3f},
X	{0x1e3e,0xf028,0x7ff,0xfc0a,0x3f},
X	{0x194e,0xf000,0x7ff,0xfc00,0x3f},
X	{0x1006,0xf028,0x7ff,0xfc0a,0x3f},
X	{0x394e,0xf86c,0xfff,0xfe1b,0x3f},
X	{0xff7e,0xffc7,0xffff,0xfff1,0x3f},
X	{0xfe3e,0xff83,0xffff,0xffe0,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xff83,0xffff,0xffe0,0x3f},
X	{0xfffe,0xff01,0x7fff,0xffc0,0x3f},
X	{0xfffe,0xff01,0x7fff,0xffc0,0x3f},
X	{0xfffe,0xff83,0xffff,0xffe0,0x3f},
X	{0x3ffe,0xf844,0xfff,0xfe11,0x3f},
X	{0x1ffe,0xf028,0x7ff,0xfc0a,0x3f},
X	{0x1ffe,0xf000,0x7ff,0xfc00,0x3f},
X	{0x1ffe,0xf028,0x7ff,0xfc0a,0x3f},
X	{0x3ffe,0xf86c,0xfff,0xfe1b,0x3f},
X	{0xfffe,0xffc7,0xffff,0xfff1,0x3f},
X	{0xfffe,0xff83,0xffff,0xffe0,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xff83,0xffff,0x3fe0,0x3e},
X	{0xfffe,0xffc7,0xffff,0x7ff1,0x3f},
X	{0x3ffe,0xf86c,0xfff,0x4e1b,0x39},
X	{0x1ffe,0xf028,0x7ff,0x40a,0x30},
X	{0x1ffe,0xf000,0x7ff,0x4c00,0x39},
X	{0x1ffe,0xf028,0x7ff,0x3c0a,0x3e},
X	{0x3ffe,0xf844,0xfff,0x3e11,0x3e},
X	{0xfffe,0xff83,0xffff,0xffe0,0x3f},
X	{0xfffe,0xff01,0x7fff,0x3fc0,0x3c},
X	{0xfffe,0xff01,0x7fff,0x9fc0,0x39},
X	{0xfffe,0xff83,0xffff,0x9fe0,0x39},
X	{0xfffe,0xffff,0xffff,0x3fff,0x38},
X	{0xfffe,0xffff,0xffff,0xffff,0x39},
X	{0xfffe,0xffff,0xffff,0x9fff,0x39},
X	{0xfffe,0xffff,0xffff,0x3fff,0x3c},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0x0,0x0,0x0,0x0,0x0}
X};
X/*
XObject Name: club7
X  Pels Wide: 71
X  Pels High: 65
X       Srcx: 492
X       Srcy: 24
X*/
X
Xunsigned short club7[65][5] ={
X	{0x0,0x0,0x0,0x0,0x0},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfc0e,0xffff,0xffff,0xffff,0x3f},
X	{0xfcee,0xffff,0xffff,0xffff,0x3f},
X	{0xfe7e,0xffff,0xffff,0xffff,0x3f},
X	{0xff3e,0xffff,0xffff,0xffff,0x3f},
X	{0xff9e,0xff83,0xffff,0xffe0,0x3f},
X	{0xff9e,0xff01,0x7fff,0xffc0,0x3f},
X	{0xff9e,0xff01,0x7fff,0xffc0,0x3f},
X	{0xfffe,0xff83,0xffff,0xffe0,0x3f},
X	{0x3e3e,0xf844,0xfff,0xfe11,0x3f},
X	{0x1e3e,0xf028,0x7ff,0xfc0a,0x3f},
X	{0x194e,0xf000,0x7ff,0xfc00,0x3f},
X	{0x1006,0xf028,0x7ff,0xfc0a,0x3f},
X	{0x394e,0xf86c,0xfff,0xfe1b,0x3f},
X	{0xff7e,0xffc7,0xffff,0xfff1,0x3f},
X	{0xfe3e,0xff83,0xffc1,0xffe0,0x3f},
X	{0xfffe,0xffff,0xff80,0xffff,0x3f},
X	{0xfffe,0xffff,0xff80,0xffff,0x3f},
X	{0xfffe,0xffff,0xffc1,0xffff,0x3f},
X	{0xfffe,0x1fff,0xfc22,0xffff,0x3f},
X	{0xfffe,0xfff,0xf814,0xffff,0x3f},
X	{0xfffe,0xfff,0xf800,0xffff,0x3f},
X	{0xfffe,0xfff,0xf814,0xffff,0x3f},
X	{0xfffe,0x1fff,0xfc36,0xffff,0x3f},
X	{0xfffe,0xffff,0xffe3,0xffff,0x3f},
X	{0xfffe,0xff83,0xffc1,0xffe0,0x3f},
X	{0xfffe,0xff01,0x7fff,0xffc0,0x3f},
X	{0xfffe,0xff01,0x7fff,0xffc0,0x3f},
X	{0xfffe,0xff83,0xffff,0xffe0,0x3f},
X	{0x3ffe,0xf844,0xfff,0xfe11,0x3f},
X	{0x1ffe,0xf028,0x7ff,0xfc0a,0x3f},
X	{0x1ffe,0xf000,0x7ff,0xfc00,0x3f},
X	{0x1ffe,0xf028,0x7ff,0xfc0a,0x3f},
X	{0x3ffe,0xf86c,0xfff,0xfe1b,0x3f},
X	{0xfffe,0xffc7,0xffff,0xfff1,0x3f},
X	{0xfffe,0xff83,0xffff,0xffe0,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xff83,0xffff,0x3fe0,0x3e},
X	{0xfffe,0xffc7,0xffff,0x7ff1,0x3f},
X	{0x3ffe,0xf86c,0xfff,0x4e1b,0x39},
X	{0x1ffe,0xf028,0x7ff,0x40a,0x30},
X	{0x1ffe,0xf000,0x7ff,0x4c00,0x39},
X	{0x1ffe,0xf028,0x7ff,0x3c0a,0x3e},
X	{0x3ffe,0xf844,0xfff,0x3e11,0x3e},
X	{0xfffe,0xff83,0xffff,0xffe0,0x3f},
X	{0xfffe,0xff01,0x7fff,0xffc0,0x3c},
X	{0xfffe,0xff01,0x7fff,0xffc0,0x3c},
X	{0xfffe,0xff83,0xffff,0xffe0,0x3c},
X	{0xfffe,0xffff,0xffff,0x7fff,0x3e},
X	{0xfffe,0xffff,0xffff,0x3fff,0x3f},
X	{0xfffe,0xffff,0xffff,0x9fff,0x3b},
X	{0xfffe,0xffff,0xffff,0x1fff,0x38},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0x0,0x0,0x0,0x0,0x0}
X};
X/*
XObject Name: club8
X  Pels Wide: 71
X  Pels High: 65
X       Srcx: 188
X       Srcy: 160
X*/
X
Xunsigned short club8[65][5] ={
X	{0x0,0x0,0x0,0x0,0x0},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfe1e,0xffff,0xffff,0xffff,0x3f},
X	{0xfcce,0xffff,0xffff,0xffff,0x3f},
X	{0xfcce,0xffff,0xffff,0xffff,0x3f},
X	{0xfe1e,0xffff,0xffff,0xffff,0x3f},
X	{0xfcce,0xff83,0xffff,0xffe0,0x3f},
X	{0xfcce,0xff01,0x7fff,0xffc0,0x3f},
X	{0xfe1e,0xff01,0x7fff,0xffc0,0x3f},
X	{0xfffe,0xff83,0xffff,0xffe0,0x3f},
X	{0x3e3e,0xf844,0xfff,0xfe11,0x3f},
X	{0x1e3e,0xf028,0x7ff,0xfc0a,0x3f},
X	{0x194e,0xf000,0x7ff,0xfc00,0x3f},
X	{0x1006,0xf028,0x7ff,0xfc0a,0x3f},
X	{0x394e,0xf86c,0xfff,0xfe1b,0x3f},
X	{0xff7e,0xffc7,0xffff,0xfff1,0x3f},
X	{0xfe3e,0xff83,0xffff,0xffe0,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xff83,0xffff,0xffe0,0x3f},
X	{0xfffe,0xff01,0x7fff,0xffc0,0x3f},
X	{0xfffe,0xff01,0x7fff,0xffc0,0x3f},
X	{0xfffe,0xff83,0xffff,0xffe0,0x3f},
X	{0x3ffe,0xf844,0xfff,0xfe11,0x3f},
X	{0x1ffe,0xf028,0x7ff,0xfc0a,0x3f},
X	{0x1ffe,0xf000,0x7ff,0xfc00,0x3f},
X	{0x1ffe,0xf028,0x7ff,0xfc0a,0x3f},
X	{0x3ffe,0xf86c,0xfff,0xfe1b,0x3f},
X	{0xfffe,0xffc7,0xffff,0xfff1,0x3f},
X	{0xfffe,0xff83,0xffff,0xffe0,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xff83,0xffff,0xffe0,0x3f},
X	{0xfffe,0xffc7,0xffff,0xfff1,0x3f},
X	{0x3ffe,0xf86c,0xfff,0xfe1b,0x3f},
X	{0x1ffe,0xf028,0x7ff,0xfc0a,0x3f},
X	{0x1ffe,0xf000,0x7ff,0xfc00,0x3f},
X	{0x1ffe,0xf028,0x7ff,0xfc0a,0x3f},
X	{0x3ffe,0xf844,0xfff,0xfe11,0x3f},
X	{0xfffe,0xff83,0xffff,0xffe0,0x3f},
X	{0xfffe,0xff01,0x7fff,0xffc0,0x3f},
X	{0xfffe,0xff01,0x7fff,0xffc0,0x3f},
X	{0xfffe,0xff83,0xffff,0xffe0,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xff83,0xffff,0x3fe0,0x3e},
X	{0xfffe,0xffc7,0xffff,0x7ff1,0x3f},
X	{0x3ffe,0xf86c,0xfff,0x4e1b,0x39},
X	{0x1ffe,0xf028,0x7ff,0x40a,0x30},
X	{0x1ffe,0xf000,0x7ff,0x4c00,0x39},
X	{0x1ffe,0xf028,0x7ff,0x3c0a,0x3e},
X	{0x3ffe,0xf844,0xfff,0x3e11,0x3e},
X	{0xfffe,0xff83,0xffff,0xffe0,0x3f},
X	{0xfffe,0xff01,0x7fff,0x3fc0,0x3c},
X	{0xfffe,0xff01,0x7fff,0x9fc0,0x39},
X	{0xfffe,0xff83,0xffff,0x9fe0,0x39},
X	{0xfffe,0xffff,0xffff,0x3fff,0x3c},
X	{0xfffe,0xffff,0xffff,0x9fff,0x39},
X	{0xfffe,0xffff,0xffff,0x9fff,0x39},
X	{0xfffe,0xffff,0xffff,0x3fff,0x3c},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0x0,0x0,0x0,0x0,0x0}
X};
X/*
XObject Name: club9
X  Pels Wide: 71
X  Pels High: 65
X       Srcx: 188
X       Srcy: 92
X*/
X
Xunsigned short club9[65][5] ={
X	{0x0,0x0,0x0,0x0,0x0},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfe1e,0xffff,0xffff,0xffff,0x3f},
X	{0xfcce,0xffff,0xffff,0xffff,0x3f},
X	{0xfcce,0xffff,0xffff,0xffff,0x3f},
X	{0xfc1e,0xffff,0xffff,0xffff,0x3f},
X	{0xfcfe,0xff83,0xffff,0xffe0,0x3f},
X	{0xfcce,0xff01,0x7fff,0xffc0,0x3f},
X	{0xfe1e,0xff01,0x7fff,0xffc0,0x3f},
X	{0xfffe,0xff83,0xffff,0xffe0,0x3f},
X	{0x3e3e,0xf844,0xfff,0xfe11,0x3f},
X	{0x1e3e,0xf028,0x7ff,0xfc0a,0x3f},
X	{0x194e,0xf000,0x7ff,0xfc00,0x3f},
X	{0x1006,0xf028,0x7ff,0xfc0a,0x3f},
X	{0x394e,0xf86c,0xfff,0xfe1b,0x3f},
X	{0xff7e,0xffc7,0xffff,0xfff1,0x3f},
X	{0xfe3e,0xff83,0xffff,0xffe0,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xff83,0xffff,0xffe0,0x3f},
X	{0xfffe,0xff01,0x7fff,0xffc0,0x3f},
X	{0xfffe,0xff01,0x7fff,0xffc0,0x3f},
X	{0xfffe,0xff83,0xffff,0xffe0,0x3f},
X	{0x3ffe,0xf844,0xfff,0xfe11,0x3f},
X	{0x1ffe,0xf028,0x7ff,0xfc0a,0x3f},
X	{0x1ffe,0xf000,0x7ff,0xfc00,0x3f},
X	{0x1ffe,0xf028,0x7c1,0xfc0a,0x3f},
X	{0x3ffe,0xf86c,0xf80,0xfe1b,0x3f},
X	{0xfffe,0xffc7,0xff80,0xfff1,0x3f},
X	{0xfffe,0xff83,0xffc1,0xffe0,0x3f},
X	{0xfffe,0x1fff,0xfc22,0xffff,0x3f},
X	{0xfffe,0xfff,0xf814,0xffff,0x3f},
X	{0xfffe,0xfff,0xf800,0xffff,0x3f},
X	{0xfffe,0xf83,0xf814,0xffe0,0x3f},
X	{0xfffe,0x1fc7,0xfc36,0xfff1,0x3f},
X	{0x3ffe,0xf86c,0x7e3,0xfc1b,0x3f},
X	{0x1ffe,0xf028,0x3c1,0xf80a,0x3f},
X	{0x1ffe,0xf000,0x3ff,0xf800,0x3f},
X	{0x1ffe,0xf028,0x3ff,0xf80a,0x3f},
X	{0x3ffe,0xf844,0x7ff,0xfc11,0x3f},
X	{0xfffe,0xff83,0xffff,0xffe0,0x3f},
X	{0xfffe,0xff01,0x7fff,0xffc0,0x3f},
X	{0xfffe,0xff01,0x7fff,0xffc0,0x3f},
X	{0xfffe,0xff83,0xffff,0xffe0,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xff83,0xffff,0x3fe0,0x3e},
X	{0xfffe,0xffc7,0xffff,0x7ff1,0x3f},
X	{0x3ffe,0xf86c,0xfff,0x4e1b,0x39},
X	{0x1ffe,0xf028,0x7ff,0x40a,0x30},
X	{0x1ffe,0xf000,0x7ff,0x4c00,0x39},
X	{0x1ffe,0xf028,0x7ff,0x3c0a,0x3e},
X	{0x3ffe,0xf844,0xfff,0x3e11,0x3e},
X	{0xfffe,0xff83,0xffff,0xffe0,0x3f},
X	{0xfffe,0xff01,0x7fff,0x3fc0,0x3c},
X	{0xfffe,0xff01,0x7fff,0x9fc0,0x39},
X	{0xfffe,0xff83,0xffff,0x9fe0,0x3f},
X	{0xfffe,0xffff,0xffff,0x1fff,0x3c},
X	{0xfffe,0xffff,0xffff,0x9fff,0x39},
X	{0xfffe,0xffff,0xffff,0x9fff,0x39},
X	{0xfffe,0xffff,0xffff,0x3fff,0x3c},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0x0,0x0,0x0,0x0,0x0}
X};
X/*
XObject Name: club10
X  Pels Wide: 71
X  Pels High: 65
X       Srcx: 188
X       Srcy: 24
X*/
X
Xunsigned short club10[65][5] ={
X	{0x0,0x0,0x0,0x0,0x0},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xf866,0xffff,0xffff,0xffff,0x3f},
X	{0xf326,0xffff,0xffff,0xffff,0x3f},
X	{0xf326,0xffff,0xffff,0xffff,0x3f},
X	{0xf326,0xffff,0xffff,0xffff,0x3f},
X	{0xf326,0xff83,0xffff,0xffe0,0x3f},
X	{0xf326,0xff01,0x7fff,0xffc0,0x3f},
X	{0xf866,0xff01,0x7fff,0xffc0,0x3f},
X	{0xfffe,0xff83,0xffff,0xffe0,0x3f},
X	{0x3e3e,0xf844,0xfff,0xfe11,0x3f},
X	{0x1e3e,0xf028,0x7ff,0xfc0a,0x3f},
X	{0x194e,0xf000,0x7ff,0xfc00,0x3f},
X	{0x1006,0xf028,0x7c1,0xfc0a,0x3f},
X	{0x394e,0xf86c,0xf80,0xfe1b,0x3f},
X	{0xff7e,0xffc7,0xff80,0xfff1,0x3f},
X	{0xfe3e,0xff83,0xffc1,0xffe0,0x3f},
X	{0xfffe,0x1fff,0xfc22,0xffff,0x3f},
X	{0xfffe,0xfff,0xf814,0xffff,0x3f},
X	{0xfffe,0xf83,0xf800,0xffe0,0x3f},
X	{0xfffe,0xf01,0x7814,0xffc0,0x3f},
X	{0xfffe,0x1f01,0x7c36,0xffc0,0x3f},
X	{0xfffe,0xff83,0xffe3,0xffe0,0x3f},
X	{0x3ffe,0xf844,0xfc1,0xfe11,0x3f},
X	{0x1ffe,0xf028,0x7ff,0xfc0a,0x3f},
X	{0x1ffe,0xf000,0x7ff,0xfc00,0x3f},
X	{0x1ffe,0xf028,0x7ff,0xfc0a,0x3f},
X	{0x3ffe,0xf86c,0xfff,0xfe1b,0x3f},
X	{0xfffe,0xffc7,0xffff,0xfff1,0x3f},
X	{0xfffe,0xff83,0xffff,0xffe0,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xff83,0xffff,0xffe0,0x3f},
X	{0xfffe,0xffc7,0xffff,0xfff1,0x3f},
X	{0x3ffe,0xf86c,0xfff,0xfe1b,0x3f},
X	{0x1ffe,0xf028,0x7ff,0xfc0a,0x3f},
X	{0x1ffe,0xf000,0x7ff,0xfc00,0x3f},
X	{0x1ffe,0xf028,0x7ff,0xfc0a,0x3f},
X	{0x3ffe,0xf844,0xfff,0xfe11,0x3f},
X	{0xfffe,0xff83,0xffc1,0xffe0,0x3f},
X	{0xfffe,0xff01,0x7fe3,0xffc0,0x3f},
X	{0xfffe,0x1f01,0x7c36,0xffc0,0x3f},
X	{0xfffe,0xf83,0xf814,0xffe0,0x3f},
X	{0xfffe,0xfff,0xf800,0xffff,0x3f},
X	{0xfffe,0xfff,0xf814,0xffff,0x3f},
X	{0xfffe,0x1f83,0xfc22,0x3fe0,0x3e},
X	{0xfffe,0xffc7,0xffc1,0x7ff1,0x3f},
X	{0x3ffe,0xf86c,0xf80,0x4e1b,0x39},
X	{0x1ffe,0xf028,0x780,0x40a,0x30},
X	{0x1ffe,0xf000,0x7c1,0x4c00,0x39},
X	{0x1ffe,0xf028,0x7ff,0x3c0a,0x3e},
X	{0x3ffe,0xf844,0xfff,0x3e11,0x3e},
X	{0xfffe,0xff83,0xffff,0xffe0,0x3f},
X	{0xfffe,0xff01,0x7fff,0xfc0,0x33},
X	{0xfffe,0xff01,0x7fff,0x67c0,0x32},
X	{0xfffe,0xff83,0xffff,0x67e0,0x32},
X	{0xfffe,0xffff,0xffff,0x67ff,0x32},
X	{0xfffe,0xffff,0xffff,0x67ff,0x32},
X	{0xfffe,0xffff,0xffff,0x67ff,0x32},
X	{0xfffe,0xffff,0xffff,0xfff,0x33},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0x0,0x0,0x0,0x0,0x0}
X};
X/*
XObject Name: clubj
X  Pels Wide: 71
X  Pels High: 65
X       Srcx: 188
X       Srcy: 160
X*/
X
Xunsigned short clubj[65][5] ={
X	{0x0,0x0,0x0,0x0,0x0},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xf87e,0xffff,0xffff,0xffff,0x3f},
X	{0xfcfe,0xffff,0xffff,0xffff,0x3f},
X	{0xfcfe,0xffff,0xffff,0xffff,0x3f},
X	{0x1cfe,0x0,0x0,0xfc00,0x3f},
X	{0xdcce,0xffff,0xffff,0xfdff,0x3f},
X	{0xdcce,0xfe0f,0xd553,0xfde7,0x3f},
X	{0xde1e,0xfc07,0x8009,0xfd81,0x3f},
X	{0xdffe,0xfc07,0xbfe4,0xfde7,0x3f},
X	{0xde3e,0xfe0f,0xa234,0xfde7,0x3f},
X	{0xde3e,0xe110,0xbdd4,0xfde7,0x3f},
X	{0x594e,0xc0a0,0xb574,0xfdc3,0x3f},
X	{0x5006,0xc000,0xbdf4,0xfdd3,0x3f},
X	{0x594e,0xc0a0,0xb8f4,0xfdd3,0x3f},
X	{0xdf7e,0xe1b0,0xdff4,0xfdd3,0x3f},
X	{0xde3e,0x3f1f,0xd574,0xfdd3,0x3f},
X	{0xdffe,0x3e0f,0xd555,0xfdd3,0x3f},
X	{0xdffe,0xfff,0xdfd5,0xfdd3,0x3f},
X	{0xdffe,0x4fff,0xe037,0xfdd3,0x3f},
X	{0xdffe,0x4800,0xf774,0xfdd3,0x3f},
X	{0xdffe,0xcaaa,0x18f7,0xfdd0,0x3f},
X	{0xdffe,0x1800,0xd778,0xfd97,0x3f},
X	{0xdffe,0xfffc,0x58ff,0xfd50,0x3f},
X	{0xdffe,0xc004,0x5aff,0xfd12,0x3f},
X	{0xdffe,0x954c,0x4201,0xfdd2,0x3f},
X	{0xdffe,0x2a9c,0x7ff9,0xfdd2,0x3f},
X	{0xdffe,0x954c,0x209,0xfdd2,0x3f},
X	{0xdffe,0xc004,0xf2c9,0xfdd3,0x3f},
X	{0xdffe,0xffff,0xf2c9,0xfdd3,0x3f},
X	{0xdffe,0x601,0x3200,0xfdd0,0x3f},
X	{0xdffe,0xe67d,0x33ff,0xfddf,0x3f},
X	{0xdffe,0x2605,0x3000,0xfdc0,0x3f},
X	{0xdffe,0xa7e5,0xffc9,0xfdff,0x3f},
X	{0xdffe,0xa7e5,0x1c9,0xfd90,0x3f},
X	{0xdffe,0x2025,0x54c8,0xfd99,0x3f},
X	{0xdffe,0xff25,0xaa4f,0xfd9c,0x3f},
X	{0xdffe,0x2125,0x54c0,0xfd99,0x3f},
X	{0x5ffe,0xad24,0x1ff,0xfd90,0x3f},
X	{0x5ffe,0x8d05,0xffff,0xfd9f,0x3f},
X	{0xdffe,0x75e4,0xc0f,0xfd80,0x3f},
X	{0xdffe,0x8c05,0xa9f7,0xfdaa,0x3f},
X	{0xdffe,0x77e5,0x917,0xfd80,0x3f},
X	{0xdffe,0x3e5,0xf976,0xfdff,0x3f},
X	{0xdffe,0xfde5,0xf855,0xfdff,0x3f},
X	{0xdffe,0x55e5,0x3e55,0xfdf8,0x3f},
X	{0xdffe,0x55e5,0x7e17,0x3dfc,0x3e},
X	{0xdffe,0xfde5,0xc397,0x7d86,0x3f},
X	{0xdffe,0x8ee5,0x8197,0x4d02,0x39},
X	{0xdffe,0xdee5,0x197,0x500,0x30},
X	{0xdffe,0x56e1,0x8197,0x4d02,0x39},
X	{0xdffe,0xdef3,0x4395,0x3d84,0x3e},
X	{0xdffe,0x22f3,0x3f96,0x3df8,0x3e},
X	{0xdffe,0xfef3,0x1f93,0xfdf0,0x3f},
X	{0xdffe,0xc0,0x1fc8,0x3df0,0x3c},
X	{0xdffe,0x55f3,0x3fe5,0x9df8,0x39},
X	{0xdffe,0xffff,0xffff,0x9dff,0x39},
X	{0x1ffe,0x0,0x0,0x9c00,0x3f},
X	{0xfffe,0xffff,0xffff,0x9fff,0x3f},
X	{0xfffe,0xffff,0xffff,0x9fff,0x3f},
X	{0xfffe,0xffff,0xffff,0xfff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0x0,0x0,0x0,0x0,0x0}
X};
X/*
XObject Name: clubq
X  Pels Wide: 71
X  Pels High: 65
X       Srcx: 188
X       Srcy: 92
X*/
X
Xunsigned short clubq[65][5] ={
X	{0x0,0x0,0x0,0x0,0x0},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfe1e,0xffff,0xffff,0xffff,0x3f},
X	{0xfcce,0xffff,0xffff,0xffff,0x3f},
X	{0xfcce,0xffff,0xffff,0xffff,0x3f},
X	{0x1cce,0x0,0x0,0xfc00,0x3f},
X	{0xdcce,0xffff,0xffff,0xfdff,0x3f},
X	{0xd44e,0xfe0f,0x3,0xfdff,0x3f},
X	{0xd01e,0xfc07,0x4555,0xfdf0,0x3f},
X	{0xdffe,0xfc07,0x8bfd,0xfde4,0x3f},
X	{0xde3e,0xfe0f,0x1665,0xfdc9,0x3f},
X	{0xde3e,0xe110,0x2ddd,0xfdd2,0x3f},
X	{0x594e,0xc0a0,0x5775,0xfde4,0x3f},
X	{0x5006,0xc000,0xabdd,0xfde8,0x3f},
X	{0x594e,0xc0a0,0x55ed,0xfdf1,0x3f},
X	{0xdf7e,0xe1b0,0xabf6,0xfdf2,0x3f},
X	{0xde3e,0xff1f,0x55ee,0xfdfd,0x3f},
X	{0xdffe,0xfe0f,0x55ba,0xfdfd,0x3f},
X	{0xdffe,0xffff,0x55c6,0xfdfd,0x3f},
X	{0xdffe,0x1007,0x55fd,0xfdfd,0x3f},
X	{0xdffe,0x57f7,0x543a,0xfde1,0x3f},
X	{0xdffe,0x4631,0x5785,0xfdd5,0x3f},
X	{0xdffe,0x5e3d,0x502a,0xfdc9,0x3f},
X	{0xdffe,0x594d,0x5f55,0xfdd5,0x3f},
X	{0xdffe,0x5225,0x40aa,0xfdc9,0x3f},
X	{0xdffe,0x594d,0x7d55,0xfdd5,0x3f},
X	{0xdffe,0x5e3d,0x2aa,0xfdc9,0x3f},
X	{0xdffe,0x4631,0xf555,0xfdd5,0x3f},
X	{0xdffe,0x5777,0xaaaa,0xfdca,0x3f},
X	{0xdffe,0x5147,0x100,0xfde0,0x3f},
X	{0xdffe,0x5f7f,0xfd7f,0xfdff,0x3f},
X	{0xdffe,0x507f,0x541,0xfdff,0x3f},
X	{0xdffe,0x5fff,0x7d7f,0xfdff,0x3f},
X	{0xdffe,0x4003,0x4500,0xfdf1,0x3f},
X	{0xdffe,0xaaa9,0x752a,0xfdf7,0x3f},
X	{0xdffe,0x57d5,0x3155,0xfdc6,0x3f},
X	{0xdffe,0xa049,0x3d2a,0xfdde,0x3f},
X	{0xdffe,0x4f55,0x4d55,0xfdd9,0x3f},
X	{0xdffe,0x8149,0x252a,0xfdd2,0x3f},
X	{0xdffe,0x3d55,0x4d55,0xfdd9,0x3f},
X	{0xdffe,0x549,0x3d2a,0xfdde,0x3f},
X	{0xdffe,0xf555,0x3150,0xfdc6,0x3f},
X	{0xdffe,0x1543,0xf50e,0xfdf7,0x3f},
X	{0xdffe,0xd55f,0x45f,0xfdf0,0x3f},
X	{0xdffe,0xd55f,0xffb1,0xfdff,0x3f},
X	{0xdffe,0xd55f,0x3fae,0xfdf8,0x3f},
X	{0xdffe,0xd55f,0x7fbb,0x3dfc,0x3e},
X	{0xdffe,0xeaa7,0xc3b7,0x7d86,0x3f},
X	{0xdffe,0xd547,0x81db,0x4d02,0x39},
X	{0xdffe,0xea8b,0x1dd,0x500,0x30},
X	{0xdffe,0x7513,0x81d7,0x4d02,0x39},
X	{0xdffe,0xda25,0x43dd,0x3d84,0x3e},
X	{0xdffe,0x3449,0x3fd3,0x3df8,0x3e},
X	{0xdffe,0xe893,0x1fdf,0xfdf0,0x3f},
X	{0xdffe,0x5107,0x1fd5,0x5f0,0x3c},
X	{0xdffe,0x7f,0x3fe0,0x15f8,0x39},
X	{0xdffe,0xffff,0xffff,0x9dff,0x39},
X	{0x1ffe,0x0,0x0,0x9c00,0x39},
X	{0xfffe,0xffff,0xffff,0x9fff,0x39},
X	{0xfffe,0xffff,0xffff,0x9fff,0x39},
X	{0xfffe,0xffff,0xffff,0x3fff,0x3c},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0x0,0x0,0x0,0x0,0x0}
X};
X/*
XObject Name: clubk
X  Pels Wide: 71
X  Pels High: 65
X       Srcx: 188
X       Srcy: 24
X*/
X
Xunsigned short clubk[65][5] ={
X	{0x0,0x0,0x0,0x0,0x0},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfcce,0xffff,0xffff,0xffff,0x3f},
X	{0xfcce,0xffff,0xffff,0xffff,0x3f},
X	{0xfe4e,0xffff,0xffff,0xffff,0x3f},
X	{0x1f0e,0x0,0x0,0xfc00,0x3f},
X	{0xde4e,0xffff,0xffff,0xfdff,0x3f},
X	{0xdcce,0x3e0f,0x8000,0xfdef,0x3f},
X	{0xd9ce,0xbc07,0x8888,0xfdc7,0x3f},
X	{0xdffe,0x3c07,0xa222,0xfd93,0x3f},
X	{0xde3e,0x3e0f,0x8000,0xfdab,0x3f},
X	{0xde3e,0x6110,0xabff,0xfdab,0x3f},
X	{0x594e,0x40a0,0xd508,0xfdab,0x3f},
X	{0x5006,0x4000,0xd555,0xfdab,0x3f},
X	{0x594e,0x40a0,0xd5f7,0xfdab,0x3f},
X	{0xdf7e,0x61b0,0xd5fb,0xfdab,0x3f},
X	{0xde3e,0x7f1f,0xd5e3,0xfdab,0x3f},
X	{0xdffe,0xe0f,0x15bf,0xfdaa,0x3f},
X	{0xdffe,0x6fff,0xf583,0xfdaa,0x3f},
X	{0xdffe,0x383,0x5bf,0xfdaa,0x3f},
X	{0xdffe,0x7bbb,0x3dff,0xfdab,0x3f},
X	{0xdffe,0x228,0x8155,0xfdab,0x3f},
X	{0xdffe,0x76d6,0xcf55,0xfdab,0x3f},
X	{0xdffe,0x6aa,0xe014,0xfd28,0x3f},
X	{0xdffe,0xfed6,0x73f5,0xfdba,0x3f},
X	{0xdffe,0x210,0xf801,0xfd00,0x3f},
X	{0xdffe,0x53fe,0xffff,0xfdab,0x3f},
X	{0xdffe,0x2800,0x0,0xfd93,0x3f},
X	{0xdffe,0x527f,0x2492,0xfdab,0x3f},
X	{0xdffe,0xa871,0x0,0xfd93,0x3f},
X	{0xdffe,0x526a,0x2555,0xfdab,0x3f},
X	{0xdffe,0xa864,0xaaa,0xfd93,0x3f},
X	{0xdffe,0x526a,0x2555,0xfdab,0x3f},
X	{0xdffe,0x64,0xa80,0xfdc7,0x3f},
X	{0xdffe,0x926a,0x2524,0xfdff,0x3f},
X	{0xdffe,0x64,0xa00,0xfd80,0x3f},
X	{0xdffe,0xffea,0xe57f,0xfdbf,0x3f},
X	{0x5ffe,0xf80,0x2040,0xfd84,0x3f},
X	{0xdffe,0xe72e,0xbfd7,0xfdb5,0x3f},
X	{0x5ffe,0x38a,0xb014,0xfdaa,0x3f},
X	{0xdffe,0x79ea,0xb755,0xfdb5,0x3f},
X	{0xdffe,0x40ea,0x2055,0xfd8a,0x3f},
X	{0xdffe,0xde6a,0xef7f,0xfdee,0x3f},
X	{0xdffe,0xd02a,0xe07e,0xfde0,0x3f},
X	{0xdffe,0xd7aa,0xfb60,0xfdff,0x3f},
X	{0xdffe,0xd42a,0x387e,0xfdf8,0x3f},
X	{0xdffe,0xd5ea,0x7f63,0x3dfc,0x3e},
X	{0xdffe,0xd5ea,0xc36f,0x7d86,0x3f},
X	{0xdffe,0xd5ea,0x8177,0x4d02,0x39},
X	{0xdffe,0x55ea,0x155,0x500,0x30},
X	{0xdffe,0x55ea,0x8108,0x4d02,0x39},
X	{0xdffe,0xeaea,0x437f,0x3d84,0x3e},
X	{0xdffe,0xea,0x3e00,0x3df8,0x3e},
X	{0xdffe,0x22e4,0x1e22,0xfdf0,0x3f},
X	{0xdffe,0x88f1,0x1e88,0xcdf0,0x39},
X	{0xdffe,0xfb,0x3e00,0x9df8,0x39},
X	{0xdffe,0xffff,0xffff,0x3dff,0x39},
X	{0x1ffe,0x0,0x0,0x7c00,0x38},
X	{0xfffe,0xffff,0xffff,0x3fff,0x39},
X	{0xfffe,0xffff,0xffff,0x9fff,0x39},
X	{0xfffe,0xffff,0xffff,0x9fff,0x39},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0xfffe,0xffff,0xffff,0xffff,0x3f},
X	{0x0,0x0,0x0,0x0,0x0}
X};
________This_Is_The_END________
if test `wc -c < club.c` -ne 32559; then
	echo 'shar: club.c was damaged during transit (should have been 32559 bytes)'
fi
fi		; : end of overwriting check
exit 0
-- 
Tom Tkacik                |
tkacik@kyzyl.mi.org       |     To rent this space, call 1-800-555-QUIP.
tkacik@hobbes.cs.gmr.com  |

-- 
David H. Brierley
Home: dave@galaxia.newport.ri.us; Work: dhb@quahog.ssd.ray.com
Send comp.sources.3b1 submissions to comp-sources-3b1@galaxia.newport.ri.us
%% Can I be excused, my brain is full. **