Seite 1 von 1
Abfrage von Karten
Verfasst: 19.09.2007 13:36
von UGC
Hallo,
ich bin gerade dabei, ein Poker für meine Homepage zu programmieren.
ich hab soweit alles fertig, außer das Auslesen der Karten zur Punkte-Verteilung.
ich kann schlecht für jede Kartenkombination eine If-Abfrage machen und wollte fragen, ob so etwas auch anders geht.
Verfasst: 19.09.2007 16:27
von Pyramide
Naja du müsstest halt erstmal rausfinden, was für eine Hand es ist (Pärchen, Straße, Full House, ...), das geht nur manuell. Tip: Vorher sortieren, dann muss man z.B. beim Full House nur noch auf AAABB und AABBB prüfen, aber nicht mehr auf AABAB.
Beispielcode mit Regulären Ausdrücken:
Code: Alles auswählen
$hand = "JJJQQ"; //3 Buben, 2 Damen
if(preg_match('#(.{3})(.{2})|(.{2})(.{3})#', $hand, $matches))
{
//Full House
if(strlen($matches[1]) == 3) //bei (.{3})(.{2})
{
$three = $matches[1];
$two = $matches[2];
}
else //bei (.{2})(.{3})
{
$three = $matches[2];
$two = $matches[1];
}
//in $three steht jetzt drin von welcher Karte man 3 hat und in $two von welcher man zwei hat. Die müssen dann nur noch mit den anderen Spielern verglichen werden
}
elseif(preg_match('#(.*)(.{3})(.*)#', $hand, $matches))
{
//Drilling
$three = $matches[2]; // (.{3}), also das wovon man 3 Karten hat
$kicker = $matches[1] . $matches[3]; //Alles was vor und hinter dem Drilling ist, ist der Kicker
//Jetzt müssen nur noch $three und $kicker mit den anderen Spielern verglichen werden.
}
Verfasst: 19.09.2007 16:51
von UGC
Aber ich muss theoretisch trotzdem noch alles abfragen, oder?
Nur wird so halt alles abgefragt, was möglich zum gewinnen ist.
Danke, ich werde das dann mal versuchen

Wenn es soweit ist, bau ich es vllt in phpbb ein

Wenn ich durch den code durchblicke

Verfasst: 19.09.2007 17:16
von gn#36
Verfasst: 19.09.2007 17:19
von UGC
Kenn ich schon, danke

Da das seid einem Jahr nicht fertig wird, wollte ich mich selbst darin versuchen
Wenn das alles funzt kann das ja hinterher ein MOD-Autor vermoden

Dann ist das auch für php da

Verfasst: 19.09.2007 18:16
von UGC
@ Pyramide: Ist vllt zu viel verlangt, aber kannst du mir vllt die Auswertung programmieren?
für die $hand-Variable einfach $karten nehmen. Denn das is so angepasst, dass $karten das ist, was man hinterher hat.
Wäre toll, wenn du das machst, denn ich kapiers net, wich ich z.B. einen Royal Flush machen soll, weil ja nur von einer Farbe die 10, Bube, Dame, König und Ass dafür benötigt sind.
Und ich weiß auch net, wie ich eine Straße damit machen soll.
Bis dann,
UGC
Verfasst: 19.09.2007 21:12
von Dr.Death
Hi,
dies ist ein größeres Unterfangen, wende Dich daher bitte an unsere
Jobbörse
Vielleicht findet sich ja jemand.....