Sto scrivendo una domanda di poker e sto cercando di capire come affrontare pentole divise e side pot
Ci sono quattro round di scommesse e ogni round di puntate può avere più orbite
Posso solo scommettere le chips di fronte a te
Quindi se un giocatore è tutto in un piatto laterale viene creato
Le mani possono legare - nel qual caso il piatto è diviso
Se non sputa in modo uniforme l'ultimo aggressore (rilancia) ottiene il (i) gettone (i) dispari
Se sei cresciuto devi chiamare o passare
Se foldi perdi le tue puntate anche se la mano vince
Non puoi limitarti a scommettere e creare un piatto laterale
Crea un side pot se non ci sei dentro
PlayerA all in 40 Win
PlayerB 80 secondi
PlayerC 80 ultimo
Il giocatore A vorrebbe 120 (vincere 80 come 40 erano i suoi soldi in)
Il giocatore B vorrebbe 80
Ma non conosci l'ordine di vincita fino alla fine
E quando PlayerA è entrato non sai quante persone chiameranno
Quale potrebbe essere un buon algoritmo per questo?
Questo codice è C # ma in realtà cerca solo un approccio.
Il mio pensiero iniziale è quello di registrare tutte le scommesse per ogni giocatore strada, orbita, scommessa
Quando ciò diventa complicato è che in una singola orbita potresti avere più giocatori all in per importi diversi (scommessa)
E una quantità diversa non è solo tutto in
Il giocatore potrebbe essere alzato e poi foldare
In tal caso, sai che perdono ma non sai ancora chi perdere in
Raramente ci sono più di 3 orbite in un round Potresti presumere che non ci sarebbero mai più di 10 come se i giocatori con rilanci minimi si esaurissero di chip