1*14908Sarnold static char *sccsid = "@(#)test.c 1.3 (Berkeley) 09/06/83"; 27712Sarnold 37712Sarnold #include <stdio.h> 47712Sarnold #include "deck.h" 57712Sarnold 67712Sarnold 77712Sarnold CARD known[ CARDS ]; /* a deck */ 87712Sarnold CARD deck[ CARDS ]; /* a deck */ 97712Sarnold CARD hand[ 4 ]; /* a hand */ 107712Sarnold 117712Sarnold int knownum; 127712Sarnold 137712Sarnold 147712Sarnold main( argc, argv ) 157712Sarnold 167712Sarnold int argc; 177712Sarnold char *argv[]; 187712Sarnold { 197712Sarnold register int k, l, m; 20*14908Sarnold int i, j, is, n, sum, sum2; 217712Sarnold CARD ic, jc; 227712Sarnold CARD d[ CARDS]; 23*14908Sarnold extern char expl[]; 247712Sarnold 257712Sarnold printf( "Assuming cards are same suit\n" ); 267712Sarnold if( argc == 2 ) { 277712Sarnold is = atoi( *++argv ); 287712Sarnold printf( "Starting at i = %d\n", is ); 297712Sarnold } 307712Sarnold makedeck( deck ); 31*14908Sarnold # if 0 327712Sarnold for( i = is; i < RANKS; i++ ) { /* first card */ 337712Sarnold ic.rank = i; 347712Sarnold ic.suit = 0; 357712Sarnold hand[0] = ic; 367712Sarnold for( j = 0; j <= i; j++ ) { 37*14908Sarnold printf( "%d %d: sum = %d\n", i, j, -10000000 ); 38*14908Sarnold printf( "%d %d: sum2 = %d\n", i, j, -10000000 ); 397712Sarnold } 407712Sarnold for( j = i + 1; j < RANKS; j++ ) { /* second card */ 417712Sarnold jc.rank = j; 427712Sarnold jc.suit = 0; 437712Sarnold hand[1] = jc; 447712Sarnold for( k = 0; k < CARDS; k++ ) d[k] = deck[k]; 457712Sarnold n = CARDS; 467712Sarnold remove( ic, d, n-- ); 477712Sarnold remove( jc, d, n-- ); 487712Sarnold sum = 0; 49*14908Sarnold sum2 = 0; 507712Sarnold for( k = 0; k < n - 1; k++ ) { /* 3rd card */ 517712Sarnold hand[2] = d[k]; 527712Sarnold for( l = k + 1; l < n; l++ ) { /* 4th card */ 537712Sarnold hand[3] = d[l]; 547712Sarnold for( m = 0; m < n; m++ ) { /* cut card */ 557712Sarnold if( m != l && m != k ) 56*14908Sarnold sum += scorehand(hand, d[m], 4, FALSE, FALSE); 57*14908Sarnold sum2 += scorehand(hand, d[m], 4, TRUE, FALSE); 587712Sarnold } 597712Sarnold } 607712Sarnold } 61*14908Sarnold printf( "%d %d: sum = %d\n", i, j, sum ); 62*14908Sarnold printf( "%d %d: sum2 = %d\n", i, j, sum2 ); 637712Sarnold fflush( stdout ); 647712Sarnold } 657712Sarnold } 667712Sarnold printf( "\nthe hand scores %d\n", i ); 67*14908Sarnold # else 68*14908Sarnold hand[0].rank = 0; 69*14908Sarnold hand[1].rank = 1; 70*14908Sarnold hand[2].rank = 2; 71*14908Sarnold hand[3].rank = 3; 72*14908Sarnold hand[4].rank = 4; 73*14908Sarnold hand[0].suit = 0; 74*14908Sarnold hand[1].suit = 0; 75*14908Sarnold hand[2].suit = 0; 76*14908Sarnold hand[3].suit = 0; 77*14908Sarnold hand[4].suit = 0; 78*14908Sarnold printf("scorehand of hand = %d\n", scorehand(hand, hand[4], CINHAND, FALSE, TRUE)); 79*14908Sarnold printf("\t%s\n", expl); 80*14908Sarnold hand[0].rank = 0; 81*14908Sarnold hand[1].rank = 1; 82*14908Sarnold hand[2].rank = 2; 83*14908Sarnold hand[3].rank = 3; 84*14908Sarnold hand[4].rank = 4; 85*14908Sarnold hand[0].suit = 0; 86*14908Sarnold hand[1].suit = 0; 87*14908Sarnold hand[2].suit = 0; 88*14908Sarnold hand[3].suit = 0; 89*14908Sarnold hand[4].suit = 0; 90*14908Sarnold printf("scorehand of crib = %d\n", scorehand(hand, hand[4], CINHAND, TRUE, TRUE)); 91*14908Sarnold printf("\t%s\n", expl); 92*14908Sarnold hand[0].rank = 0; 93*14908Sarnold hand[1].rank = 1; 94*14908Sarnold hand[2].rank = 2; 95*14908Sarnold hand[3].rank = 3; 96*14908Sarnold hand[4].rank = 4; 97*14908Sarnold hand[0].suit = 0; 98*14908Sarnold hand[1].suit = 0; 99*14908Sarnold hand[2].suit = 0; 100*14908Sarnold hand[3].suit = 0; 101*14908Sarnold hand[4].suit = 1; 102*14908Sarnold printf("scorehand of hand = %d\n", scorehand(hand, hand[4], CINHAND, FALSE, TRUE)); 103*14908Sarnold printf("\t%s\n", expl); 104*14908Sarnold hand[0].rank = 0; 105*14908Sarnold hand[1].rank = 1; 106*14908Sarnold hand[2].rank = 2; 107*14908Sarnold hand[3].rank = 3; 108*14908Sarnold hand[4].rank = 4; 109*14908Sarnold hand[0].suit = 0; 110*14908Sarnold hand[1].suit = 0; 111*14908Sarnold hand[2].suit = 0; 112*14908Sarnold hand[3].suit = 0; 113*14908Sarnold hand[4].suit = 1; 114*14908Sarnold printf("scorehand of crib = %d\n", scorehand(hand, hand[4], CINHAND, TRUE, TRUE)); 115*14908Sarnold printf("\t%s\n", expl); 116*14908Sarnold # endif 1177712Sarnold } 118