Skip to content

aneopsy/Powker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Welcome to Powker!

Powker est un jeu de poker (Texas Holdem) en ligne et multi-joueurs, un projet scolaire réalisé en C#.


Index

[TOC]

Documentation

Powker est un jeu de poker, de type Texas Holdem, qui ce joue à deux et en ligne.

Note:

  • Client / Serveur
  • Beautiful UI Console Interface
  • Gestion du hasard avancée

Client

Le jeu se jouant à deux, il faudra alors deux clients lancés pour pouvoir y jouer. Une fois connecté, chaque client se voit attribuer sa main. Ensuite, le joueur qui n'est pas le dealer dépose la petite blind et la manche des blinds commence par le dealer. Pour chaque tour, le joueur a le choix parmi les actions suivantes: [C]heck/[C]all, [R]aise, [F]old, [A]ll-in

Serveur

Une fois le serveur lancé, celui-ci va attendre que deux joueurs se connectent pour pouvoir lancer la partie.


Protocole

Le protocole utilise NetworkComms pour la communication Client/Serveur ainsi que protobuf pour la sérialisation des données.

Note:

  • Protocole Intelligent.
  • Protocole Rapide.
  • Gestion de la connexion automatique.
  • Modulaire via les contextes.

Connection

Function Params
HandShake ShortGuid, string, string
Message string

StartContext

Function Params
StartGameContext List<string>, int
StartHandContext Card , Card , int , int , int , string
StartRoundContext GameRoundType , List<Card> , int , int

EndContext

Function Params
EndGameContext string
EndHandContext Dictionary<string, List<Card>>
EndRoundContext List<PlayerActionName>

TurnContext

Function Params
TurnContext int, int, int, int, int, int

Note: Si vous voulez rajouter des contexts, utilisez protobuf pour la sérialisation/désérialisation.


RandomShuffle

L'algorithme de Shuffle utilisé se réfère à celui de la page 32 du livre "Algorithms" (4th edition) de Robert Sedgewick [https://algs4.cs.princeton.edu/11model/]:


UML

Pour plus d'information regardez le fichier UML alt text Connection Serveur:

Client1->Serveur: HandShake
Note left of Serveur: Serveur Check
Serveur-->Client1: OK
Client2->Serveur: HandShake
Note right of Serveur: Serveur Check
Serveur-->Client2: OK

Connection Client:

s=>start: Start
e=>end: ...
op1=>operation: Input(Sever Address)
cond=>condition: HandShake

s->op1->cond
cond(yes)->e
cond(no)->op1

Librairie Externe

Network : NetworkComms

About

A Poker Game

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages