Hej! sidder og roder med et lille pokerspil.TexasHoldEm, og skal til at finde ud af hvilken spiller der har vundet. Som det ser ud nu har hver spiller en Vector<Kort> indeholdende de 7 kort der skal ses på. De 5 på bordet, og de 2 spilleren fik i hånden til at starte med. Et kort har en farve String Color (heart, spade...) og en værdi int value (1=es). Ethvert kort har også et unikt ID, starter ved 1 ved ruder1, og slutter ved 52 ved spar konge.
Hvordan tjekker jeg nemmest hvem der vinder? skal jeg virkelig undersøge alle muligheder for at trække 5 kort ud af de 7, og ved hver af dem undersøge om der er tale om flush, straigt.... hvis ja, hvordan trækker jeg nemmest 5 kort ud af de 7
Jeg tror også jeg vil opbygge det via disse løkker ... og så afvikle dem søgende efter det størst mulige og nedaf.
F.eks. int value = 0; for spiller 1: if(CheckRoyleFlush()){ value = "1"; break; } else if(checkFourOfaKind() .....
Du tildeler alle mulige hænder en value baseret på grupper - f.eks. RoyleFlush = 1; Straight Flush = 2; 4 ens = 3; etc.
så får spillerens hånd en værdi.
Du kan så sige at spilleren med lavest værdi vinder.
Efterfølgende hvis flere har FullHouse må du have en: CheckforBiggestHouse(); Hvor du så igen differentierer på først hvor store de 3 ens kort er og giver det en værdi. Er der igen flere spillere med lavest værdi - må du spørge ind på de 2 kort det udgør huset - hvor store er de .....
Du kan også vælge den "hårde" vej og tildele alle mulige hænder en værdi med det samme: Royle flush = 1; Straight Flush til konge = 2; Straight Flush til Dame = 3; etc.
Så skal du kun gennemløbe det en gang for at have en vinder. Men du vil bruge meget CPU-tid på at undersøge alle disse kombinationer uden det er nødvendigt. Der er jo ingen grund til at vide om det er en straight flush til Damen - hvis alle andre kun har fullhouse. Endvidere er der jo heller ingen grund til at søge dybere end den højeste værdi, med mindre du kan have split pots....
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.