This app fully simulates the game of Unlimited Texas Hold'em on iOS devices. With this app, players no longer need large amounts of heavy physical chips normally required for the game. Players can join a game hosted by anyone connecting to the same WiFi network. All a player has to do to join a game is click on Join Game and wait for the host's name to appear! This app completely follows the rules of the game, including four rounds of actions available (pre-flop, flop, turn, river). Furthermore, the application also automates the assignment of positions such as Dealer, Small Blind, and Big Blind. Also, the application also keeps track of user's chip count and automates the process of chip transferring to the winner of the pot of every hand. Whenever it's a player's turn, a player can make any valid move according to Texas Hold'em rules such as call, raise, fold, check, and also going ALL-IN! Players can also check other players' statistics that are stored persistently on each player's device by using the information icon ride beside each player. Below, we will first demonstrate the app and then go into the implementation details.
At first, one player can host a game by hitting Host Game. Every player can also decide how much chips to bring into a game through the slider on top.
After a player starts hosting a game, they then create an empty game room.
Other users can hit Search for games to look for any game hosted in the same WiFi network. When the desired game appears, simply click on the name of the host to join the game.
Here's an example with 3 players in a game!
The host can then hit Start, which is exclusive only to the host. Starting a hand and selecting a winner of the pot to transfer chips are exclusive to thhe host of the game. Here, we can also see that the first player to act, Player 1, gets to choose from FOLD, CALL, and RAISE. Notice that the name of player to action will blink on the list of players as shown. This will occur on all devices in the same game to let every player know who's to action.
Player 1 decides to raise to 5, and Player 2 decides to call. Player 3 can now make a decision as the big blind. If Player 3 re-raises, the round of actions will start again and everyone before Player 3 get another turn to make a decision.
As shown here, Player 1 gets another round to make a decision because the wager is now 15 but not 5. Player 1 calls, and Player 2 folds. Therefore, for later rounds, only Player 1 and Player 3 remain in game and Player 2 is skipped because Player 2 has folded.
Here, Player 3 is expected to action because Player 2 has folded. Therefore, since small blind has folded, the first to action becomes next position, which is big blind.
Just for demonstration purpose here, we assume Player 1 and Player 3 just check all the way till the hand ends. The host of the game can now determine who wins the game and selects the winner.
The host can then select a winner through this menu.
After a winner is selected, notice how all the chip transfers are completed. Also keep in mind that chip counts of each players are updated instantly after a player makes an action to ensure every player in the game has the most up to date information of each player.
Notice at the start of this game, Player 1 has less chips than Player 2.
Here Player 1 and Player 2 both go all-in. Assuming Player 1 wins, Player 1 should not be able to take Player 2's entire stack according to Texas Hold'em Rules.
Therefore, after choosing Player 1, the app automatically recognizes that Player 1 cannot win the entire pot. The remainder of Player 2's stack can then be returned to Player 2.
Just like this, Player 2 gets their 28 back.
The information icon beside each player in the game can bring up this page of statistics of a player. When playing in a game, each player's statistics is available for other players to view. This statistics is stored locally in each player's device persistently with SwiftData. Whenever a player joins a game, the statistics is sent to the host and then sent to every player in the game through the network connection. Since the statistics is stored locally, a player's statistics can follow the player no matter who the player plays with.
A player can also store multiple profiles on their device through modifying the local PlayerRecords. A player can choose which profile to join a game with if the player wants to separate their records from playing with different people.
Here's a menu for extra features on the host's device. When a hand goes wrong, the host can end the hand and disburse the chip in the pot.
When a host ends a game, every player's winning or loss is calculated and shown.
Notice a player who is not a host can also choose to leave the game first.
When a player does leave the game first, the player is shown his winning or loss.
When the game ends, the player who leaves earlier also has their winning or loss shown.
Whenever a mistake is made by selecting the wrong winner of the pot, the host can revert its action by restoring the pot.
After restoring the pot and giving the pot to the correct winner, here's the result.
Any player can also acquire additional chips by hitting the buy in option in the menu in the top right corner.
























