Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Benutzerinterface Programmieren
HenryHux - So 26.09.10 16:47
Titel: Benutzerinterface Programmieren
Hi,
so da komm ich schon direkt mit der nächsten Frage =)
Ich wollte mal Fragen, wie man es am besten realisieren kann ein Interface zu programmieren, über welches der Benutzer "den Quelltext verändern" kann.
Ich bin gerade dabei ein Pokerspiel zu programmieren, fast fertig nur noch die KI nicht.
Jetzt wollte ich ein Interface machen, in denen Alle Kartenkombinationen stehen und man bei jeder eine Aktion zwischen ein paar Funktionen wie raise, check raise, fold, check call, check fold usw wählen kann, die ich vorher geschrieben habe. Mir geht es darum, die Übersicht zu behalten und hinterher schneller und sicherer Änderungen durchführen kann.
Lg
Henry
Jakob_Ullmann - So 26.09.10 16:53
Wo ist das Problem? Machst du die Aktionen als eigene Prozeduren, die du bei einem Button-Click aufrufst...
EDIT// Abgesehen davon: Denkst du nicht auch, dass es bessere Wege für eine KI gibt? Ich spiele kein Poker, aber ich bin sicher, dass man auch mit anderen Mitteln zu guten Ergebnissen kommt. Evtl. sind ja künstliche neuronale Netze für dich interessant.
HenryHux - So 26.09.10 16:54
Ja würde ich normal auch.
Aber das sind so viele, dass ich den Überblick verliere.
Gausi - So 26.09.10 16:55
HenryHux hat folgendes geschrieben : |
Jetzt wollte ich ein Interface machen, in denen Alle Kartenkombinationen stehen und man bei jeder eine Aktion zwischen [...] |
Wenn ich das richtig verstehe, ist das ein ganz falscher Ansatz. Besser wäre, wenn die KI das eigene Blatt allgemein "bewerten" würde, d.h. eine Gewinnwahrscheinlichkeit ausrechnet. In diese könnten auch Aktionen des Nutzers bzgl. raise/check/... eingehen.
Aber alle Kombinationen auflisten und für jede Aktion dann die passende Reaktion vorzugeben, ist quasi unmöglich. Für die drei eigenen Karten gibt es schon 32*31*30 = 29.760 Möglichkeiten (naja, nicht ganz, eher ein Sechstel davon, ist aber auch egal ;-)). Das willst du nicht einzeln abarbeiten.
Jakob_Ullmann - So 26.09.10 16:56
Methodenzeiger?
*hinweis auf meinen Edit*
HenryHux - So 26.09.10 16:59
[quote="
Gausi"(618705)]
HenryHux hat folgendes geschrieben : |
Aber alle Kombinationen auflisten und für jede Aktion dann die passende Reaktion vorzugeben, ist quasi unmöglich. Für die drei eigenen Karten gibt es schon 32*31*30 = 29.760 Möglichkeiten (naja, nicht ganz, eher ein Sechstel davon, ist aber auch egal ;-)). Das willst du nicht einzeln abarbeiten. |
Naja nicht ganz, bei Stud spielen die Farben keine Rolle. Dh ich habe bei meinen ersten 3 Karten 13*3 Möglichkeiten.
Die Arbeit die das vorraussetzt, ist erstmal egal, es geht um eine Wette wer die bessere KI entwickelt :D
Jakob_Ullmann hat folgendes geschrieben : |
EDIT// Abgesehen davon: Denkst du nicht auch, dass es bessere Wege für eine KI gibt? Ich spiele kein Poker, aber ich bin sicher, dass man auch mit anderen Mitteln zu guten Ergebnissen kommt. Evtl. sind ja künstliche neuronale Netze für dich interessant. |
Ja, gibt bestimmt bessere Wege, aber ich habe Delphi vor 3 Wochen kennengelernt und ich glaube sowas ist das ein bisschen hoch :D
Gausi - So 26.09.10 17:02
Nein, dann hast bei den ersten drei Karten nicht 13 mal 3, sondern 13 hoch 3 Möglichkeiten. Also größenordnungsmäßig 1000, und nicht 30.
HenryHux - So 26.09.10 17:10
Gausi hat folgendes geschrieben : |
| Nein, dann hast bei den ersten drei Karten nicht 13 mal 3, sondern 13 hoch 3 Möglichkeiten. Also größenordnungsmäßig 1000, und nicht 30. |
Ok, überzeugt :D
Wie gut wäre es möglich soetwas zu programmieren und per %te die Ausgabe zu bestimmen?
http://www.propokertools.com/simulations
elundril - So 26.09.10 17:15
Wenn mans kann sehr gut und sehr einfach!
lg elundril
HenryHux - So 26.09.10 17:18
Toller Tipp, danke :D
Dann werde ich mich mal ran machen.
Das einzige was man noch machen müsste wäre dabei die Spielweise des Gegners zu analysieren und so auf seine Hole cards zu kommen.
Könntet ihr mir denn vielleicht ein Denkanstoß geben, wie ich so einen Rechner "bauen" könnte?
Denn der von ProPokerTools arbeitet zum Beispiel mit Testläufen und Simulationen.
Danke
Gausi - So 26.09.10 17:21
Für den Anfang würde ja auch so eine Wertung reichen:
Wenn man zwei gleich Karten hat: Gut.
Wenn diese beiden Karten hohe Werte haben: Besser.
Wenn man sogar drei gleiche hat: Sehr gut.
Müsste man natürlich etwas feiner ausknobeln. ;-)
HenryHux - So 26.09.10 17:31
Naja wenn dann eher:
Wenn man zwei gleich Karten hat: Schlecht.
Wenn diese beiden Karten hohe Werte haben: Schlechter.
Wenn man sogar drei gleiche hat: Am schlechtesten. :D
Genau gesagt geht es um Razz.
Ja bestimmt würde das reichen, aber es geht um eine Wette und ich verliere nicht gerne :D
Also wäre das Leistungs/Aufwand Verhältnis bei einer eingebauten Simulation bestimmt am besten.
Hat also jemand eine Idee wie man eine Hand simulieren könnte?
HenryHux - So 26.09.10 18:09
So ich habe jetzt einen Quellcode für genau so eine Simulation gefunden.
Doch leider in C -.-
Kennt jemand eine möglichkeit das in Delphi zu übersetzen?
Lg
jaenicke - So 26.09.10 18:26
Ja, entweder Zeile für Zeile oder verstehen und in Delphi selbst umsetzen. ;-)
HenryHux - So 26.09.10 18:40
Ja hast du bestimmt nicht unrecht mit.
Aber deswegen ist so ein Forum doch da, um ein bisschen Hilfe zu bekommen :D
Ich will ja keinen kompletten Quellcode, es würde ja reichen, wenn ich einen Ansatz hätte. Egal ob in Form von Logik oder Quelltext =)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!