Programm steuert anderes Programm (c++)

BrunsLee86

Grünschnabel
Hallo!!

Ich habe folgende Frage:
Ist es möglich ein Programm (C++) zu schreiben, welches ein anderes Programm steuert?
Ich studiere im 3. Semester und wir müssen uns ein Projekt zum Programmieren suchen.
Da ich in Sachen Programmierung ein blutiger Anfänger bin benötige ich eure Hilfe.

Ich habe mir da folgendes Projekt überlegt:
- Grundlage ist ein schon fertiges Computerspiel, ich habe da an ein Kartenspiel (Skat)
gedacht.
- Ich möchte jetzt denjenigen, der das Spiel spielt, durch ein Computerprogramm ersetzen.
- Das Programm soll natürlich genau berechen, wann welche Karte zu legen ist und das Legen
selbstständig durchführen, quasi komplett automatisiert.

-Ist es dafür wichtig zu wissen in welcher Sprache das Kartenspielprogramm geschrieben ist?
-Benötige ich den Quellcode des Kartenspiels? (Den hab ich nämlich nicht.)
-Kann mir vielleicht jemand Bücher, Internetseiten, Beispielcode o.ä. empfehlen, wo
dieses Thema behandelt wird?
 
hmm... hört sich für mich an als würdest du nach einem CHEAT für ein spiel suchen....
das was du meinst ist ein BOT der für dich die "karten" legt.

wenn du uns sagst um welches spiel es sich handelt, wär nicht schlecht....
 
natürlich ist das möglich, wie GeileEier schon gesagt hat! (eben ein BOT) Die Frage ist nur wie aufwendig das sein wird, und vorallem wieviel Programmiererfahrung du hast. Ich glaube aber schon, dass du wissen musst in welcher Sprache das Programm geschrieben wurde... ansonsten würde ich es in c++ realisieren (/versuchen). Im Prinzip musst du dem Programm ja gewisse Dinge vorgaukeln und es reagiert programmseitig darauf (würde wiederum dafür sprechen, dass die original Sprache egal ist). Das könnte man mit Messagehandles o.ä. realisieren. Am Besten wäre es,
wenn du uns sagst um welches spiel es sich handelt,....

;)
 
Zuletzt bearbeitet:
Wenn du den Quelltext hätttest, wärs natürlich kein Problem :)
Aber so...ich glauvb nicht, dass es jeden Spielzug per Message rausschicken wird, also wird wohl nichts anderes übrig bleiben, als die die entsprechen Bytes im Arbeitsspeicher zu suchen :-)

naja mir fällt auch keine vernünftige Lösung ein...und da du ja in Programmieren ein
"blutiger Anfänger" bist, scheidet obengenanntes wohl auch aus
 
Ich hät da ne idee:
es gibt eine möglichkeit irgendein programm in deinem programm auszugebebn.
Wer vieleicht Blitzbasic kennt: da gibt es etwas namen CreateProcess, das funktioniert genauso, nur einfache. Also wenn du das programm in deinem fenster ausgibst, kannst du ja überprüfen wie die einzelnen pixel aussehen.
du müstest halt nit jeden pixel einzeln prüfen, sondern nur einieg "referenz pixel".
Z.B wenn pixel x y weiss ist dann liegt da ne karte, dass gleiche dann bi pixeln die Z.B. nur bei herz 8 gefärbt sind. und dass programm kannst du dann steuern in dem du deinem Fenster messages wie WM_MOUSEMOVE schickst!
Hierist der link zu der CreateProcess funktion.
Hoffe ich konnte dir helfen MfG Skini
 
Im Prinzip bleibt dir auch nichts anderes übrig, als Skinis Vorschlag zu übernehmen.
Allerdings wird das verdammt schwer. Du musst ja nicht nur prüfen, ob da eine Karte liegt oder nicht. Du musst ja auch wissen, welche Farbe und welchen Wert.
Ich glaube/befürchte, dass es einfacher wäre ein eigenes Skat-Spiel mit Bot zu schreiben.
Oder gibt es da tatsächlich noch was anderes?
 
ähm, Trancerlein, ich meine jede karte hat ihre spezifischen färbung,
so ist z.b. ein teil bei der 8 sichtbar, der bei der 9 fehlt, mann muss also unter berücksichtigung der karten position, vlt 10 - 25 pixel abfragen, und wenn man weiss ob weiss oder gefärbt, dann kann man auch heraus finden ob rot oder schwarz.
Es gibt da ne funktion namens GetPixel, wie die funkt ist schon in nem anderen Thread erklärt.
Skini
 
Naja, ich finde es dennoch ziemlich aufwändig. Scheint aber auch keine bessere Lösung zu geben.
Ich hab mir einfach mal mehr Gedanken zu möglichen Problemen gemacht.
Wenn die Schriftart keine Eindeutige Farbe hat (weicher Übergang: bei schwarz z.Bsp. grau) kann man abfragen, ob die Farbe ungleich weiß ist. Um jedoch die Farbe rot nicht aus zu lassen, kann man abfragen ob der Pixel ungleich weiß ist und nur einen roten Farbanteil hat. Sollte die Kartenposition variieren, so kann man mit einer while-Schleife den ersten andersfarbigen Pixel finden. Sind nur ein paar Anregungen.
Das wird sicherlich viel Arbeit, nur mit den Pixelfarbwerten einen Bot zu schreiben...
Viel Glück!
 
ich denke auch, so könnte es gehen... und der Aufwand wäre nun wirklich nicht SOOO groß, dass es unmöglich wäre... ;) Stimme aber darin überein, dass es schneller geht, soetwas selber zumachen (auch wenns dann vll net so schön aussieht^^)
 
Also wenn du nicht weißt was ich meine mit den pixeln, frag ganz lieb, poste nen screenshot und vlt schreib ich dir dan ne funktion :P
Skini
 
Zurück