void CSymbolEngineChipAmounts::CalculateStacks() { // simple bubble sort for 10 stack values for (int i=0; i<p_tablemap->nchairs(); i++) { if (p_scraper_access->PlayerHasCards(i)) { _stack[i] = _balance[i]; } else { _stack[i] = 0; } } for (int i=0; i<p_tablemap->nchairs()-1; i++) { for (int j=i+1; j<p_tablemap->nchairs(); j++) { if (_stack[i] < _stack[j]) { SwapDoubles(&_stack[i], &_stack[j]); } } } for (int i=0; i<p_tablemap->nchairs(); i++) { assert(_stack[i] >= 0); } for (int i=p_tablemap->nchairs(); i<k_max_number_of_players; i++) { _stack[i] = 0; } }
void CTableLimits::SwapBlindsIfSbGreaterThanBBAndNotZero() { // If SB is greater than BB that is usually a mistake and we should swap. // But we don't swap, if BB is zero, as that does mean, // that we just got the amount wrong (BB got cards, i.e. dealt, but no bet). write_log(3, "CTableLimits::SwapBlindsIfSbGreaterThanBBAndNotZero()\n"); if ((tablelimit_unreliable_input.sblind > tablelimit_unreliable_input.bblind) && (tablelimit_unreliable_input.bblind >= 0.01)) { write_log(3, "CTableLimits::SwapBlindsIfSbGreaterThanBBAndNotZero swap neccessary\n"); SwapDoubles(&tablelimit_unreliable_input.sblind, &tablelimit_unreliable_input.bblind); } }
double CSymbolEngineChipAmounts::SortedBalance(const int rank) { assert(rank >= 0); assert(rank < k_max_number_of_players); double stacks[k_max_number_of_players]; for (int i=0; i<k_max_number_of_players; ++i) { stacks[i] = _currentbet[i] + p_table_state->_players[i]._balance; } // bubble sort stacks // !! duplicate code? for (int i=0; i<(k_max_number_of_players-1); ++i) { for (int n=i+1; n<k_max_number_of_players; ++n) { if (stacks[i] < stacks[n]) { SwapDoubles(&stacks[i], &stacks[n]); } } } return stacks[rank]; }
const double CGameState::SortedBalance(const int rank) { double stacks[k_max_number_of_players] = {0.}; for (int i=0; i<k_max_number_of_players; i++) stacks[i] = _m_holdem_state[_m_ndx].m_player[i].m_balance + _m_holdem_state[_m_ndx].m_player[i].m_currentbet; // bubble sort stacks //!! duplicate code? for (int i=0; i<(k_max_number_of_players-1); i++) { for (int n=i+1; n<k_max_number_of_players; n++) { if (stacks[i] < stacks[n]) { SwapDoubles(&stacks[i], &stacks[n]); } } } return stacks[rank]; }