Java programm

    • 0815pokerpr0
      0815pokerpr0
      Bronze
      Dabei seit: 03.06.2012 Beiträge: 943
      Hey Leute ich möchte gerne ein Programm mittels java Coden.
      Hierzu muss ich aber meine aktuelle Position und aktuelle Karten auslesen (pokerstars)
      Wie geh ich das am besten an? Über den Chat?screencapture?
      Und wie setzt man das am besten um?
  • 18 Antworten
    • heiko78
      heiko78
      Bronze
      Dabei seit: 24.04.2006 Beiträge: 552
      Java Native Access lautet das Stichtwort! Allerdings wirst du nicht umher kommen, dich mit C/C++ auseinanderzusetzen, auch wenn das Programm letztlich ein Java-Programm wird.

      Screencapture geht natürlich immer und überall, allerdings bedeutet das dann auch viel viel overhead und ich befürchte, dass du auch Probleme mit der Performance bekommen wirst (sofern das eine Rolle spielt). Falls du dich aber dennoch daran ausprobieren willst, schau dir mal die Klasse Robot an, da bekommst du vieles frei Haus geliefert, was du dafür gebrauchen könntest.

      Den Chat von Stars hab ich grad nicht vor meinem geistigen Auge und kann nicht sagen, ob das eine Möglichkeit wäre, müsste aber letztendlich auch auf Screencapture hinauslaufen, oder (zumindest mit Java-only)?
    • puddelding
      puddelding
      Bronze
      Dabei seit: 03.10.2006 Beiträge: 3.079
      Mir würden 3 Alternativen einfallen:

      A) Den Arbeitsspeicher auslesen. Dort stehen die Sachen drin. Schwierigkeit ist allerdings immer die richtige Position zu finden. Zudem könnte sich quasi durch jedes Pokerstars Update die Position verändern.

      B) Die Pokerstars.log.0 auswerten. Bin mir grad nicht mehr sicher, ob dort auch die aktuelle Position drin steht. Karten auf jeden Fall.

      C) Screenshots machen. Problem ist die Tischgröße bzw. verschiedene Positionen bei verschiedenen Themes. Wäre eigentlich nur problemlos möglich, wenn das Programm ausschließlich für dich selbst ist. Performancetechnisch auch eher mies.

      Ich bevorzuge Variante A. Keine Ahnung wie gut das mit Java umsetzbar ist.
    • 0815pokerpr0
      0815pokerpr0
      Bronze
      Dabei seit: 03.06.2012 Beiträge: 943
      Vielen Dank schonmal für eure Antworten. Wo finde ich diese Pokerstars.log.0?
    • RakSkyfury
      RakSkyfury
      Bronze
      Dabei seit: 20.01.2011 Beiträge: 386
      Original von 0815pokerpr0
      Vielen Dank schonmal für eure Antworten. Wo finde ich diese Pokerstars.log.0?
      Will dir nicht zu nahe treten aber so kann das nix werden. Als Programmierer muss man schon etwas Eigeninitiative zeigen. Keiner wird dir am Ende dein Programm erstellen, das musst du schon selbst machen. Auch muss man sich manchmal Infos im Internet zusammen suchen. Aber wenn schon das Suchen nach einer Datei zu viel für dich ist...

      Wie sehen deine Vorkenntnisse aus? Hast du schon mal ein Programm erstellt?

      Da es keine offizielle API gibt bleibt dir nur ein Weg: Screenshots machen.

      Du erstellst dir Screenshots und suchst diese nach den erforderlichen Infos ab: die Positionen, dem Button, dem Pot usw. Diesen Screenshot musst du dann auswerten (OCR) um die Gebote und Potgröße zu erfahren.

      Das alles ist machbar aber ziemlich aufwendig und ohne umfangreiche Erfahrung bzw. für einen Einsteiger nicht zu machen.
    • 0815pokerpr0
      0815pokerpr0
      Bronze
      Dabei seit: 03.06.2012 Beiträge: 943
      Original von RakSkyfury
      Original von 0815pokerpr0
      Vielen Dank schonmal für eure Antworten. Wo finde ich diese Pokerstars.log.0?
      Will dir nicht zu nahe treten aber so kann das nix werden. Als Programmierer muss man schon etwas Eigeninitiative zeigen. Keiner wird dir am Ende dein Programm erstellen, das musst du schon selbst machen. Auch muss man sich manchmal Infos im Internet zusammen suchen. Aber wenn schon das Suchen nach einer Datei zu viel für dich ist...

      Wie sehen deine Vorkenntnisse aus? Hast du schon mal ein Programm erstellt?

      Da es keine offizielle API gibt bleibt dir nur ein Weg: Screenshots machen.

      Du erstellst dir Screenshots und suchst diese nach den erforderlichen Infos ab: die Positionen, dem Button, dem Pot usw. Diesen Screenshot musst du dann auswerten (OCR) um die Gebote und Potgröße zu erfahren.

      Das alles ist machbar aber ziemlich aufwendig und ohne umfangreiche Erfahrung bzw. für einen Einsteiger nicht zu machen.
      nunja, über die explorer suche habe ich die Datei nicht gefunden.

      Vorkenntnisse habe ich schon. Ich studiere momentan WI.
      Kann man mit Java irgendwie den traffic überwachen?
    • puddelding
      puddelding
      Bronze
      Dabei seit: 03.10.2006 Beiträge: 3.079
      Vergiss das mit dem Traffic überwachen.

      Die Variante mit dem Screenshot erstellen dürfte für dich erst mal das Ziel sein. Mein eigener Lernfortschritt ging auch von Screenshots über die Log Datei bis zum RAM auslesen.
    • pg89
      pg89
      Bronze
      Dabei seit: 05.04.2008 Beiträge: 6.137
      Log auslesen ist doch 100 mal einfacher als screenshots auszuwerten ?(
    • puddelding
      puddelding
      Bronze
      Dabei seit: 03.10.2006 Beiträge: 3.079
      Naja, kommt auch drauf an was er am Ende machen will.

      Screenshot: erstellen, bestimmte Punkte angucken -> Ergebnis

      Log Datei: auslesen, die Sachen die drin stehen erst mal verstehen, richtige Zeilen finden (mehrere Tische verkomplizieren die Geschichte) -> Ergebnis

      Im Endeffekt kann es gut sein, dass er bei der zweiten Variante schneller zu seinem Ergebnis kommt. Dennoch ist die generelle Schwierigkeit etwas höher als beim Screenshots machen.
    • RakSkyfury
      RakSkyfury
      Bronze
      Dabei seit: 20.01.2011 Beiträge: 386
      Original von pg89
      Log auslesen ist doch 100 mal einfacher als screenshots auszuwerten ?(
      Stimmt schon, wenn den die gesuchten Informationen auch irgendwo geloggt werden. Das sieht bei der angesprochenen Datei jedoch nicht so aus.
    • puddelding
      puddelding
      Bronze
      Dabei seit: 03.10.2006 Beiträge: 3.079
      Ich habe gerade noch mal geschaut und die Sachen stehen drin. Zumindest alles was man für eine Berechnung der aktuellen Position benötigt.

      Der eigene Seat steht nur in dem Teil wo der Tisch erstellt wird. Bei jeder Hand sieht man welche Seats noch belegt sind und wer der Button ist. Der Teil mit den Karten sollte offensichtlich sein.
    • 0815pokerpr0
      0815pokerpr0
      Bronze
      Dabei seit: 03.06.2012 Beiträge: 943
      Original von puddelding
      Ich habe gerade noch mal geschaut und die Sachen stehen drin. Zumindest alles was man für eine Berechnung der aktuellen Position benötigt.

      Der eigene Seat steht nur in dem Teil wo der Tisch erstellt wird. Bei jeder Hand sieht man welche Seats noch belegt sind und wer der Button ist. Der Teil mit den Karten sollte offensichtlich sein.
      Wie hast du das rausgefunden?
      einfach pokerstra.log.0 während des spielens geöffnet?
    • puddelding
      puddelding
      Bronze
      Dabei seit: 03.10.2006 Beiträge: 3.079
      Ja.
    • 0815pokerpr0
      0815pokerpr0
      Bronze
      Dabei seit: 03.06.2012 Beiträge: 943
      okay, aktuelle Hand und Position lässt sich herausfiltern.

      Aber findest du die actions (bet/fold/call)?
    • puddelding
      puddelding
      Bronze
      Dabei seit: 03.10.2006 Beiträge: 3.079
      Steht auch ziemlich klar drin.. bisschen tricky, weil zuerst die Checkboxen angegeben sind und dann später erst die Buttons. Müsste die MSG_0x0007 sein.
    • SeeuD
      SeeuD
      Bronze
      Dabei seit: 11.05.2009 Beiträge: 3
      Hey zu deinen Problem die Klasse Sikuli kann Objectcapturing in guter zeit finden ca 0.5sec pro bild doch ich würde das lieber übern sniffer probieren

      Aber ich glaub dass was du vorhast wird etwas größer habe mich selber schonmal rangewagt kostet extrem viel aufwand. Lad dir lieber ein fertiges Programm runter.

      Ein Ansatz noch für dein Programm wenndu nicht die aktuellen karten möchtest. Lad dir ein fertiges Tool runter und lies dir Logdatei von dem Programm aus geht am schnellsten.

      Hoffe ich konnte Helfen
    • pg89
      pg89
      Bronze
      Dabei seit: 05.04.2008 Beiträge: 6.137
      Ich muss das hier nochmal ausgraben :D
      Kann man über die pokerstars.log.0 irgendwie die aktionen der gegner ermitteln? Dachte schon ein paar mal ich hätte es, aber irgendwas stimmt dann doch immer nicht mit der HH überein..
    • Beitrag gelöscht

    • Beitrag gelöscht