6

As i am coding a poker game at the moment, i am facing with the problem of a new player joining or rejoining a hand already in progress. That being said i have drawn an image to better illustrate what i'm asking for.

enter image description here

In the picture above there is already a hand in progress with only 3 players seated on seat 1, 3 and 5 respectively. Dealer is seat 1, SB is seat 3 and BB is seat 5. The other seats are empty. There are three possible scenarios when joining a game and three others when you are rejoining after being away for a while.

I will post here my current knowledge of what can happen in each of the situations. Please feel free to correct me if i'm wrong.

Joining the game for the first time.

Case 1: The new player takes seat 6. The next hand he can post the BB and be dealt a hand. Nothing changes.

Case 2: The new player takes seat 4. The next hand he is not allowed to play until the dealer has passed him. The dealer will be seat 3, SB will be seat 5 and BB will be seat 6.

Case 3: The new player takes seat 2. The next hand the dealer will jump over him and he will be asked to either post the BB and be dealt a hand or wait for the BB.

Rejoining the game (sitting back in).

Case 1: The player is on seat 6. If the blinds didn't make a table round then the player will post BB and be dealt a hand. Nothing changes.

Case 2: The player is on seat 4. He missed only the big blind. He needs to post only the SB (dead money) to be dealt a hand or wait for BB. No sure about this one.

Case 3: The player is on seat 2. Having missed both blinds, the dealer will jump over him and he will be asked to either post SB + BB and be dealt a hand or wait for the big blind. If he chooses to post both blinds, the small blind will be considered 'dead', will be added to the pot and it will not count as a raise to the other players.

UPDATE

After reading Jon's answer and a bit of testing on pokerstars play money i realized that i have overcomplicated things in my previous cases. The only difference between a new player at the table and a returning one is that the latter might have missed some blinds while being away. With this in mind i think there are only three cases in total.

Case #1: Player is on seat 6. The next hand he will naturally be the big blind so regardless of being a new player or a returning player he will post only the big blind.

Case #2: Player is on seat 2. The next hand the dealer will jump over him and he can either wait for the big blind or post any missed blinds.

Case #3: Player is on seat 4. The next hand he is not allowed to play it but only after the dealer. The hand after is case #2 all over again.


The things get complicated and i do not understand what happens when there are two players playing head-to-head and a third player joins.

enter image description here

The solution here is that the players keep playing head up until the new player, or returning is in a position to take the big blind. At this point the player whom had the Small blind the last hand will get the button.

According to you, in the left side of the image above, on the next hand the new player (seat 2) is in the position to take the big blind. That is because the button will move to seat 3, seat 1 will be SB and seat 2 will be big blind but i know its wrong because i have tested it. So the only explanation is that i am missing something or i have misunderstood you, Jon.

You say that i should't code a special case when a third player joins and that is exactly what i am trying to figure it out, the general rule. But to me this seems to be a special case especially when the third hand the dealer will have to stay on the same seat while the blinds accommodate. It's as if the big blind always moves instead of the button.

According to the three conclusions i have come across in the update above a new player joining between the button and the big blind will have to wait for the dealer to pass them before they can be dealt a hand and post any missed blinds (if any). In the picture, on the left side, the next hand the dealer will pass over the new player and because he/she will not be in between the blinds anymore he/she should be able to play the hand.

  • 1
    rejoining the game case two did you mean to say he only missed the small blind? (I will write my answer assuming that this is what you meant) – Jon Jan 27 '15 at 19:19
  • @Jon actually its not a typo but a misunderstanding of mine that you could miss only the big blind while playing the next hand. As i noticed, if you missed the big blind you will automatically miss the small blind as well due to the fact that you are allowed to play only after the dealer. (that is without the buy-the-button rule) – osmiumbin Jan 28 '15 at 14:09
  • While there may be a "most correct way", and it would be good to document it, I think you could be practical and just say "any time someone joins a table, they post a BB to start playing". – corsiKa Jan 28 '15 at 22:56
1

Joining the game for the first time.

Case 1: The new player takes seat 6. The next hand he can post the BB and be dealt a hand. Nothing changes.

This is correct

Case 2: The new player takes seat 4. The next hand he is not allowed to play until the dealer has passed him. The dealer will be seat 3, SB will be seat 5 and BB will be seat 6.

This is correct, however it is perfectly fine to allow a player sitting in between the small blind and button to buy the button by posting both blinds. He will be able to play then receive the button the next hand.

Case 3: The new player takes seat 2. The next hand the dealer will jump over him and he will be asked to either post the BB and be dealt a hand or wait for the BB.

This is correct, however it is perfectly fine to allow a player sitting in between the small blind to buy the button by posting both blinds. He will be able to play then receive the button the next hand. This is also true for a returning player with missed blinds.

Rejoining the game (sitting back in).

Case 1: The player is on seat 6. If the blinds didn't make a table round then the player will post BB and be dealt a hand. Nothing changes.

If the player missed the big blind the player needs to post both blinds, if the player did not miss the blinds he is dealt back in without posting.

Case 2: The player is on seat 4. He missed only the big blind. He needs to post only the SB (dead money) to be dealt a hand or wait for BB. No sure about this one.

I am assuming you made a typo and meant missed only small blind. A player really cant miss just the big blind, and you did not address the missing only the small blind anyplace so I think the assumption your talking about missing the small blind is safe.

If he missed only the small blind he needs only to post the small blind. This may not be dead, since the small blind he missed is not dead The small blind is only dead when it is posted with the big blind. However, if the player stays away long enough were the blinds come back around to his seat, and he is not there to take the blinds he has than missed both blinds.

