Programmering. Pot Limit Omaha. Procenter på flop mod AAxx.

#1| 5

Hej Pokernet 

 

 

Jeg har lavet et hobby-projekt som jeg gerne vil vise.

Det er ikke perfekt men I får det alligevel.

 

 

Det er en hjemmeside.

Hjemmesiden er om Pot Limit Omaha og procenter på flop, mod AAxx.

Den kan afprøves her:

 

 

http://www.valbyskakklub.dk/pokerbord.html

 

 

Tryk på run og en simulering starter mod en 100% AAxx range.

 

 

Kort kan udskiftet ved 2 klik.

 

 

Man kan vælge et tilfældigt flop eller en tilfældig hånd ved tryk på en knap.

 

 

Knappen Step er til test.

Tryk 4 gange x og i vil se x showdown.

Så her kan hånden testet manuelt.

 

 

Hvis der er kode-interesserede, så kan der højreklikkes på siden og koden er synlig.

Denne gang har jeg lidt flere kommentarer på.

Der er brugt html, javascript og css.

Alt er samlet på én html-side.

Der gemmes værdier i query-parameterne. Det er smart at det kan lade sig gøre men jeg synes det er lidt støjende her.

 

 

Ellers:

 

Når regnemaskinen startes op med QQ99 er det ikke tilfældigt!

Tak til Thygesen for inspirationen.

Jeg havde næppe lavet projektet hvis det ikke var for hans omaha-video, der "vistnok" var om call af 4-bet.

 

 

Omkring min sidste tråd.

Tak til Junior og Tightgirl for relevant info i min sidste tråd der omhandlede fodbold-odds.

 

 

Kh

08-10-2023 20:28 #2| 0

Det er imponerende - sikke et arbejde/tid der er lagt i det!

 

Du kunne programmere python til at "se skærmen" genkende dine kort og floppet, så kunne du få angivet dem 'live' mens du spiller.. 

 

 

08-10-2023 22:05 #3| 0
Junior skrev:

Det er imponerende - sikke et arbejde/tid der er lagt i det! 

 

 

 

 Takker for de pæne ord. 

 


Jeg havde et tidligere holdem-projekt som jeg startede fra. 

Det tog ret lang tid dengang.

 

Men denne gang med omaha, er det gået ganske ok.

I dag har vi jo en chatbot der hjælper :-)


Den har været en stor hjælp med brugerfladen.


Junior skrev:

 

Du kunne programmere python til at "se skærmen" genkende dine kort og floppet, så kunne du få angivet dem 'live' mens du spiller.. 

 

 

Python er skønt at arbejde med. Det går utrolig stærkt når man har vænnet sig til det. 

 

Men jeg har et cms-system jeg skal forbedre og alt det poker-programmering er en oversprings-handling ;-)

 

 

Jeg har også et andet projekt der skal færdiggøres. 

 

Det er en hjemmeside der kan hjælpe med at arrangerer en skak-turnering.

Det er om et turnerings-format der hedder Monrad.

I en monrad-turnering skal en turneringsleder lægge de enkelte runder ud fra resultaterne.

Det er ikke let for urutinerede turneringsledere.

 

Så ville gerne lave noget der er tilgængeligt og kan bruges til formålet.

Hjemmesiden er her og kan måske bruges, selvom den ikke beregner korrektion.

 

https://valbyskakklub.dk/monrad.html

 

Hvis den en dag bliver helt færdig så findes der et andet turneringsformat der er relevant.

 

Men så skal jeg undgå overspringshandlinger :-)

 

 

 

 

 

 

13-10-2023 09:21 #4| 0

Angående den støjende URL parametrisering (er det et ord)

Du renser vist parametrene og det gør det ekstra støjende og muligvis unødvendigt? 

(Du har ikke "brug for" at kunne lave mellemrum og specialtegn)

Gem array som "6h_8s" osv

14-10-2023 21:34 #5| 0
Junior skrev:

Angående den støjende URL parametrisering (er det et ord)

 

Hos mig er det et ord 

 

 


Du renser vist parametrene og det gør det ekstra støjende og muligvis unødvendigt? 

 

Jeps.

Jeg skulle have undladt at gemme i url parameterne. Så havde siden været mere lækker.

Det ville være helt anderledes, hvis der var flere værdier der blev gemt.
Men her er det kun 7 kort.

 

 

Fordelen ved url-parametrene:

  • Der kan trykkes på opdater uden at siden ændres.
  • Browser historikken gemmer, så tidligere simuleringer kan ses.

 

 

Ulemperne:

  • Siden bliver langsommere.
  • Så hver gang side re-loades, så forsvinder skærmindstillingerne.
    På mobiltelefon, er det meget støjende.

 


(Du har ikke "brug for" at kunne lave mellemrum og specialtegn)

Gem array som "6h_8s" osv

 

 Alle specieltegn i url'en bliver heldigvis håndteres af standard-objekter.

 

 

Det foregår i metoden set_parameter( liste_nummer, liste_der_opdaterer );
Metoden opdaterer siden.

Når siden indlæses igen, dekrypteres speciel-tegnene i starten af html body'en.
Så får jeg mine oprindelige lister tilbage.

De bruges når siden skal vises.

 

 

Der er en tilstandsliste.
Den sørger for at vise et korrekt skærmbillede, i forhold til hvad brugeren klikker på.


Så er der listen med kort.
De gemmes som tal fra 1 til 52.

