HAllo
Ich programmiere gerade ein ziemlich umfangreiches programm just for fun in dem ich versuche einen bot für ein spiel zu bauen und bin da auch schon recht weit.
Die Programmiersprache ist Qbasic eingebettet in eine batch(jaja 's gibt modernere sprachen )
aber ich glaube die sprache ist für meine Frage eher unrelevant.
die "schnittstelle" von bot zum spiel läuft über eine regelmäßig vom spiel erneuerte temporäre datei die mein programm liest und dann entsprechent durch simulieren einer benutzereingabe (maus+tastatur) reagiert.
ich habe also folgende situation:
Ich möchte ganz "simpel" meine Spielfigur von a nach b bewegen und zwar auf dem geradesten weg.
a=startpunkt b=zielpunkt
-Ich kann die aktuelle x,y koordinaten abfragen.
-ich kann die figur loslaufen und stoppen lassen
-ich kann sie einen schritt nach vorne/hinten bewegen
-ich kann sie um soundsoviel grad nach rechts/links drehen
-ich weiß aber nicht in welche richtung sie schaut
Mein erster versuch war das ich die figur einfach loslaufen hab und dann abgefragt habe ob die enfernung steigt oder sinkt und dann nach dem try-and-error prinzip ein stück mehr rechts bzw links läuft.
Ich glaube ich brauch nicht zu erzählen was eine so ungenaue verfahrensweise so für probleme mit sich bringt.
Es geht ja eigentlich nur darum das ich rausfinde wohin (in grad) die figur gerade schaut, sie dann auf das ziel auszurischten und loszulaufen.
Wenn ich sie aber einen schritt nach vorn gehen lasse diese koordinaten zwischenspeichere (ich nenns mal punk c) und dann wieder einen schritt zurück habe ich ja ein dreieck aus den koordinaten von a,c und (abstand x von a zu c + abstand y von a zu c (ich nenn den punkt jetzt mal d))
die seitenlängen des dreiecks lassen sich dank pythagoras herleiten weil an d ein winkel von 90 grad ist.
Jetzt müssten nach meiner logik die anderen winkel auch herleitbar sein.
wenn ich diese winkel hätte wüsste ich also "wohin" meine figur schaut und könnte sie ausrichten.
Tja "wenn".....
aber wie? ???
Oder hättet ihr andere ideen um den winkel herauszufinden?
Oder ideen von guten Mathe seiten bzw stichwörter für google?
Oder einen anderen Ansatz um zum ziel zu kommen?
Stellt gerne fragen zb falls meine erklärung zu verwirrend war versuch ichs nochmal detailliert
Ich bin hier wirklich festgefahren und hab schon freunde gefragt+ ewig im netz gesucht, also Postet auch wenn ihr nur nen verdacht habt, ich erwarte hier keine komplettlösungen aber vielleicht anregungen wie ich weiterkomme.(Komplettlösungen wären natürlich auch willkommen )
Ich werd den threat auch noch öfter nachgucken also zu spät posten gibs nicht.
Vielen dank schonmal
katerkarloak Gast |