Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » poker: abfrage von paar, drilling, full house...

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
26.12.2006, 23:30 Uhr
kurt



Hallo leute,

ich progge grad an einem poker-spiel für meine seminarfacharbeit. es handelt sich um die variante texas holdem no limit... dabei hab ich nun folgendes problem:

ich häng grad an der stelle dem computer klarzumachen was er auf der hand hat... dabei habe ich ein array:


C++:
Karten karten[7];      // <-- ein array der class Karten



in diesem array sind die 7 karten (2 auf der hand und 5 in der mitte) gespeichert... ich greif mit der funktion GetWert() auf den wert der karte zu (wert = ass, 2, 3, 4, 5, 6, 7, 8, 9, 10, bube, dame, könig)... nun will ich wissen ob ich ein paar, zwei paare, ein drilling, ein vierling oder ein full house habe...

ich habe dies bereits gelöst indem ich massiv viele if-abfragen benutze z.B.


C++:
if (karten[0].GetWert() == karten[1].GetWert())
        blatt = 1;                       // 1 entspricht einem paar
                                           // 2 entspricht 2 paaren
                                          // 3 entspricht drilling
                                         // 4 entspricht vierling
                                        // 5 entspricht einem full house



man kann sich nun ungefähr vorstellen das dies eine ziemlich lange und aufwendige arbeit ist alles möglichen varianten von paaren, drillingen... usw. durchzugehen...

deswegen hab ich die frage ob dies nich mit einer weniger aufwendigen arbeit zu lösen ist... vielleicht hat sich jemand mal mit diesem problem schon beschäftigt oder ähnliches gemacht!!

ich freue mich über jede hilfe... danke


MFG kurt
--
der tod ist sicher... das leben nicht... !!

Dieser Post wurde am 26.12.2006 um 23:32 Uhr von kurt editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
26.12.2006, 23:51 Uhr
~CsT
Gast


Bin auch gerade dabei, ein Pokerspiel zu programmieren.
Das ganze kann man mit for-Schleifen regeln. Wir gehen der einfachheithalber mal nur von 4 Karten aus.
Vergleich Karte 1 mit 2
Vergleich Karte 1 mit 3
Vergleich Karte 1 mit 4
Vergleich Karte 2 mit 3
Vergleich Karte 2 mit 4
Vergleich Karte 3 mit 4

Falls das gleich ist, kannst du von einem Paar ausgehen .. Drilling ähnlicher Aufbau, Aufbau der for-Schleife sollte auch klar sein.

[cpp]
for(int i=0; i<7-1; i++)
{
for(int j=i+1; j<7; j++)
{
// Vergleich etc.
}
}

Viele Grüße
CsT
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
27.12.2006, 10:58 Uhr
ao

(Operator)


Ich würde zuerst abzählen, wie viele Asse, Zweier, Dreier, Vierer ... ich auf der Hand habe und die Anzahlen in einem Array speichern, was von As bis König indiziert werden kann.

Und dann Regeln formulieren, wie man an diesem Anzahlen-Array ein Paar, zwei Paare, Drilling, FullHouse oder irgendwelche Straßen erkennen kann.

Was damit noch nicht geht, sind Straßen in einer Farbe; wenn man die unterscheiden will von gemischten Straßen, dann muss man genauer hingucken, aber der Rest geht mit den Anzahlen.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: