void MakeCard() { int balls = DrawRandomNumbers2(); int temp_numbers[5][5]; int counts[5]; int n; for( n = 0; n < 5; n++ ) counts[n] = 0; for( n = 0; n < 75; n++ ) { } }
int main( void ) { int n; char tmp[256]; int card_count = 0; int card; char *cardset; int cardset_start = 0; int cardset_end = 32000; snprintf( tmp, sizeof( tmp ), "cards.dat" ); printf( "Loading cardset....\n" ); LoadCardset( tmp, &card_count, &cardset ); { int num; //int s = ( n - 1 ) / 15; printf( "Sorting cardset...\n" ); for( card = 0; card < card_count; card++ ) { PCARD_TESTER tester = GetFromSet( CARD_TESTER, &test_set ); tester->card = cardset + (card * 25); //lprintf( "card %d(%d) = %p", card, GetMemberIndex( CARD_TESTER, &test_set, tester ), tester ); for( num = 0; num < 25; num++ ) { if( num == 12 ) continue; { PCARD_TESTER_LINK link = GetFromSet( CARD_TESTER_LINK, &test_set_links ); PCARD_TESTER_LINK *base_tester= &sorted_cards[cardset[card*25+num]]; link->tester = tester; //lprintf( "Add card %d to %d", card, cardset[card*25+num] ); if( link->next = (*base_tester) ) (*base_tester)->me = &link->next; (*base_tester) = link; } } } } printf( "Drawing balls...\n" ); for( n = 0; n < 0x40000000; n++ ) { int *source_balls = DrawRandomNumbers2(); int *balls; int ball; switch( n % 6 ) { case 0: max_counts[0] = 5; max_counts[1] = 15; max_counts[2] = 15; max_counts[3] = 15; max_counts[4] = 5; break; case 1: max_counts[0] = 15; max_counts[1] = 5; max_counts[2] = 15; max_counts[3] = 15; max_counts[4] = 5; break; case 2: max_counts[0] = 5; max_counts[1] = 15; max_counts[2] = 15; max_counts[3] = 5; max_counts[4] = 15; break; case 3: max_counts[0] = 15; max_counts[1] = 5; max_counts[2] = 15; max_counts[3] = 5; max_counts[4] = 15; break; case 4: max_counts[0] = 5; max_counts[1] = 5; max_counts[2] = 15; max_counts[3] = 15; max_counts[4] = 15; break; case 5: max_counts[0] = 15; max_counts[1] = 15; max_counts[2] = 15; max_counts[3] = 5; max_counts[4] = 5; break; } balls = PickBalls( source_balls ); for( card = 0; card < card_count; card++ ) { PCARD_TESTER tester = GetSetMember( CARD_TESTER, &test_set, card ); tester->marks = 0; } for( ball = 0; ball <= 75; ball++ ) { lprintf( "First card %p", sorted_cards[ball] ); } for( ball = 0; ball < 45; ball++ ) { int cards_marked = 0; int real_ball = balls[ball]; PCARD_TESTER_LINK tester; PCARD_TESTER_LINK prior = NULL; PCARD_TESTER_LINK _prior = NULL; lprintf( "First card %p", sorted_cards[real_ball] ); for( tester = sorted_cards[real_ball]; tester; tester = tester->next ) { cards_marked++; tester->tester->marks++; _prior = prior; prior = tester; } lprintf( "Marked %d cards with %d", cards_marked, real_ball ); } printf( "balls: " ); for( ball = 0; ball < 75; ball++ ) { printf( "%d,", balls[ball] ); } printf( "\n" ); fflush( stdout ); { for( ball = 0; ball < 25; ball++ ) { marks[ball] = 0; } ForAllInSet( CARD_TESTER, test_set, TestOk, 0 ); printf( "cards with X marks: " ); for( ball = 0; ball < 25; ball++ ) { printf( "%d,", marks[ball] ); } } printf( "\n" ); fflush( stdout ); { for( ball = 0; ball < 25; ball++ ) { marks[ball] = 0; } ForAllInSet( CARD_TESTER, test_set, TestOk2, 0 ); printf( "cards with X marks: " ); for( ball = 0; ball < 25; ball++ ) { printf( "%d,", marks[ball] ); } } printf( "\n" ); fflush( stdout ); } return 0; }