PurePoker - Alpha

Spiele, Demos, Grafikzeug und anderes unterhaltendes.
Benutzeravatar
D@nte
Beiträge: 324
Registriert: 24.04.2007 15:33
Wohnort: Berlin

PurePoker - Alpha

Beitrag von D@nte »

Da ich privat ein großer Pokerfan bin und mal sehen wollte, ob ich auch in der Lage bin nen komplexeres Spiel zu programmieren, hab ich mich letzte Woche mal ran gemacht und angefangen PurePoker zu schreiben.
Da die Kartenauswertung jetzt fertig ist bräuchte ich nen paar Bug-Hunter die den Computer mal nen paar Karten verteilen lassen und die Ausgabe des Scoreboards auf Richtigkeit überprüfen.
Dann kann ich in Ruhe an der KI weitermachen.

Der MessageRequester 'Scoreboard' bietet die Möglichkeit die aktuellen Ergebnisse in einer PurePoker.txt zu speichern, wenn sich also jmd zum Testen erbarmen würde und eine falsche Ausgabe feststellt einfach speichern und mir per PM schicken ;)

Achja Regelwerk ist natürlich (erstmal) TexasHold'em

Die Karten haben im Scoreboard folgende Werte

Code: Alles auswählen

01 - Ass
02 -  2
03 -  3
04 -  4
05 -  5
06 -  6
07 -  7
08 -  8
09 -  9
10 - 10
11 - Bube
12 - Dame
13 - König
Player 1 - 4 Highcard entspricht der höchsten Karte auf der Hand des Spielers

Download: hier
Bild

Bin natürlich wie immer für jede Art von Feedback offen
Zuletzt geändert von D@nte am 09.07.2007 14:28, insgesamt 3-mal geändert.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7035
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

ist vllt eine etwas blöde bitte aber warum ist das so versetzt ?

Code: Alles auswählen

00 - Ass 
01 -  2 
02 -  3 
03 -  4 
04 -  5 
05 -  6 
06 -  7 
07 -  8 
08 -  9 
09 - 10 
10 - Bube 
11 - Dame 
12 - König 
warum nicht :

Code: Alles auswählen

01 - Ass 
02 -  2 
03 -  3 
04 -  4 
05 -  5 
06 -  6 
07 -  7 
08 -  8 
09 -  9 
10 - 10 
11 - Bube 
12 - Dame 
13 - König 
dann wäre das Testen für mich einfacher ;-)

EDIT:

Ich glaube ich hatte ein BUG :

HOLD : D D D A 7
ICH : A 6
und es wurde angezeigt :
- FullHouse D (OK)
- Drilling D (OK)
- Paar D (FEHLER , denn mein höheres Paar ist ja AA)

Bei diesem Fall war es richtig :
HOLD : 9 D A A 6
ICH : 9 9
und es wurde angezeigt :
- FullHouse 9 (OK)
- Drilling 9 (OK)
- Paar A (OK)

EDIT2:
HOLD : 5 9 2 5 9
ICH : 3 9
und es wurde angezeigt :
- FullHouse 5 (FEHLER)
- Drilling 5 (FEHLER)
- Paar 9 (OK)
Diese Art von Prob, trat bei gleicher Lage (andere Wert), immer auf
Bei diesem Fall war es richtig :
HOLD : A A A 2 9
ICH : D D
und es wurde angezeigt :
- FullHouse A (OK)
- Drilling A (OK)
- Paar D (OK)

Zusammenfassend solltest du dir noch mal die FullHouse Ermittlung angucken :wink:

Sonst kommte ich keine BUGs feststellen.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
D@nte
Beiträge: 324
Registriert: 24.04.2007 15:33
Wohnort: Berlin

Beitrag von D@nte »

Ersmal danke für's testen

>ist vllt eine etwas blöde bitte aber warum ist das so versetzt ?
Was daran blöd?! Hatte ich nicht weiter drüber nachgedacht das es für Leute die das nicht programmiert haben etwas umständlich ist...
00 für Ass weil 0 - 3 die IDs der Asse in der cards.dll sind und {0, 1, 2, 3} / 4 ist 0 hab jetzt einfach für's Scoreboard je ne + 1 angehängt

Hab noch 4 für mich zum Fehler rekonstruieren wichtige Zeilen in die PurePoker.txt eingefügt

Code: Alles auswählen

Player i : X | Y | Z | match : j
Hab jetzt den halben Tag dran rumgedoktort und nu müsste das mit dem Fullhouse auch richtig sein, zumindest bis ich den Code wieder optimiert hab...

Aus ner falsch kopierten 20-Zeilen-Berechnung wurde dann mal eben ne 150-Zeilen-Berechnung...
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7035
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

gut das es geht, aber 150 Berechnungszeilen ?

ich meine ich habe selber noch nicht berenen lassen welche Hand höher ist, aber mit n paar mathematischen Formeln müsste das doch "verschachtelbar" sein oder ?

oder sind 150 Zeilen für alle möglichen Hände, oder war das nur FH?
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
D@nte
Beiträge: 324
Registriert: 24.04.2007 15:33
Wohnort: Berlin

Beitrag von D@nte »

Nicht Berechnungszeilen!
x-Zeilen-Berechnung, jede Menge ifs nen paar Debugs, paar Variablenzuweisungen, noch mehr if's ;)
Die einzige Berechnungen die ich anstellen muss sind
X/4 - Kartenwert
X%4 - Kartenfarbe

Die 150 Zeilen (vor Optimierung) sind nur für FH

Zum Vergleich (nach Optimierung):
Berechnung aller Kartenkombos der Community Cards (CC) 138 Zeilen
Berechnung der Kartenkombos CC + Handcards PRO Spieler 541 Zeilen
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7035
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

hmm, ich versuche das mal mit Mathematischen Gleichungen (die vllt kompliziert sind, aber kleiner) die zeilen noch kleiner zu halten.

Falls ich was gutes hinbekomme, kann ich es dir ja geben, und sonst baue ich mein eigenes Poker :D
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Yoshi
Beiträge: 95
Registriert: 09.01.2007 16:42

Beitrag von Yoshi »

Bin ich tu blöd oder gibts da wirklich keine Chips?
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7035
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

noch nicht ^^

er will ja erst mal die Wertigkeit der Blätter 100% richtig haben.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7035
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

Tach D@nte,

ich weiß kommt etwas spät, aber ich habe jetzt eine Procedure geschrieben die eine 6-Stelligen Hex-Zahl ausgibt.

Diese Zahl gibt genau die Wertigkeit es Blattes (5 Karten) an welches aus 7 Karten gebildet wurde.

Der Spieler der dann die größte Zahl hat, hat gewonnen, ohne noch mal irgend etwas abzufragen, weil alles in dieser Zahl beachtet wurden (z.B. Kicker-Karten)

Wenn du sich gerne haben möchtest kannst du sie bekommen, fallst du sie überhaupt brauchst ^^
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Antworten