Multiplayer web poker game using Blazor webassembly, EF, SignalR
Front-End - Blazor WebAssembly
Back-End - ASP.NET Core with EF and SignalR
- Player can connect to their account.
- Players can connect to one table and see each other.
- Players can participate in a full game of texas holdem poker.
- Players can bet virtual currency(no winnings).
- Players hands are evaluated with hand strength evaluator.
- Winnings are distributed among participating player according to poker rules.
- Admin can control table parameters, such as player amount, small bet.
- Players in a room can communicate with each other
- Players can note usefull information about opponents
- Player can connect to their account.
Using Identity from EF and AuthenticationStateProvider from .NET Core players are able to connect to their accounts with default group being User.
- Players can connect to one table and see each other.
Using EF new table of tables was added to database. Each user can see all tables that are created and join them. After joining they are connected to SignalR hub table group.
- Players can participate in a full game of texas holdem poker.
Poker game engine is created in SignalR Hub. When player joins instance is created till there are no connected players left.
- Players can bet virtual currency(no winnings).
When players join game they have to select amount that they want to deposit to the game. After that they can raise/call with their deposited money.
- Players hands are evaluated with hand strength evaluator.
Evaluator gets 7 cards from community table and from player hand after that it evaluates hand from high(royal flush) to low(high card) using linq statments.
- Winnings are distributed among participating player according to poker rules.
After every round of a game pots are created with participating players. At the end of the game pots winners are decided and money distributed.
- Admin can control table parameters, such as player amount, small bet.
Added additional parameters to tables database table. Admin can modify them in admin control panel
- Players in a room can communicate with each other
Players that are connected to table SignalR hub can notify each other with their messages. Also game engine can send information to players.
- Players can note usefull information about opponents
New table is created in database to store information about players. It has one to many relationship with IdentityUser table. Players can modify text when they see the players playing in the same table they are.