int main(void) { Pile *players[PLAYERS], *deck, *discard; int i, j, k; Player* /* Initilize game state memory */ k = rand_init(); assert(k == 0); for (i = 0; i < PLAYERS; i++) players[i] = create_deck(10, 0, 1); discard = create_deck(deck_sizes[PLAYERS], 0, 1); deck = create_deck(deck_sizes[PLAYERS], 0, 0); /* Set game to initial state */ for (i = 0; i < PLAYERS; i++) for (j = 0; j < 10; j++) players[i]->deck[j] = draw_card(deck); /* Free up allocated memory */ (void)free_deck(&deck); (void)free_deck(&discard); for (i = 0; i < PLAYERS; i++) if (players[i] != NULL) (void)free_deck(&players[i]); return 0; }
int main(void) { int n_deals; card deck[52]; printf("Enter number of deals: "); scanf("%d", &n_deals); create_deck(deck); play_poker(deck, n_deals); return 0; }
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; }
int main(void) { t_deck *d; t_burned *b; b = malloc(sizeof(t_burned)); b->nb_card = 0; if (!(d = create_deck())) return (1); g_randfd = open("/dev/random", O_RDONLY); print_deck(d); get_random_card(d, b); get_random_card(d, b); get_random_card(d, b); print_deck(d); print_card(b->card[0]); print_card(b->card[1]); print_card(b->card[2]); recover_cards(d, b, NULL); print_deck(d); return (0); }
void init_game(struct game_t *game) { create_deck(game); shuffle(game); deal(game); }
struct deck *get_shuffled_deck(uint8_t seed) { struct deck *d; d = create_deck(); shuffle_deck(d, seed); return d; }