Case 3: The player is on seat 2. Having missed both blinds, the dealer will jump over him and he will be asked to either post SB + BB and be dealt a hand or wait for the big blind. If he chooses to post both blinds, the small blind will be considered 'dead', will be added to the pot and it will not count as a raise to the other players.

This is correct.

The things get complicated and I do not understand what happens when there are two players playing head-to-head and a third player joins. Possible cases: Player joins one of the seats: 5, 3 or 1 or rejoins the game on one of those seats.

The solution here is that the players keep playing head up until the new player, or returning is in a position to take the big blind. At this point the player whom had the Small blind the last hand will get the button.

Just as an aside outside out of the scope of your questions a bit. I would consider keeping your code very agile, or consider even adding configuration for this part of your program. The way blinds are made up, and rules for new players are somewhat subject to change over time. For example allowing players to make up blinds between the button and the small blind, called buying the button, is something relatively new.

You may also find this post and its answers helpful What are the rules for when you're dealt in to an online poker game

  • Thanks for the answer, but i think you are wrong with your reply on my rejoining case #1. Pokerstars asks me to post only the big blind if i wait for it regardless of missing any blinds before. I have edited my question with an update at the bottom. – osmiumbin Jan 28 '15 at 14:16
  • If a player sits out for a hand or two, without missing any blinds, he does not need to post a blind to receive a hand. – Jon Jan 28 '15 at 23:19
  • Yes you are right if it's about the current hand but in my example seat 6 will be big blind after the current hand so he will need to post the big blind to receive a hand. What i was saying in the first comment was that if he missed both blinds previously he will not have to post the extra dead small blind as well. I'm sorry for the confusion, i was talking about the next hand since the current one is in progress. – osmiumbin Jan 29 '15 at 8:17
  • Hey Jon, i don't understand your statement The solution here is that the players keep playing head up until the new player, or returning is in a position to take the big blind. since in a heads up game the big blind is one seat away from the dealer and not two. Thanks! – osmiumbin Jan 29 '15 at 13:47
  • Two Cases possible, 1.Small Blind is on the button, 2. Big blind is on the button. case 1. New player waits one hand in comes in on BB, the small blind from previous hand gets button twice. case 2. The new player takes the blind instead of the player on the button taking the blind. – Jon Jan 29 '15 at 14:23
0

Rejoining the game (sitting back in).

Case 1: The player is on seat 6. If the blinds didn't make a table round then the player will post BB and be dealt a hand. Nothing changes.*

If the player missed the big blind the player needs to post both blinds, if the player did not miss the blinds he is dealt back in without posting.

If I am reading this right the player is already playing in the game, is this Correct?

The player is not in a blind, just some place ahead of the blinds, and decides to get up, is this correct?

Assuming the player is in the game in any seat except a seat were blinds are due, the player does not need to post as long as he makes it back before the blinds reach the player. If the blinds reach the player before he has returned, the players has missed the blinds, and must post both blinds. In this case the player in seat 6 is not there so the player in seat 7 will be the big blind, and seat 5 will be the small blind. The missing player has missed both blinds at this point, and will have to post both blinds whenever they return, or sit out and post when the blinds reach the player.

Even if you allow the player to buy the button at this point, if the player elects to buy the button he has to buy it for two blinds.

What I get from what you write is that anytime the player sits out a hand, the player must post a big blind to come back in. This is not true the player siting out only has a post requirement if he has missed a blind. It is actually wrong to call it posting, that is what a new player is doing, what the player is doing is making up their missed blind.

osmiumbin, if I was writing this would track the player (for blinds and posts) with a simple object or three Boolean values to determine the players state and if they need to post something to be dealt in

bool Newplayer = true;
bool missedBigBlind = false;
bool missedSmallBlind = false;

These are the default values for any new player. As long as the newplayer value is true, nothing matters. He does not get a hand until whatever condition you decide to deal the new player in is meet. Also in this condition according whatever you decide he may or may not assume the obligations of the seat as far as blinds go.

Missed big blind, is defaulted to false, when the player misses a big blind the condition is set to true, and then the player must meet whatever condition you decide to receive a hand. Most of the time this is post the big blind and the small blind. When this condition is met, the player can receive cards.

MissedSmall blind is true when the player skips the small blind for what ever reason. The player then must meet your condition to receive cards, in this case posting a small blind. However you still track the player for missing the big blind, if the big blind comes to them and they are not back, you set missed small blind to false and set missed big blind to true. I would write a trigger to always change missed small to false whenever missed big blind is changed to true.

Those three conditions are all the conditions you need to determine a players eligibility for a hand, and base the rules for what a player needs to do to become eligible for a hand.

You should put in your code some flexibility by either allowing for configuration by your end user of the rules or at least make it so if you are hard coding the rules your code is agile enough not to break if you need to change something.

This is because their are no hard or fast rules for any of these conditions.

The new player may or may not be required to post a blind to get their first hand. The new player may or may not have to assume the obligations of the seat, Meaning if they decide to post, they may not let the button past and post behind the button, they would receive a missed blind button if they did not post in the blind, or before the blind reached them to take their first hand.

If they miss a blind, they may not have to make up the blind to get back in the game (I would advise against this particular one online). Or they may just have to post one blind to get back in the game.

For the small blind, they may or may not have to post. The blind they post may or may not be live.

These kind of things will vary, even in the same application. The scope of these will vary form game to game, there are some thing that are customary in low limit, like not posting a blind to get a hand, that are not customary in higher limits. The rules for posting should be part of the game definition.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.