xref: /csrg-svn/games/cribbage/test.c (revision 7712)
1*7712Sarnold 
2*7712Sarnold #include	<stdio.h>
3*7712Sarnold #include	"deck.h"
4*7712Sarnold 
5*7712Sarnold 
6*7712Sarnold CARD		known[ CARDS ];			/* a deck */
7*7712Sarnold CARD		deck[ CARDS ];			/* a deck */
8*7712Sarnold CARD		hand[ 4 ];			/* a hand */
9*7712Sarnold 
10*7712Sarnold int		knownum;
11*7712Sarnold 
12*7712Sarnold 
13*7712Sarnold main( argc, argv )
14*7712Sarnold 
15*7712Sarnold     int		argc;
16*7712Sarnold     char	*argv[];
17*7712Sarnold {
18*7712Sarnold 	register  int		k, l, m;
19*7712Sarnold 	int			i, j, is, n, sum;
20*7712Sarnold 	CARD			ic, jc;
21*7712Sarnold 	CARD			d[ CARDS];
22*7712Sarnold 
23*7712Sarnold 	printf( "Assuming cards are same suit\n" );
24*7712Sarnold 	if(  argc == 2  )  {
25*7712Sarnold 	    is = atoi( *++argv );
26*7712Sarnold 	    printf( "Starting at i = %d\n", is );
27*7712Sarnold 	}
28*7712Sarnold 	makedeck( deck );
29*7712Sarnold 	for( i = is; i < RANKS; i++ )  {		/* first card */
30*7712Sarnold 	    ic.rank = i;
31*7712Sarnold 	    ic.suit = 0;
32*7712Sarnold 	    hand[0] = ic;
33*7712Sarnold 	    for( j = 0; j <= i; j++ )  {
34*7712Sarnold 		printf( "%d %d: sum = %d\n", i, j, -10000000 );
35*7712Sarnold 	    }
36*7712Sarnold 	    for( j = i + 1; j < RANKS; j++ )  {		/* second card */
37*7712Sarnold 		jc.rank = j;
38*7712Sarnold 		jc.suit = 0;
39*7712Sarnold 		hand[1] = jc;
40*7712Sarnold 		for( k = 0; k < CARDS; k++ )  d[k] = deck[k];
41*7712Sarnold 		n = CARDS;
42*7712Sarnold 		remove( ic, d, n-- );
43*7712Sarnold 		remove( jc, d, n-- );
44*7712Sarnold 		sum = 0;
45*7712Sarnold 		for( k = 0; k < n - 1; k++ )  {			/* 3rd card */
46*7712Sarnold 		    hand[2] = d[k];
47*7712Sarnold 		    for( l = k + 1; l < n; l++ )  {		/* 4th card */
48*7712Sarnold 			hand[3] = d[l];
49*7712Sarnold 			for( m = 0; m < n; m++ )  {		/* cut card */
50*7712Sarnold 			    if(  m != l  &&  m != k  )
51*7712Sarnold 					    sum += scorehand( hand, d[m], 4 );
52*7712Sarnold 			}
53*7712Sarnold 		    }
54*7712Sarnold 		}
55*7712Sarnold 		printf( "%d %d: sum = %d\n", i, j, sum );
56*7712Sarnold 		fflush( stdout );
57*7712Sarnold 	    }
58*7712Sarnold 	}
59*7712Sarnold 	printf( "\nthe hand scores %d\n", i );
60*7712Sarnold }
61*7712Sarnold 
62