Dag allen,
Ik werk momenteel aan een pokerprogramma.
Momenteel ben ik in staat om de handen te detecteren (dat wil zeggen, ik detecteer - per speler - of er sprake is van bijvoorbeeld een Full House, Two Pair of Three of a Kind).
Ik weet welke vijf kaarten (welke holecards + welke board cards) er gebruikt worden, dus dat weten we op dit moment.
Nu ben ik op een punt beland waar ik de handen een waarde moet toekennen.
Ik ben begonnen met een puntensysteem per type hand:
Royal Flush: 1000 ptn
Straight Flush: 900 ptn
4 of a kind: 800 ptn
...
3 of a kind: 400 ptn
2 paar: 300 ptn
1 paar: 200 ptn
Daarmee kan ik de verschillende handen van elkaar onderscheiden, en bepalen welke hand sterker is ( = welke hand meer punten heeft) ten opzichte van een andere hand.
Het probleem doet zich voor als x tegenstanders handen hebben die op elkaar lijken.
Een voorbeeld:
Speler A: Three of a Kind ('AAA75') (drie azen, een zeven en een vijf)
Speler B: Three of a Kind ('AAA74') (drie azen, een zeven en een vier)
Speler C: Three of a Kind ('KKK98') (drie koningen, een negen en een acht)
Hoe geef ik deze handen een waarde (tussen de 400 en 500 ptn) die aangeeft welke hand de sterkste is? Simpelweg de kaartwaarden (Aas=14, K=13, ... 2=2) optellen werkt uiteraard niet. Een hand als '222AA' ( = 34 ptn) zou dan winnen van een hand als '88833' ( = 30 punten ).
Dit probleem doet zich niet alleen voor bij Three of a Kind handen, maar ook bij handen als twee paar, een paar of zelfs bij 'high card' (laagst mogelijke hand).
Wellicht heeft iemand hier ervaring mee, alle input is welkom.
Ander voorbeeld:
Ook bij het hebben van slechts een high card doet dit probleem zich voor. Simpelweg de kaartwaarden optellen werkt niet:
Speler A: 'AT876' ( = 45 punten) (high card: Ace)
Speler B: 'KQJ87' ( = 51 punten) (high card: King)
Speler B zou winnen - hetgeen niet correct is (een high card Aas wint van een Koning).
Ik werk momenteel aan een pokerprogramma.
Momenteel ben ik in staat om de handen te detecteren (dat wil zeggen, ik detecteer - per speler - of er sprake is van bijvoorbeeld een Full House, Two Pair of Three of a Kind).
Ik weet welke vijf kaarten (welke holecards + welke board cards) er gebruikt worden, dus dat weten we op dit moment.
Nu ben ik op een punt beland waar ik de handen een waarde moet toekennen.
Ik ben begonnen met een puntensysteem per type hand:
Royal Flush: 1000 ptn
Straight Flush: 900 ptn
4 of a kind: 800 ptn
...
3 of a kind: 400 ptn
2 paar: 300 ptn
1 paar: 200 ptn
Daarmee kan ik de verschillende handen van elkaar onderscheiden, en bepalen welke hand sterker is ( = welke hand meer punten heeft) ten opzichte van een andere hand.
Het probleem doet zich voor als x tegenstanders handen hebben die op elkaar lijken.
Een voorbeeld:
Speler A: Three of a Kind ('AAA75') (drie azen, een zeven en een vijf)
Speler B: Three of a Kind ('AAA74') (drie azen, een zeven en een vier)
Speler C: Three of a Kind ('KKK98') (drie koningen, een negen en een acht)
Hoe geef ik deze handen een waarde (tussen de 400 en 500 ptn) die aangeeft welke hand de sterkste is? Simpelweg de kaartwaarden (Aas=14, K=13, ... 2=2) optellen werkt uiteraard niet. Een hand als '222AA' ( = 34 ptn) zou dan winnen van een hand als '88833' ( = 30 punten ).
Dit probleem doet zich niet alleen voor bij Three of a Kind handen, maar ook bij handen als twee paar, een paar of zelfs bij 'high card' (laagst mogelijke hand).
Wellicht heeft iemand hier ervaring mee, alle input is welkom.
Ander voorbeeld:
Ook bij het hebben van slechts een high card doet dit probleem zich voor. Simpelweg de kaartwaarden optellen werkt niet:
Speler A: 'AT876' ( = 45 punten) (high card: Ace)
Speler B: 'KQJ87' ( = 51 punten) (high card: King)
Speler B zou winnen - hetgeen niet correct is (een high card Aas wint van een Koning).
[ Voor 9% gewijzigd door Verwijderd op 18-03-2011 14:24 ]