1*21508Smckusick /* 2*21508Smckusick * Copyright (c) 1980 Regents of the University of California. 3*21508Smckusick * All rights reserved. The Berkeley software License Agreement 4*21508Smckusick * specifies the terms and conditions for redistribution. 5*21508Smckusick */ 67712Sarnold 7*21508Smckusick #ifndef lint 8*21508Smckusick char copyright[] = 9*21508Smckusick "@(#) Copyright (c) 1980 Regents of the University of California.\n\ 10*21508Smckusick All rights reserved.\n"; 11*21508Smckusick #endif not lint 12*21508Smckusick 13*21508Smckusick #ifndef lint 14*21508Smckusick static char sccsid[] = "@(#)test.c 5.1 (Berkeley) 05/30/85"; 15*21508Smckusick #endif not lint 16*21508Smckusick 177712Sarnold #include <stdio.h> 187712Sarnold #include "deck.h" 197712Sarnold 207712Sarnold 217712Sarnold CARD known[ CARDS ]; /* a deck */ 227712Sarnold CARD deck[ CARDS ]; /* a deck */ 237712Sarnold CARD hand[ 4 ]; /* a hand */ 247712Sarnold 257712Sarnold int knownum; 267712Sarnold 277712Sarnold 287712Sarnold main( argc, argv ) 297712Sarnold 307712Sarnold int argc; 317712Sarnold char *argv[]; 327712Sarnold { 337712Sarnold register int k, l, m; 3414908Sarnold int i, j, is, n, sum, sum2; 357712Sarnold CARD ic, jc; 367712Sarnold CARD d[ CARDS]; 3714908Sarnold extern char expl[]; 387712Sarnold 397712Sarnold printf( "Assuming cards are same suit\n" ); 407712Sarnold if( argc == 2 ) { 417712Sarnold is = atoi( *++argv ); 427712Sarnold printf( "Starting at i = %d\n", is ); 437712Sarnold } 447712Sarnold makedeck( deck ); 4514908Sarnold # if 0 467712Sarnold for( i = is; i < RANKS; i++ ) { /* first card */ 477712Sarnold ic.rank = i; 487712Sarnold ic.suit = 0; 497712Sarnold hand[0] = ic; 507712Sarnold for( j = 0; j <= i; j++ ) { 5114908Sarnold printf( "%d %d: sum = %d\n", i, j, -10000000 ); 5214908Sarnold printf( "%d %d: sum2 = %d\n", i, j, -10000000 ); 537712Sarnold } 547712Sarnold for( j = i + 1; j < RANKS; j++ ) { /* second card */ 557712Sarnold jc.rank = j; 567712Sarnold jc.suit = 0; 577712Sarnold hand[1] = jc; 587712Sarnold for( k = 0; k < CARDS; k++ ) d[k] = deck[k]; 597712Sarnold n = CARDS; 607712Sarnold remove( ic, d, n-- ); 617712Sarnold remove( jc, d, n-- ); 627712Sarnold sum = 0; 6314908Sarnold sum2 = 0; 647712Sarnold for( k = 0; k < n - 1; k++ ) { /* 3rd card */ 657712Sarnold hand[2] = d[k]; 667712Sarnold for( l = k + 1; l < n; l++ ) { /* 4th card */ 677712Sarnold hand[3] = d[l]; 687712Sarnold for( m = 0; m < n; m++ ) { /* cut card */ 697712Sarnold if( m != l && m != k ) 7014908Sarnold sum += scorehand(hand, d[m], 4, FALSE, FALSE); 7114908Sarnold sum2 += scorehand(hand, d[m], 4, TRUE, FALSE); 727712Sarnold } 737712Sarnold } 747712Sarnold } 7514908Sarnold printf( "%d %d: sum = %d\n", i, j, sum ); 7614908Sarnold printf( "%d %d: sum2 = %d\n", i, j, sum2 ); 777712Sarnold fflush( stdout ); 787712Sarnold } 797712Sarnold } 807712Sarnold printf( "\nthe hand scores %d\n", i ); 8114908Sarnold # else 8214908Sarnold hand[0].rank = 0; 8314908Sarnold hand[1].rank = 1; 8414908Sarnold hand[2].rank = 2; 8514908Sarnold hand[3].rank = 3; 8614908Sarnold hand[4].rank = 4; 8714908Sarnold hand[0].suit = 0; 8814908Sarnold hand[1].suit = 0; 8914908Sarnold hand[2].suit = 0; 9014908Sarnold hand[3].suit = 0; 9114908Sarnold hand[4].suit = 0; 9214908Sarnold printf("scorehand of hand = %d\n", scorehand(hand, hand[4], CINHAND, FALSE, TRUE)); 9314908Sarnold printf("\t%s\n", expl); 9414908Sarnold hand[0].rank = 0; 9514908Sarnold hand[1].rank = 1; 9614908Sarnold hand[2].rank = 2; 9714908Sarnold hand[3].rank = 3; 9814908Sarnold hand[4].rank = 4; 9914908Sarnold hand[0].suit = 0; 10014908Sarnold hand[1].suit = 0; 10114908Sarnold hand[2].suit = 0; 10214908Sarnold hand[3].suit = 0; 10314908Sarnold hand[4].suit = 0; 10414908Sarnold printf("scorehand of crib = %d\n", scorehand(hand, hand[4], CINHAND, TRUE, TRUE)); 10514908Sarnold printf("\t%s\n", expl); 10614908Sarnold hand[0].rank = 0; 10714908Sarnold hand[1].rank = 1; 10814908Sarnold hand[2].rank = 2; 10914908Sarnold hand[3].rank = 3; 11014908Sarnold hand[4].rank = 4; 11114908Sarnold hand[0].suit = 0; 11214908Sarnold hand[1].suit = 0; 11314908Sarnold hand[2].suit = 0; 11414908Sarnold hand[3].suit = 0; 11514908Sarnold hand[4].suit = 1; 11614908Sarnold printf("scorehand of hand = %d\n", scorehand(hand, hand[4], CINHAND, FALSE, TRUE)); 11714908Sarnold printf("\t%s\n", expl); 11814908Sarnold hand[0].rank = 0; 11914908Sarnold hand[1].rank = 1; 12014908Sarnold hand[2].rank = 2; 12114908Sarnold hand[3].rank = 3; 12214908Sarnold hand[4].rank = 4; 12314908Sarnold hand[0].suit = 0; 12414908Sarnold hand[1].suit = 0; 12514908Sarnold hand[2].suit = 0; 12614908Sarnold hand[3].suit = 0; 12714908Sarnold hand[4].suit = 1; 12814908Sarnold printf("scorehand of crib = %d\n", scorehand(hand, hand[4], CINHAND, TRUE, TRUE)); 12914908Sarnold printf("\t%s\n", expl); 13014908Sarnold # endif 1317712Sarnold } 132