Autor Beitrag
HenryHux
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 542
Erhaltene Danke: 33

Windows 7 Premium
Delphi XE, Eclipse
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1747
Erhaltene Danke: 15

Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 542
Erhaltene Danke: 33

Windows 7 Premium
Delphi XE, Eclipse
BeitragVerfasst: So 26.09.10 16:54 
Ja würde ich normal auch.
Aber das sind so viele, dass ich den Überblick verliere.
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: So 26.09.10 16:55 
user profile iconHenryHux hat folgendes geschrieben Zum zitierten Posting springen:

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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1747
Erhaltene Danke: 15

Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
BeitragVerfasst: So 26.09.10 16:56 
Methodenzeiger?

*hinweis auf meinen Edit*
HenryHux Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 542
Erhaltene Danke: 33

Windows 7 Premium
Delphi XE, Eclipse
BeitragVerfasst: So 26.09.10 16:59 
[quote="user profile iconGausi"(618705)]
user profile iconHenryHux hat folgendes geschrieben Zum zitierten Posting springen:

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


user profile iconJakob_Ullmann hat folgendes geschrieben Zum zitierten Posting springen:


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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 542
Erhaltene Danke: 33

Windows 7 Premium
Delphi XE, Eclipse
BeitragVerfasst: So 26.09.10 17:10 
user profile iconGausi hat folgendes geschrieben Zum zitierten Posting springen:
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? www.propokertools.com/simulations
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: So 26.09.10 17:15 
user profile iconHenryHux hat folgendes geschrieben Zum zitierten Posting springen:
Wie gut wäre es möglich soetwas zu programmieren und per %te die Ausgabe zu bestimmen? www.propokertools.com/simulations


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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 542
Erhaltene Danke: 33

Windows 7 Premium
Delphi XE, Eclipse
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 542
Erhaltene Danke: 33

Windows 7 Premium
Delphi XE, Eclipse
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 542
Erhaltene Danke: 33

Windows 7 Premium
Delphi XE, Eclipse
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 26.09.10 18:26 
Ja, entweder Zeile für Zeile oder verstehen und in Delphi selbst umsetzen. ;-)
HenryHux Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 542
Erhaltene Danke: 33

Windows 7 Premium
Delphi XE, Eclipse
BeitragVerfasst: 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 =)