xref: /dflybsd-src/games/monop/deck.h (revision 11c3b524747d8c5b8633b938fd0fceb1d5878a2e)
1*11c3b524SAaron LI /*	$NetBSD: deck.h,v 1.9 2008/02/24 02:43:18 dholland Exp $	*/
2*11c3b524SAaron LI 
3*11c3b524SAaron LI /*
4*11c3b524SAaron LI  * Copyright (c) 1980, 1993
5*11c3b524SAaron LI  *	The Regents of the University of California.  All rights reserved.
6*11c3b524SAaron LI  *
7*11c3b524SAaron LI  * Redistribution and use in source and binary forms, with or without
8*11c3b524SAaron LI  * modification, are permitted provided that the following conditions
9*11c3b524SAaron LI  * are met:
10*11c3b524SAaron LI  * 1. Redistributions of source code must retain the above copyright
11*11c3b524SAaron LI  *    notice, this list of conditions and the following disclaimer.
12*11c3b524SAaron LI  * 2. Redistributions in binary form must reproduce the above copyright
13*11c3b524SAaron LI  *    notice, this list of conditions and the following disclaimer in the
14*11c3b524SAaron LI  *    documentation and/or other materials provided with the distribution.
15*11c3b524SAaron LI  * 3. Neither the name of the University nor the names of its contributors
16*11c3b524SAaron LI  *    may be used to endorse or promote products derived from this software
17*11c3b524SAaron LI  *    without specific prior written permission.
18*11c3b524SAaron LI  *
19*11c3b524SAaron LI  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
20*11c3b524SAaron LI  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21*11c3b524SAaron LI  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22*11c3b524SAaron LI  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
23*11c3b524SAaron LI  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24*11c3b524SAaron LI  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25*11c3b524SAaron LI  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26*11c3b524SAaron LI  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27*11c3b524SAaron LI  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28*11c3b524SAaron LI  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29*11c3b524SAaron LI  * SUCH DAMAGE.
30*11c3b524SAaron LI  *
31*11c3b524SAaron LI  *	@(#)deck.h	8.1 (Berkeley) 5/31/93
32*11c3b524SAaron LI  */
33*11c3b524SAaron LI 
34*11c3b524SAaron LI #include <sys/types.h>
35*11c3b524SAaron LI 
36*11c3b524SAaron LI #define	bool	char
37*11c3b524SAaron LI 
38*11c3b524SAaron LI struct cardinfo; /* private to cards.c */
39*11c3b524SAaron LI 
40*11c3b524SAaron LI #define	CC_D	deck[0]
41*11c3b524SAaron LI #define	CH_D	deck[1]
42*11c3b524SAaron LI 
43*11c3b524SAaron LI struct dk_st {			/* deck description structure		*/
44*11c3b524SAaron LI 	int	num_cards;		/* number of cards in deck	*/
45*11c3b524SAaron LI 	int	top_card;		/* number of last card picked	*/
46*11c3b524SAaron LI 	bool	gojf_used;		/* set if gojf card out of deck	*/
47*11c3b524SAaron LI 	int	*cards;			/* which cards (indexes info[]) */
48*11c3b524SAaron LI 	const struct cardinfo *info;	/* the static card data */
49*11c3b524SAaron LI };
50*11c3b524SAaron LI 
51*11c3b524SAaron LI typedef struct dk_st	DECK;
52*11c3b524SAaron LI 
53*11c3b524SAaron LI extern DECK	deck[2];
54*11c3b524SAaron LI 
55*11c3b524SAaron LI /* cards.c */
56*11c3b524SAaron LI void init_decks(void);
57*11c3b524SAaron LI void get_card(DECK *);
58*11c3b524SAaron LI 
59