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