| 1 | static char *sccsid = "@(#)test.c 1.2 (Berkeley) %G%"; |
| 2 | |
| 3 | #include <stdio.h> |
| 4 | #include "deck.h" |
| 5 | |
| 6 | |
| 7 | CARD known[ CARDS ]; /* a deck */ |
| 8 | CARD deck[ CARDS ]; /* a deck */ |
| 9 | CARD hand[ 4 ]; /* a hand */ |
| 10 | |
| 11 | int knownum; |
| 12 | |
| 13 | |
| 14 | main( 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 | |