| Autor |
Beitrag |
HenryHux
      
Beiträge: 542
Erhaltene Danke: 33
Windows 7 Premium
Delphi XE, Eclipse
|
Verfasst: So 26.09.10 16:47
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
      
Beiträge: 1747
Erhaltene Danke: 15
Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
|
Verfasst: 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.
Zuletzt bearbeitet von Jakob_Ullmann am So 26.09.10 16:55, insgesamt 2-mal bearbeitet
|
|
HenryHux 
      
Beiträge: 542
Erhaltene Danke: 33
Windows 7 Premium
Delphi XE, Eclipse
|
Verfasst: So 26.09.10 16:54
Ja würde ich normal auch.
Aber das sind so viele, dass ich den Überblick verliere.
|
|
Gausi
      
Beiträge: 8554
Erhaltene Danke: 481
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: 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.
_________________ We are, we were and will not be.
|
|
Jakob_Ullmann
      
Beiträge: 1747
Erhaltene Danke: 15
Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
|
Verfasst: So 26.09.10 16:56
Methodenzeiger?
*hinweis auf meinen Edit*
|
|
HenryHux 
      
Beiträge: 542
Erhaltene Danke: 33
Windows 7 Premium
Delphi XE, Eclipse
|
Verfasst: 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
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 
|
|
Gausi
      
Beiträge: 8554
Erhaltene Danke: 481
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: 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.
_________________ We are, we were and will not be.
|
|
HenryHux 
      
Beiträge: 542
Erhaltene Danke: 33
Windows 7 Premium
Delphi XE, Eclipse
|
Verfasst: 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
Wie gut wäre es möglich soetwas zu programmieren und per %te die Ausgabe zu bestimmen? www.propokertools.com/simulations
|
|
elundril
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: So 26.09.10 17:15
Wenn mans kann sehr gut und sehr einfach!
lg elundril
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|
HenryHux 
      
Beiträge: 542
Erhaltene Danke: 33
Windows 7 Premium
Delphi XE, Eclipse
|
Verfasst: So 26.09.10 17:18
Toller Tipp, danke
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
      
Beiträge: 8554
Erhaltene Danke: 481
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: 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. 
_________________ We are, we were and will not be.
|
|
HenryHux 
      
Beiträge: 542
Erhaltene Danke: 33
Windows 7 Premium
Delphi XE, Eclipse
|
Verfasst: 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.
Genau gesagt geht es um Razz.
Ja bestimmt würde das reichen, aber es geht um eine Wette und ich verliere nicht gerne
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 
      
Beiträge: 542
Erhaltene Danke: 33
Windows 7 Premium
Delphi XE, Eclipse
|
Verfasst: 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
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 26.09.10 18:26
Ja, entweder Zeile für Zeile oder verstehen und in Delphi selbst umsetzen. 
|
|
HenryHux 
      
Beiträge: 542
Erhaltene Danke: 33
Windows 7 Premium
Delphi XE, Eclipse
|
Verfasst: 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
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 =)
|
|