Пример #1
0
void PokerDriver::runBetting(int bettingCycle) {
    int bet, callCounter = 0, minBet;

    while (unfoldedPlayers() > 1) {
        Player *player = m_Players.front();
        minBet = minimumBet(player);

        if (player->folded()) {
            callCounter++;
        } else {
            bet = player->bet(minBet, GAME_DISPLAY);
            cout << "Bet_SUCCESS" << endl;
            callCounter++;

            if (bet != Player::FOLD) {
                m_PotMoney += bet;

                if (bet > minBet) {
                    callCounter = 1;
                }
            }
        }

        if (callCounter >= unfoldedPlayers() || allPlayersAllIn())
            break;

        rotatePlayers();
    }
}
Пример #2
0
int betPlayer(P_PLAYER player) {
	int minimum = minimumBet(player);
	int maximum = maximumBet(player);
	int bet;
	char input[100];
	//int bet = enterBetPlayer(player, minimum);

	createBetScreen(minimum,maximum);

	//wait for valid input
	int validInput = 0;
	while (!validInput) {
		fgets (input, 100, stdin);

		if (isdigit(input[0])) {
			bet = atoi(input);
			if (bet >= minimum && bet <= maximum) {
				validInput = 1;
			}
			else if (bet < minimum && bet > maximum) {
				validInput = 1;
				player->allIn = 1;
			} else {
				wrongInputScreen();
			}			
		} else if (input[0] == 'F' || input[0] == 'f') {
			validInput = 1;
			printf("Fold input entered \n");
			bet = -1;
		} else {
			printf("Wrong input\n");
			wrongInputScreen();
		}
	}
	//getchar();
	
	//find out if raised or fold
	if (bet == minimum)
		bet = 0;
	else if (bet > minimum)
		bet = bet - minimum;

	processMoneyBet(player, bet, minimum);
	printf("BET: %d\n", bet);

	// 	OUTPUTS:
	// 	Folded:	-1
	// 	Called:	 0
	// 	Raised:	>0 - říká, o kolik jsi zvýšil
	return bet;
}
Пример #3
0
int betAI(P_PLAYER player) {
	int minimum = minimumBet(player);
	int bet = enterBetAI(player, minimum);
	const char* infoText;
	char textBuffer[50];

	processMoneyBet(player, bet, minimum);
	
	switch (bet) {
		case -1:
			sprintf(textBuffer, "%s folded", player->name);
			infoText = textBuffer;
			//infoText = player->name + " folded.";
			break;
		case 0:
			if (minimum > 0)
				//infoText = player->name + " called to " + to_string(player->moneyBet);
				sprintf(textBuffer, "%s called to %d", player->name, player->moneyBet);
			else
				//infoText = player->name + " checked";
				sprintf(textBuffer, "%s checked", player->name);
			infoText = textBuffer;

			break;
		default:
			//infoText = player->name + " has raised by " + to_string(bet) + " to bet of " + to_string(player->moneyBet);
			sprintf(textBuffer, "%s has raised by %d to bet of %d", player->name, bet, player->moneyBet);
			infoText = textBuffer;
			break;
	}
	if (player->allIn) {
		//infoText = player->name + " goes ALL IN with bet of " + to_string(player->moneyBet);
		sprintf(textBuffer, "%s goes ALL IN with bet of %d", player->name, player->moneyBet);
		infoText = textBuffer;
	}

	createScreen(infoText,"","PRESS ENTER TO CONTINUE");
	getchar();
	return bet;
}