void do_blackjack(CHAR_DATA *ch,char *argument) { char arg1[MAX_INPUT_LENGTH],arg2[MAX_INPUT_LENGTH]; char buf[MAX_STRING_LENGTH]; argument = one_argument( argument, arg1 ); argument = one_argument( argument, arg2 ); if( arg1[0] == '\0' ) { send_to_char("You must bet, hit, stand or hand.\n\r",ch); return; } switch( LOWER(arg1[0]) ) { case 'b': place_bet(ch,UMIN(30000,atoi(arg2))); break; case 'h': give_card(ch); show_bj_hand(ch,TRUE); check_bj_hand(ch); break; case 's': show_bj_hand(ch,TRUE); show_bj_hand(ch,FALSE); break; case 'h': default: show_bj_hand(ch,TRUE); } return; }
int *draw_n_cards_for_n_players_n_times(int nSuits, int nCardsOfSuit, int nCards, int nPlayers, int nTimes){ int index, i, j; int *sumOfCards; player **players; deck *cardinal; sumOfCards = (int *)calloc(nCards*11, sizeof(int)); players = malloc(sizeof(player *)*nPlayers); cardinal = create_deck(nSuits, nCardsOfSuit); while(nTimes){ index = 0; shuffle_deck(cardinal); for(i = 0; i < nPlayers; i++){ players[i] = get_new_player(); for(j = 0; j < nCards - 2; j++, index++) give_card(players[i]->hand, cardinal, index); calculate_score(players[i]); sumOfCards[players[i]->score] += 1; } for(i = 0; i < nPlayers; i++) trash_participant(players[i]); nTimes--; } trash_deck(cardinal); return sumOfCards; }