Annotation of 43BSD/games/cribbage/test.c, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 1980 Regents of the University of California.
                      3:  * All rights reserved.  The Berkeley software License Agreement
                      4:  * specifies the terms and conditions for redistribution.
                      5:  */
                      6: 
                      7: #ifndef lint
                      8: char copyright[] =
                      9: "@(#) Copyright (c) 1980 Regents of the University of California.\n\
                     10:  All rights reserved.\n";
                     11: #endif not lint
                     12: 
                     13: #ifndef lint
                     14: static char sccsid[] = "@(#)test.c     5.1 (Berkeley) 5/30/85";
                     15: #endif not lint
                     16: 
                     17: #include       <stdio.h>
                     18: #include       "deck.h"
                     19: 
                     20: 
                     21: CARD           known[ CARDS ];                 /* a deck */
                     22: CARD           deck[ CARDS ];                  /* a deck */
                     23: CARD           hand[ 4 ];                      /* a hand */
                     24: 
                     25: int            knownum;
                     26: 
                     27: 
                     28: main( argc, argv )
                     29: 
                     30:     int                argc;
                     31:     char       *argv[];
                     32: {
                     33:        register  int           k, l, m;
                     34:        int                     i, j, is, n, sum, sum2;
                     35:        CARD                    ic, jc;
                     36:        CARD                    d[ CARDS];
                     37:        extern char             expl[];
                     38: 
                     39:        printf( "Assuming cards are same suit\n" );
                     40:        if(  argc == 2  )  {
                     41:            is = atoi( *++argv );
                     42:            printf( "Starting at i = %d\n", is );
                     43:        }
                     44:        makedeck( deck );
                     45: # if 0
                     46:        for( i = is; i < RANKS; i++ )  {                /* first card */
                     47:            ic.rank = i;
                     48:            ic.suit = 0;
                     49:            hand[0] = ic;
                     50:            for( j = 0; j <= i; j++ )  {
                     51:                printf( "%d %d: sum  = %d\n", i, j, -10000000 );
                     52:                printf( "%d %d: sum2 = %d\n", i, j, -10000000 );
                     53:            }
                     54:            for( j = i + 1; j < RANKS; j++ )  {         /* second card */
                     55:                jc.rank = j;
                     56:                jc.suit = 0;
                     57:                hand[1] = jc;
                     58:                for( k = 0; k < CARDS; k++ )  d[k] = deck[k];
                     59:                n = CARDS;
                     60:                remove( ic, d, n-- );
                     61:                remove( jc, d, n-- );
                     62:                sum = 0;
                     63:                sum2 = 0;
                     64:                for( k = 0; k < n - 1; k++ )  {                 /* 3rd card */
                     65:                    hand[2] = d[k];
                     66:                    for( l = k + 1; l < n; l++ )  {             /* 4th card */
                     67:                        hand[3] = d[l];
                     68:                        for( m = 0; m < n; m++ )  {             /* cut card */
                     69:                            if(  m != l  &&  m != k  )
                     70:                                            sum += scorehand(hand, d[m], 4, FALSE, FALSE);
                     71:                                            sum2 += scorehand(hand, d[m], 4, TRUE, FALSE);
                     72:                        }
                     73:                    }
                     74:                }
                     75:                printf( "%d %d: sum  = %d\n", i, j, sum );
                     76:                printf( "%d %d: sum2 = %d\n", i, j, sum2 );
                     77:                fflush( stdout );
                     78:            }
                     79:        }
                     80:        printf( "\nthe hand scores %d\n", i );
                     81: # else
                     82:        hand[0].rank = 0;
                     83:        hand[1].rank = 1;
                     84:        hand[2].rank = 2;
                     85:        hand[3].rank = 3;
                     86:        hand[4].rank = 4;
                     87:        hand[0].suit = 0;
                     88:        hand[1].suit = 0;
                     89:        hand[2].suit = 0;
                     90:        hand[3].suit = 0;
                     91:        hand[4].suit = 0;
                     92:        printf("scorehand of hand = %d\n", scorehand(hand, hand[4], CINHAND, FALSE, TRUE));
                     93:        printf("\t%s\n", expl);
                     94:        hand[0].rank = 0;
                     95:        hand[1].rank = 1;
                     96:        hand[2].rank = 2;
                     97:        hand[3].rank = 3;
                     98:        hand[4].rank = 4;
                     99:        hand[0].suit = 0;
                    100:        hand[1].suit = 0;
                    101:        hand[2].suit = 0;
                    102:        hand[3].suit = 0;
                    103:        hand[4].suit = 0;
                    104:        printf("scorehand of crib = %d\n", scorehand(hand, hand[4], CINHAND, TRUE, TRUE));
                    105:        printf("\t%s\n", expl);
                    106:        hand[0].rank = 0;
                    107:        hand[1].rank = 1;
                    108:        hand[2].rank = 2;
                    109:        hand[3].rank = 3;
                    110:        hand[4].rank = 4;
                    111:        hand[0].suit = 0;
                    112:        hand[1].suit = 0;
                    113:        hand[2].suit = 0;
                    114:        hand[3].suit = 0;
                    115:        hand[4].suit = 1;
                    116:        printf("scorehand of hand = %d\n", scorehand(hand, hand[4], CINHAND, FALSE, TRUE));
                    117:        printf("\t%s\n", expl);
                    118:        hand[0].rank = 0;
                    119:        hand[1].rank = 1;
                    120:        hand[2].rank = 2;
                    121:        hand[3].rank = 3;
                    122:        hand[4].rank = 4;
                    123:        hand[0].suit = 0;
                    124:        hand[1].suit = 0;
                    125:        hand[2].suit = 0;
                    126:        hand[3].suit = 0;
                    127:        hand[4].suit = 1;
                    128:        printf("scorehand of crib = %d\n", scorehand(hand, hand[4], CINHAND, TRUE, TRUE));
                    129:        printf("\t%s\n", expl);
                    130: # endif
                    131: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.