<?php $player_1_bet = 12; // ALL IN $player_2_bet = 30; // CALLED $player_3_bet = 7; // ALL IN $player_4_bet = 30; // CALLED $total_pot = $player_1_bet + $player_2_bet + $player_3_bet + $player_4_bet; // Main Pot $main_pot = $player_3_bet * 4; // smallest all in bet * number entered at that price...needs to be more "dynamic" (ALL PLAYERS) $left_over = $total_pot - $main_pot; $side_pot_1 = $left_over * 3; // 3 = number players in for that amount (PLAYERS 1, 2 AND 4) $left_over = $total_pot - $side_pot_1; $side_pot_2 = $left_over * 2; // 2 = number players in for that amount (PLAYERS 2 AND 4) ?>
Refactorings
No refactoring yet !
Scott Reynen
October 28, 2008, October 28, 2008 17:31, permalink
You'll have to work out class definitions for player and pot, and define the by_bet function to get this working. Each pot should end up with the correct balance and all of the involved players.
$players = array();
$pots = array();
$players[] = new player( 1 , 12 ); // identifier , bet
$players[] = new player( 2 , 30 );
$players[] = new player( 3 , 7 );
$players[] = new player( 4 , 30 );
usort( $players , 'by_bet' ); // sort by bet
while ( count( $players ) > 0 ) // go until all money is in a pot
{
$pots[] = new pot; // make another pot
$smallest_bet = $players[0] -> bet; // get the common bet for this pot
foreach ( $players as $index => $player )
{
$player -> bet -= $smallest_bet; // take away player's money
$pot -> total += $smallest_bet; // add money to the pot
$pot -> players[] = $player; // add player to the pot
if ( $player -> bet == 0 ) unset( $players[ $index ] ); // remove players with no more money
}
}
geoge
July 31, 2011, July 31, 2011 01:52, permalink
C0IluD http://qnY82mcNxdOpl24gj.biz
C0IluD http://qnY82mcNxdOpl24gj.biz
geoge
July 31, 2011, July 31, 2011 01:53, permalink
C0IluD http://qnY82mcNxdOpl24gj.biz
C0IluD http://qnY82mcNxdOpl24gj.biz
crysty
July 30, 2011, July 30, 2011 16:06, permalink
aOoo8z http://ueNx8wqkk3Mnd.com
aOoo8z http://ueNx8wqkk3Mnd.com
crysty
July 30, 2011, July 30, 2011 16:06, permalink
aOoo8z http://ueNx8wqkk3Mnd.com
aOoo8z http://ueNx8wqkk3Mnd.com
crysty
July 30, 2011, July 30, 2011 16:06, permalink
aOoo8z http://ueNx8wqkk3Mnd.com
aOoo8z http://ueNx8wqkk3Mnd.com
crysty
July 30, 2011, July 30, 2011 16:06, permalink
aOoo8z http://ueNx8wqkk3Mnd.com
aOoo8z http://ueNx8wqkk3Mnd.com
crysty
July 30, 2011, July 30, 2011 16:06, permalink
aOoo8z http://ueNx8wqkk3Mnd.com
aOoo8z http://ueNx8wqkk3Mnd.com
geoge
July 31, 2011, July 31, 2011 01:51, permalink
C0IluD http://qnY82mcNxdOpl24gj.biz
C0IluD http://qnY82mcNxdOpl24gj.biz
So I don't currently have any code for this, I'm just having a hard time on how to implement it. Below is some pseudo code...
Obviously it needs A LOT of work...
Thanks!