Jonas Laurens
- Front-end Developer
- Papa van 2
- Echtgenoot
- Techneut
- Superhelden-expert
- Gitarist
- Filmliefhebber
Poker
Opdracht
Onze docent vroeg ons om een multiplayer pokerspel te bouwen met behulp van een Node.js-server, een React-frontend, Redux voor state management en Socket.io voor de realtime verbinding tussen de server en de client.
Werking
Spelers moeten kunnen inloggen in het casino. Na het opgeven van hun naam, de server waarmee ze verbinding willen maken en een geheim wachtwoord, nemen ze plaats aan een pokertafel. Het spel start automatisch zodra vier spelers zijn ingelogd en hebben plaatsgenomen.
Het spel volgt de standaardregels van Texas Hold’em poker, compleet met vooraf geconfigureerde blinds en inzetten. Elke speler kan tijdens zijn beurt drie basisacties uitvoeren: callen, raisen of folden. Aan het einde van elke ronde wordt de winnende hand berekend en de pot toegekend aan de winnaar.
Resultaat
Ik heb de spelserver gebouwd met Node.js and Socket.io. De eerste versie was een volledig door de computer gestuurde simulatie van poker zonder enige gebruikersinteractie. Zodra de backend-spellogica stabiel was, heb ik de React-applicatie gemaakt, waarbij ik een veilige loginflow en client-server-interacties heb geïmplementeerd om spelers aan een tafel te plaatsen. Na het tot stand brengen van de verbinding heb ik de spellogica geïntegreerd in de frontend.
Alle state op de frontend wordt beheerd met Redux. Redux Toolkit is gebruikt om het mezelf wat makkelijker te maken door boilerplatecode te verminderen.
Gebruikte technologieën
Wat ik heb geleerd
- Socket.io
- Jest
- Redux en Redux Toolkit
- Hoe te berekenen wie er wint in een pokerspel met JS
Gevonden oplossingen
- Node.js en React verbinden via Socket.io