Proloog

Texas Hold ‘em is de bekendste en meest voorkomende variant van poker. Deze variant is zo populair dat het doorgaans bedoeld wordt als men over poker spreekt. De grootste pokerevenementen ter wereld zijn meestal Texas Hold ‘em evenementen, denk hierbij aan het World Series Of Poker Main Event en het EPT Main Event. Ook in de wereld van online poker is Texas Hold ‘em veruit het meest populair en daarom de reden dat de grote online aanbieders voornamelijk pokertoernooien en cashgames aanbieden in deze variant. Naast Texas Hold ‘em is Pot Limit Omaha de meest populaire vorm van Poker.

Het doel van het spel is om de hoogst mogelijke kaartcombinatie te maken. De speler doet dit door 5 kaarten te kiezen uit 2 eigen gesloten kaarten en 5 gemeenschappelijke open kaarten. De speler mag kiezen om twee, één of geen van zijn eigen kaarten te gebruiken. Van tevoren zijn er afspraken gemaakt over de spelvorm en inzetlimieten. Texas Hold’em wordt gespeeld met één stok (Engels: deck) van 52 kaarten.

Oefening

Als oefening zullen we een aantal zaken van het spel automatiseren a.d.h.v. functies.

Het tweede argument geeft de integer die voor “A” moet worden teruggegeven. Indien het tweede argument niet gegeven is (lees default) dien je 1 terug te geven.

Achtergrondinformatie

  1. We zullen een kaart voorstellen door een tuple. Deze tuple bestaat uit twee elementen. Het eerste element is de getal waarde. Er bestaan kaarten van 2 tot en met 10. Ook bestaat er de Boer (Jack), Koningin (Queen), Koning (King) en Aas (Ace). Vervolgens heeft een kaart ook een soort of kleur. De soorten zijn opgelijst hieronder. (Een kaart bestaat dus uit een integer tussen 2 t.e.m. 10 of een string “J”, “Q”, “K”, “A” en een tweede element die één van de volgende strings is “S”, “H”, “K”, “R”.)
    • Schoppen
    • Harten
    • Klaveren
    • Ruiten
  2. We zullen een hand voorstellen door een lijst. In deze lijst zitten twee kaarten. Bovendien mogen deze twee kaarten niet exact hetzelfde zijn aangezien Texas Hold’em met één set kaarten wordt gespeeld en elke kaart dus uniek is.
  3. We zullen een tafel voorstellen door een lijst. In deze lijst zitten vijf kaarten. Bovendien mogen er geen dubbele kaarten zijn (geen exact dezelfde) aangezien Texas Hold’em met één set kaarten wordt gespeeld en elke kaart dus uniek is.
  4. De hoogte van een kaart wordt ten eerste bepaald door zijn getalwaarde. Daarbij is “J” hoger dan 10 en volgt voor de rest “J” < “Q” < “K” < “A”. Vervolgens geldt de soort. Daarbij geldt “K” < “R” < “H” < “S”.
  5. Vijf kaarten zijn samen een flush indien ze alle vijf van dezelfde soort zijn.
  6. Vijf kaarten zijn samen een straat indien de getalwaarde van de 5 kaarten een optellende reeks vormen. Bijvoorbeeld 9, 10, “J”, “Q”, “K”. Noteer hierbij dat een Aas zowel als getalwaarde 1 als 13 kan fungeren.
  7. Vijf kaarten zijn samen een straight flush indien ze zowel een straat (punt 6) als een flush (punt 5) vormen.

Voorbeeld

>>> iskaart((9, "H"))
True
>>> iskaart((10, "Z"))
False
>>> ishand([(5, 'K'), ('J', 'K')])
True
>>> ispaar([(7, 'K'), (7, 'H'), (7, 'S'), (7, 'R')], 4)
True
>>> isxpaar([(3, 'R'), ('J', 'K')], [(8, 'S'), (6, 'R')], 2, 2)
False
>>> isflush([('A', 'R'), ('J', 'S'), (4, 'H'), (7, 'S'), (2, 'R')])
False
>>> isstraat([(3, 'R'), (5, 'H'), (7, 'S'), (6, 'R'), (4, 'K')])
True
>>> isstraightflush([(3, 'R'), (5, 'R'), (7, 'R'), (6, 'R'), (4, 'R')])
True