/ Forside / Karriere / Uddannelse / Højere uddannelser / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Højere uddannelser
#NavnPoint
Nordsted1 1588
erling_l 1224
ans 1150
dova 895
gert_h 800
molokyle 661
berpox 610
creamygirl 610
3773 570
10  jomfruane 570
Pokeranalysealgoritme?
Fra : Martin Christiansen


Dato : 18-01-06 17:49

Hejsa. Jeg blev henvist hertil fra en anden nyhedsgruppe så nu prøver jeg
lige lykken her:


Jeg er ved at lave et pokerprogram (til Texas Hold'em), som bl.a. skal kunne
afgøre, hvilken kombination, der den bedste på en hånd (dvs. finde den
bedste kombination ud af 7 givne kort).

Mine problemer opstår i forbindelse med straight og straight flush: Hvordan
finder man lettest ud af, hvad man har?


Umiddelbart lyder det jo som en simpel sag, men der er faldgruber:

* En mindre straight flush er mere værd en en højrere straight.

* Der kan være flere straights (og straight flush'er) blandt de samme 7
kort

* Es kan indgå både som mindste og højeste kort i en straight (men må ikke
ligge i midten).


Antag f.eks, at de 7 givne kort er:

Klør Es
Klør 2
Klør 3
Klør 4
Hjerter 5
Klør 5
Spar 6


Den efterlyste algoritme skal altså her kunne finde ud af, at højeste
kombination er en straight flush i klør (fra Es til 5), selv om der også er
2 almindelige straights (Én fra Es til 5, og én fra 2 til 6).

Hvordan kan en sådan algoritme se ud? (gerne pseudokode).

NB. Algoritmen bør også kunne udtale sig om, hvad det bedste enkeltkort er,
som ligger *udenfor* den bedste kombination ('kicker'). Jeg forestiller mig
noget lignende følgende:



public class PokerHand
{
private ArrayList Cards; //Holds 7 cards


.
. //Constructor and other member stuff here...
.


private bool CheckForStraight( out bool IsStraightFlush,
out Card HighestCardInCombination,
out Card Kicker )
{
// Must return true if a straight or straight flush is present
// among the seven cards in the Cards collection.
//
// The out parameters must reflect the most valuable
// straight combination found.

// Implementation is for you to find out!
}
}


--Martin



 
 
Jens Axel Søgaard (18-01-2006)
Kommentar
Fra : Jens Axel Søgaard


Dato : 18-01-06 18:04

Martin Christiansen wrote:
> Hejsa. Jeg blev henvist hertil fra en anden nyhedsgruppe så nu prøver jeg
> lige lykken her:
>
>
> Jeg er ved at lave et pokerprogram (til Texas Hold'em), som bl.a. skal kunne
> afgøre, hvilken kombination, der den bedste på en hånd (dvs. finde den
> bedste kombination ud af 7 givne kort).
>
> Mine problemer opstår i forbindelse med straight og straight flush: Hvordan
> finder man lettest ud af, hvad man har?
>
>
> Umiddelbart lyder det jo som en simpel sag, men der er faldgruber:
>
> * En mindre straight flush er mere værd en en højrere straight.

<http://en.wikipedia.org/wiki/Straight_flush>
Two such hands are compared by their high card in the same way as
are straights, and the same wild card rules apply as for straights.

<http://en.wikipedia.org/wiki/Straight_%28poker%29>
Two straights are ranked by comparing the high card of each.


Se også

<http://en.wikipedia.org/wiki/Poker_hand>

> * Der kan være flere straights (og straight flush'er) blandt de samme 7
> kort

Find den højeste for hver spiller.

> Hvordan kan en sådan algoritme se ud? (gerne pseudokode).

Er der en straight med es højest?
Er der en straight med konge højest?
Er der en straight med dame højest?
...

--
Jens Axel Søgaard

Henning Makholm (18-01-2006)
Kommentar
Fra : Henning Makholm


Dato : 18-01-06 19:33

Scripsit "Thomas S" <staermose@gmail.com>
> Jens Axel Søgaard wrote:

>> > Hvordan kan en sådan algoritme se ud? (gerne pseudokode).

>> Er der en straight med es højest?
>> Er der en straight med konge højest?
>> Er der en straight med dame højest?
>> ...

> Den kan da netop ikke skelne en straight flush fra en straight, men
> behandler dem ens.

Er der en straight flush med es højest?
Er der en straight flush med konge højest?
...
Er der en straight flush med syv højest?
Er der fire esser?
Er der fire konger?
...
Er der fire toere?
Er der E-E-E-K-K?
...
Er der en flush med otte højest?
Er der en straight med es højest?
Er der en straight med konge højest?
...

--
Henning Makholm "We can hope that this serious deficiency will be
remedied in the final version of BibTeX, 1.0, which is
expected to appear when the LaTeX 3.0 development is completed."

Kenneth Brun Nielsen (18-01-2006)
Kommentar
Fra : Kenneth Brun Nielsen


Dato : 18-01-06 23:13


"Henning Makholm" <henning@makholm.net> skrev i en meddelelse
news:87d5ipwfnl.fsf@kreon.lan.henning.makholm.net...

> Er der en straight flush med es højest?
> Er der en straight flush med konge højest?
> ...
> Er der en straight flush med syv højest?

Ikke (kun) for at være pedantisk, men du glemmer vist fem og seks, ik?
(A,2,3,4,5)

> Er der fire esser?
> Er der fire konger?
> ...
> Er der fire toere?
> Er der E-E-E-K-K?
> ...
> Er der en flush med otte højest?

Og her, seks og syv..

> Er der en straight med es højest?

/KBN



Stefan Holm (20-01-2006)
Kommentar
Fra : Stefan Holm


Dato : 20-01-06 01:44

Kenneth Brun Nielsen wrote:

>> Er der en flush med otte højest?
>
> Og her, seks og syv..

En flush med seks højest vil være straight (hvis den indeholder et es og
ikke er straight, vil det være højest).

--
Stefan Holm
"Når jeg ikke griner så meget, som jeg så gerne ville have gjort,
skyldes det, at jeg ikke morer mig."

Kenneth Brun Nielsen (21-01-2006)
Kommentar
Fra : Kenneth Brun Nielsen


Dato : 21-01-06 10:08


"Stefan Holm" <nospam@algebra.dk> skrev i en meddelelse
news:1p52jiqkbs917$.dlg@banach.algebra.dk...
> Kenneth Brun Nielsen wrote:
>
>>> Er der en flush med otte højest?
>>
>> Og her, seks og syv..
>
> En flush med seks højest vil være straight (hvis den indeholder et es og
> ikke er straight, vil det være højest).

Åh ja. Du vinder, Stefan

/Kenneth



Thomas S (18-01-2006)
Kommentar
Fra : Thomas S


Dato : 18-01-06 19:22

Jens Axel Søgaard wrote:
>
> > Hvordan kan en sådan algoritme se ud? (gerne pseudokode).
>
> Er der en straight med es højest?
> Er der en straight med konge højest?
> Er der en straight med dame højest?
> ...

Den kan da netop ikke skelne en straight flush fra en straight, men
behandler dem ens.

--
mvh

Thomas S


Kim Jensen (18-01-2006)
Kommentar
Fra : Kim Jensen


Dato : 18-01-06 22:07

Martin Christiansen wrote:
> private bool CheckForStraight( out bool IsStraightFlush,
> out Card HighestCardInCombination,
> out Card Kicker )

Nu misforstår jeg måske din pseudokode her, men hvis man har en straight
(5 kort), så vil man da aldrig skulle bruge en "kicker" til at afgøre
noget, da dette i så fald ville være et 6. kort (og det bruges ikke).

--
mvh Kim Jensen
blog.werx @ http://kim.litewerx.dk
Port80.biz // ColorBlender.com // LiteWerx.dk

Martin Christiansen (18-01-2006)
Kommentar
Fra : Martin Christiansen


Dato : 18-01-06 22:28


"Kim Jensen" <kim@_NOSPAM_litewerx.dk> skrev i en meddelelse
news:43ceadf5$0>
>
> Nu misforstår jeg måske din pseudokode her, men hvis man har en straight
> (5 kort), så vil man da aldrig skulle bruge en "kicker" til at afgøre
> noget, da dette i så fald ville være et 6. kort (og det bruges ikke).
>


Jeg tror du tager fejl, for i Texas Hold'em kan man komme ud for, at
straight'en befinder sig i de fælles 5 kort på bordet (meget sjældent,
ganske vist!). Vinderen er da den, som har det højeste kort på hånden
('Kicker'). Eller tager jeg fejl???

--Martin.



Jens Axel Søgaard (18-01-2006)
Kommentar
Fra : Jens Axel Søgaard


Dato : 18-01-06 22:44

Martin Christiansen wrote:
> "Kim Jensen" <kim@_NOSPAM_litewerx.dk> skrev i en meddelelse
> news:43ceadf5$0>
>
>>Nu misforstår jeg måske din pseudokode her, men hvis man har en straight
>>(5 kort), så vil man da aldrig skulle bruge en "kicker" til at afgøre
>>noget, da dette i så fald ville være et 6. kort (og det bruges ikke).
>
> Jeg tror du tager fejl, for i Texas Hold'em kan man komme ud for, at
> straight'en befinder sig i de fælles 5 kort på bordet (meget sjældent,
> ganske vist!). Vinderen er da den, som har det højeste kort på hånden
> ('Kicker'). Eller tager jeg fejl???

Ja du gør - udfra alle kort finder man den bedste hånd (a 5 kort)
for hver spiller. Derefter sammenlignes de to bedstehænder. Øvrige
kort er ligegyldige.

--
Jens Axel Søgaard

Martin Christiansen (23-01-2006)
Kommentar
Fra : Martin Christiansen


Dato : 23-01-06 23:09


"Jens Axel Søgaard" <usenet@soegaard.net> skrev i en meddelelse
news:43ceb68d$0$38677$edfadb0f@dread12.news.tele.dk...

>
> Ja du gør - udfra alle kort finder man den bedste hånd (a 5 kort)
> for hver spiller. Derefter sammenlignes de to bedstehænder. Øvrige
> kort er ligegyldige.
>

Tak, Jens, for en god og rigtig forklaring. Jeg siger mange tak til alle for
de inspirerende og opklarende indlæg.




Thomas S (18-01-2006)
Kommentar
Fra : Thomas S


Dato : 18-01-06 22:42

Martin Christiansen wrote:
> "Kim Jensen" <kim@_NOSPAM_litewerx.dk> skrev i en meddelelse
> news:43ceadf5$0>
> >
> > Nu misforstår jeg måske din pseudokode her, men hvis man har en straight
> > (5 kort), så vil man da aldrig skulle bruge en "kicker" til at afgøre
> > noget, da dette i så fald ville være et 6. kort (og det bruges ikke).
> >
>
>
> Jeg tror du tager fejl, for i Texas Hold'em kan man komme ud for, at
> straight'en befinder sig i de fælles 5 kort på bordet (meget sjældent,
> ganske vist!). Vinderen er da den, som har det højeste kort på hånden
> ('Kicker'). Eller tager jeg fejl???

Du tager fejl. En hånd i poker består af fem kort - præcis fem kort.
I den givne situation vil puljen blive delt mellem alle spillere, der
er med til slut. (Forudsat at straighten på bordet er den højeste
kombination af alle kort, altså at der ikke er en, der sidder med et
kort på hånden, der gør straighten højere eller gør den til en
straight flush). Sjette og syvende kort tæller aldrig, heller ikke
selv om de begge er på hånden.

--
mvh

Thomas S


Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste