|
|
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: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.