Nr 1 er spar es,
Nr. 2 er spar 2
Nr 14 er Hjerter es
osv


Det ser noget kryptisk ud når man kigger på adresse linjen.

 

På billedet kan ses at tallene 51 og 52 giver Q og K.

 

 


Der er en tredie liste der gemmes.
Men den er tom og bruges ikke.
Når jeg en dag får ferie igen, så begynder jeg måske at fylde i den.
Så bliver der lavet en knap hvor Skurkens range kan sættes til andet, og mere end AAxx.

Hvis det lykkes så bliver der brug for parametrene.

Men så længe siden kun kan lave en simulation mod AAxx, er det er ikke nødvendigt at gemme noget.
Derfor synes jeg url-parametrene støjer :-)

Redigeret af stonie111 d. 14-10-2023 21:38
20-10-2023 14:22 #6| 0

Jeg skulle have undladt at gemme i url parameterne. Så havde siden været mere lækker.


Jeg er uenig - jeg mente ikke at du ikke skulle gøre det :) 
Jeg mente at du kunne gøre det UDEN at bruge

fordi du ved at der ikke skal gemmes underlige tegn der skal "escapes".

Eksempelvis som Boliga gør her: https://www.boliga.dk/resultat?zipCodes=5000

Det er meget diskuteret mht. at gemme state i URL'en. Det støjer lidt, men til gengæld kan du gemme/sende indstillinger meget nemt.
21-10-2023 07:53 #7| 0

Nice pointe!

 

 

Du har fuldstændig ret. Ingen grund til at escape.

23-10-2023 20:48 #8| 0

Super cool @Stonie111, virkelig flot lavet, tak for at dele! Sjovt nok sad jeg med et spot igår hvor jeg var meget i tvivl om jeg kunne stacke af på floppet hvor villain 3better og potter floppet 100bb dyb. Mod random esser kan jeg se vi har jeg 52% (99% sikker på han havde esser i det spot), men synes den var svær da jeg kunne have mit flushdraw domineret og derved komme meget tyndt ind:

 

 

Af ren nysgerrighed, hvordan beregner din kode? Jeg bruger selv PLO Masterminds Trainer, som bygger på simulationer fra Monkersolver, er den måde din kode gør det på anerledes? Beklager hvis det er et dumt spørgsmål, men jeg er ikke så teknisk godt inde i selv "backend" af de værktøjer :-)

24-10-2023 02:16 #9| 1
iskov skrev:

Super cool @Stonie111, virkelig flot lavet

 

 

 

Det er jeg rigtig glad for at du synes.

 

iskov skrev: 

Af ren nysgerrighed, hvordan beregner din kode? Jeg bruger selv PLO Masterminds Trainer, som bygger på simulationer fra Monkersolver, er den måde din kode gør det på anderledes? Beklager hvis det er et dumt spørgsmål, men jeg er ikke så teknisk godt inde i selv "backend" af de værktøjer :-)

 

 

Jeg ved ikke hvordan Monkersolver fungerer. Jeg er heller ikke så teknisk :-)


 

Men min lille kode er let at beskrive.

Her er hvad koden gør, når procenter beregnes:


 


Der er valgt spillerkort og flop når en simulering startes. ( 7 kort )
Så der er 45 kort tilbage i bunken.



De 45 kort blandes.

Der uddeles en hånd til Skurken.

Hvis det ikke er AAxx, så er der omblanding.



Når Skurken får en AAxx hånd, så uddeles turn og river.

Resultat af showdown gemmes.

Så er simuleringen kørt én gang og starter forfra.




Simuleringen kører 1000 gange, medmindre der vælges andet.
Bagefter vises resultaterne af showdowns, som procenter.

 

24-10-2023 09:49 #10| 0

Hvor meget ekstra ville det kræve at lave dette til 6 korts omaha? :) 

Godt arbejde! 

24-10-2023 11:02 #11| 0
macstarr skrev:

Hvor meget ekstra ville det kræve at lave dette til 6 korts omaha? :) 

 

 Jeg formoder det vil tage en aftens tid.

 

 

Mere præcist:

Det vil kræve én ekstra funktion og så en anelse tilretning.

 

Rent teknisk:

I koden er en funktion. der afleverer den bedste pokerhånd.

Den modtager 9 kort.

 

Den skal ændres til at modtage 11 kort og ellers gøre det samme.



Funktion der skal ændres er:

getOmahaVaerdiHaandPlusBord( niKort );

 

 

 

Godt arbejde! 

 

 Tusind tak

24-10-2023 19:45 #12| 0
iskov skrev:

Super cool @Stonie111,


 

Af ren nysgerrighed, hvordan beregner din kode? Jeg bruger selv PLO Masterminds Trainer, som bygger på simulationer fra Monkersolver, er den måde din kode gør det på anerledes? Beklager hvis det er et dumt spørgsmål, men jeg er ikke så teknisk godt inde i selv "backend" af de værktøjer :-)

 

Det er to helt forskellige ting. Monker "solver" for strategier baseret på ev (bl.a fra equity) ved at spille mod sig selv, hvor stoniens værktøj er et equity calculation opslags tool - hand vs. hand. Begge dele kan i øvrigt fint bruges til at lære og blive bedre.

ProPokerTools var i mange år et fantastisk opslagsværk. Der kunne man også arbejde med nogle lineare (pre solver æraen) ranges etc.
Siden er dog død nu.

← Gå til forumoversigtenGå til toppen ↑
Skriv et svar