コード例 #1
0
ファイル: player.c プロジェクト: CyberGrandChallenge/samples
struct player *create_player(uint8_t id, char *name) {

	struct player *p = NULL;
	p = calloc(sizeof(struct player));

	p->name = name;
	p->id = id;
	p->book_count = 0;
	p->h = create_hand();
	return p;
}
コード例 #2
0
ファイル: hand.c プロジェクト: dblack/ccards
Hand *create_batch_hand(char *card_info)
{
    char rank[3], suit[10];
    Hand *hand = create_hand();
    char *cp = card_info;
    int i = 0;
    sscanf(cp, "%s of %[a-z]s\n", rank, suit);
    add_card_to_hand(hand, rank, suit);
    while(cp = strchr(cp+1, ',')) { 
 	sscanf(cp, ", %s of %[a-z]s\n", rank, suit);	 
 	add_card_to_hand(hand, rank, suit); 
    } 
    return hand;
}
コード例 #3
0
ファイル: razz_simulation.c プロジェクト: eus/razz_simulation
int
simulate_razz_game (const struct decided_cards *decided_cards,
		    unsigned long game_count,
		    void *arg,
		    rank_listener listener)
{
  unsigned long i;
  card_hand *my_hand;
  card_deck *deck;

  my_hand = create_hand (RAZZ_CARD_IN_HAND_COUNT, sort_card_by_rank);
  if (my_hand == NULL)
    {
      fprintf (stderr, "Cannot create a hand\n");
      return 1;
    }

  for (i = 0; i < game_count; i++)
    {
      deck = create_shuffled_deck ();
      if (deck == NULL)
	{
	  fprintf (stderr, "Cannot create a shuffled deck\n");
	  destroy_deck (&deck);
	  return 1;
	}
      strip_deck (deck, decided_cards);

      complete_hand (my_hand, decided_cards, deck);
      listener (arg, get_razz_rank (my_hand));

      reset_hand (my_hand);
      destroy_deck (&deck);
    }

  destroy_hand (&my_hand);
  destroy_deck (&deck);

  return 0;
}