Ejemplo n.º 1
0
int main(void)
{
	//init all
	CARD t_poker_card[CARDNUM];
	CARD hand_cards1[HANDCARDMAX], hand_cards2[HANDCARDMAX], hand_cards3[HANDCARDMAX], hand_cards4[HANDCARDMAX];

	PLAYER t_card_player[HANDCARDMAX] = {
		{{"Alice"}, 0, {hand_cards1[HANDCARDMAX]}}, 
		{{"Ben"}, 1, {hand_cards2[HANDCARDMAX]}}, 
		{{"Clark"}, 2, {hand_cards3[HANDCARDMAX]}}, 
		{{"Durant"}, 3, {hand_cards4[HANDCARDMAX]}}};

	SCOREIND t_indicator = {2, 2, 1};
	int game_level = 2;

	while(t_indicator.partnerA < 14|| t_indicator.partnerB < 14){
			//start one game
		init_cards(t_poker_card);
		shuffle_cards(t_poker_card);

		if(t_indicator.round != 1){
			//

		}
		else{
			//first game
			deal_cards(t_poker_card, &t_card_player[0], &t_card_player[1], &t_card_player[2], &t_card_player[3]);

		}
	}



	return 0;
}
Ejemplo n.º 2
0
int main(void) {
  int i;
  char val, suit;
  int bmajor, bminor, wmajor, wminor;

  init_cards();

  while(1) {
    for (i=0; i < 5; i++) {
      if (scanf(" %c%c", &val, &suit) != 2) {
        exit(0);
      }
      black_values[i] = card_values[val];
      black_suits[i] = card_suits[suit];
    }
    for (i=0; i < 5; i++) {
      if (scanf(" %c%c", &val, &suit) != 2) {
        exit(0);
      }
      white_values[i] = card_values[val];
      white_suits[i] = card_suits[suit];
    }
    qsort(black_values, 5, sizeof(int), compare);
    qsort(black_suits, 5, sizeof(int), compare);
    qsort(white_values, 5, sizeof(int), compare);
    qsort(white_suits, 5, sizeof(int), compare);

    get_ranks(black_values, black_suits, &bmajor, &bminor);
    get_ranks(white_values, white_suits, &wmajor, &wminor);

    if (wmajor > bmajor) {
      printf("White wins.\n");
    } else if (bmajor > wmajor) {
      printf("Black wins.\n");
    } else if (wminor > bminor) {
      printf("White wins.\n");
    } else if (bminor > wminor) {
      printf("Black wins.\n");
    } else {
      printf("Tie.\n");
    }
  }
}
Ejemplo n.º 3
0
Archivo: Game.c Proyecto: GURKE/Memory
int Load_Game()
{
    FILE *f = fopen("Savegame.txt", "r");
    if (fprintf(f, "") == EOF)
        return -1;

    int GameSizeX = 0, GameSizeY = 0, amPlayers = 0;
    char FileName[FILENAME_LENGHT];
    if (fscanf(f, "%d %d %d %s", amPlayers, GameSizeX, GameSizeY, &FileName) == EOF)
        return FAILED_LOADING_SAVEGAME;

    struct Card cards[ARRAY_LENGTH];
    int amCards = init_cards(&cards, "Savegame_Cards.txt");
    if (amCards < 0)
        return amCards;

    Card_Background = load_picture(Card_Background, FileName);

    start_game(amPlayers, cards, amCards, GameSizeX, GameSizeY, &Card_Background, 1);

    return 0;
}
Ejemplo n.º 4
0
void play_game_all(int nclients)
{
	int id;
	pthread_t threads[MAX_PLAYERS];

	init_cards();

	for (id = 0; id < nclients; ++id)
		pthread_create(&threads[id], NULL, play_game_one, (void*) id);

	for (id = 0; id < nclients; ++id)
		pthread_join(threads[id], NULL);

	for (id = 0; id < MAX_PLAYERS; ++id)
	{
		if (clientSockFds[id] > 0)
		{
			int i = 0;
			int nwritten;
			char buffer[BUFFER_SIZE];
			int player_sum, dealer_sum;
			int *player_hand_values = players_hand_values[id], *dealer_hand_values = dealers_hand_values[id];
			int *player_hand_suits = players_hand_suits[id], *dealer_hand_suits = dealers_hand_suits[id];

			while (calc_sum(dealer_hand_values, ndealers[id]) < 17)
			{
				dealer_hand_values[ndealers[id]] = card_values[ncard];
				dealer_hand_suits[ndealers[id]] = card_suits[ncard];
				buffer[i++] = value_codes[dealer_hand_values[ndealers[id]]];
				buffer[i++] = suit_codes[dealer_hand_suits[ndealers[id]]];
				++ncard;
				++ndealers[id];
			}
			buffer[i] = 0;

			printf("\n");
			printf("Player %d Hand: ", clientSockFds[id]);
			display_state(player_hand_values, player_hand_suits, nplayers[id]);
			printf("Dealer %d Hand: ", clientSockFds[id]);
			display_state(dealer_hand_values, dealer_hand_suits, ndealers[id]);

			if (BUFFER_SIZE != (nwritten = write(clientSockFds[id], buffer, BUFFER_SIZE)))
			{
				printf("Error! Couldn't write to player %d.\n", clientSockFds[id]);
				close(clientSockFds[id]);
				return;
			}

			player_sum = calc_sum(player_hand_values, nplayers[id]);
			dealer_sum = calc_sum(dealer_hand_values, ndealers[id]);

			if (dealer_sum > 21)
				printf("\nDealer busted! Player %d wins!\n", clientSockFds[id]);
			else if (player_sum == dealer_sum)
				printf("\nPlayer %d and dealer have the same score. It's a push!\n", clientSockFds[id]);
			else if (player_sum < dealer_sum)
				printf("\nDealer has a higher score than player %d. Dealer wins!\n", clientSockFds[id]);
			else
				printf("\nPlayer %d has a higher score. Player wins!\n", clientSockFds[id]);
		}
	}
}