Zwei werden nebeneinander angezeigt, wenn auf dem einen ein Zug gemacht wird, soll dieser auf dem anderen nachgespielt werden und umgekehrt. Geschafft. Aber nicht schenll.
Sind nur die Schachbretter zu sehen? Willst du auch die verschiedenen Figuren erkennen?
Einfach wird es nicht.
Du musst die Schachbretter erkennen. (Position, Größe, einzelne Felder)
Die dann voneinander getrennt Überwachen.
Dann fehlt noch das Erkennen der Figuren und das reagieren auf Änderungen.
Wie wird denn gespielt?
Gibt es eine Anbindung an das Spiel (API o.ä)
Persönlich glaube ich, dass das eine ganze Menge Arbeit ist, die sich eventuell nicht lohnt.
ja, das stimmt. es läuft allerdings schon, ohne den prozessor zusehr zu belasten.
leider gibt es keine anbidung an das spiel. das eine anwedung hängt mit flash zusammen und die andere anwedung läuft auch auf dem system. wie man da eingreifen könnte, weiß cih leider nicht.
meist verändern sich bei einem zug ja immer nur 2 oder 4 felder (rochade). allerdings ist es für einen en passant-zug noch nicht eingestellt (3 felder ändern sich).
Vielleicht die mitte von jedem Feld mit getRGB() überprüfen? Oder einen anderen Punkt auf dem Feld, der sich in jedem Fall verändert, wenn eine Figur darauf steht, z.B. ein Schatten. Besteht das Schachbrett denn aus planen Flächen oder sieht jedes einzelne Feld unterschiedlich aus? Ich weiß allerdings nicht, ob sich anhand leerer Felder die Positionen aller Spielfiguren bestimmen lässt.
Eine andere Möglichkeit wäre es, die beiden Schachbretter (ebenfalls mit getRGB()) zu vergleichen, zuerst an den Positionen der Spielfiguren und danach auf den Feldern, wo sie hinziehen können. Evtl reicht auch ein kleiner Bereich in der Mitte eines Feldes.
Die erste Methode könnte funktionieren und dürfte auch recht performant sein. Bei der zweiten bin ich mir nicht sicher, dürfte auch viel Performance kosten. Aber in beiden Fällen muss eine es eine Tolleranz bei den rgb-Werten geben.
Da will wohl jemand im Internet bescheissen, hm? Während links das Spiel im Internet stattfindet, ziehst Du rechts Deines Gegners Züge nach, um zu sehen, wie der Computer antwortet, hm? Sowas gibts leider viel zu häufig und hat mir den Spaß am Internetschach zerstört.
Da will wohl jemand im Internet bescheissen, hm? Während links das Spiel im Internet stattfindet, ziehst Du rechts Deines Gegners Züge nach, um zu sehen, wie der Computer antwortet, hm? Sowas gibts leider viel zu häufig und hat mir den Spaß am Internetschach zerstört.
Den Gedanken hatte ich auch, aber warum sollte er die Züge nicht einfach manuell nachziehen? Der Programmieraufwand dem gegenüber stünde in keiner Relation.
Da will wohl jemand im Internet bescheissen, hm? Während links das Spiel im Internet stattfindet, ziehst Du rechts Deines Gegners Züge nach, um zu sehen, wie der Computer antwortet, hm? Sowas gibts leider viel zu häufig und hat mir den Spaß am Internetschach zerstört.
naja, wenn du ehrlich bist, müsstest du insgeheim zugeben, dass du auch beschissen hast, denn auf computerspieler trifft man eher erst im höheren elo-bereich. oder du bist gm
houdini hat mittlerweile ein elo > 3000. ein mensch kann gegen solche gegner doch nur noch mit glück gewinnen.
mein programm funktioniert aber. andhand von fünf punkten pro schachfeld kann das programm erkennen ob sich ein feld geändert hat, diese änderungen kann es auf das andere übetragen und umgekehrt.
natülich ist screenshots machen und auswerten sowie mausaktion nicht der eleganteste weg, aber eine andere möglichkeit fällt mir nicht ein. euch vielleicht?