Informationen auslesen [c#]



  • Hallo,

    mein ziel ist es einen oddcalculator für pokerstars zu entwickeln.

    Ein oddcalculator erkennt die karten des spielers, die karten auf dem tisch und die bets der gegner, mit diesen daten kann man die benötigten wahrscheinlichkeiten ausrechnen, die man braucht um "richtige" entscheidungen zu treffen.

    ich möchte nochmal erwähnen das so ein tool legal ist,
    es gibt zahlreiche alternativen für so einen calculator
    zb http://www.magicholdem.com/

    Ich habe nur 2 monate recherche betrieben um die benötigen mathematischen grundgedanken zusammenzufassen.

    Nun wollte ich endlich mit der programmierung anfangen und stieß auf meine ersten probleme.

    meine herangehensweise war "memory reading", leider war ich bisher noch nicht in der lage die richtigen pointer zu finden.(ca 5 stunden suche)
    ich brauche ca 15 pointer.

    außerdem weiß ich das nach jedem kleinerem update sich die pointer wieder ändern.

    Was für alternativen habe ich die informationen auszulesen?

    was ich bisher gefunden hatte war DLL injection wobei ich nicht weiß was pokerstars davon hält.
    hooking( was glaube ich ein anderer begriff für dll injection ist)

    und screen scraping:
    Bitte korrigiert mich wenn ich falsch liege, screen scraping schneidet einen teil des bildes aus und speichert die bits in einer array, dann kann man diese bits vergleichen.

    ka ob das stimmt.

    Aber was würdet ihr mir empfehlen ?

    Danke



  • EDIT:

    ich habe noch eine methode gefunden die recht vielverspechend aussieht

    OCR
    http://asprise.com/product/ocr/download.php?lang=csharp

    ich weiß aber nicht wie zuverlässig diese ist und ob ich OCR auch auf laufende programme anwenden kann.
    EDIT2:
    Wirklich zuverlässig war die demo version von asprise leider nicht 😕


  • Administrator

    Wegen der Legalität empfehle ich dir, dies auch zu beweisen. Einfach nur hinzuschreiben, ist noch lange kein Beweis. Also zum Beispiel einen Link wie folgt, kann Wunder bewirken:
    http://www.pokerstars.com/poker/room/prohibited/

    Ich würde nicht unbedingt OCR empfehlen, sondern einfach "normale" Bilderkennung. In C#, also .Net, gibt es dazu eine bekannte Bibliothek: AForge.Net.
    Da hast du auch ein paar Artikel über das Erkennen von einfachen Mustern (z.B. Karten):
    http://www.aforgenet.com/articles/shape_checker/
    http://www.aforgenet.com/articles/glyph_recognition/

    Sei aber gewarnt: Einfach ist das sicher nicht und braucht einiges an Einarbeitung. Wobei du mit einem Pokerspiel womöglich noch Glück haben könntest. Wenn die Karten immer am gleichen Ort erscheinen und schön flach abgebildet sind (also keine 3D Effekte und solches Zeug), dann könnte man nur die Karten aus dem Bild ausschneiden und einen Ähnlichkeitsvergleich mit den bekannten Karten durchführen. Dank Farberkennung oder Mustererkennung könnte man so einen Vergleich auch noch etwas beschleunigen, weil man die Anzahl Vergleiche reduzieren könnte. Mögliche Kriterien wären z.B. Farben (Menge an Weiss, Rot, Schwarz, usw.).

    Grüssli


Anmelden zum Antworten