AimBot für Online Basketball Flash Game

Dieses Basketball Spiel hat hohes Suchtpotential.

Aus Langeweile habe ich mich dann mal hingehockt und versucht einen automatisierten Mauspositionierer zu schreiben, der

in praktisch jedem Fall den richtigen Wurfwinkel einstellt. Auf Youtube wurde dies schon mehrmals umgesetzt wie ihr im Video sehen könnt.

Algorithmische Vorgehensweise:

  1. Erkenne die jeweils neue Position des erscheinenden Balls p_{ball}=(p_{b,x},p_{b,y}).
  2. Erkenne die genaue Position des Korbs p_{korb}=(p_{k,x},p_{k,y}) (einmalig da fix).
  3. Gib eine Standard Höhe an h , auf der dann die Mausposition errechnet wird.

Mathematisch also die Errechnung des Scheitelpunktes einer Parabel.

Wir können also erstmal 2 quadratische Gleichungen in Scheitelform aufstellen.

y=f(x)=a(x-d)^2+e

sei die allgemeine Form mit $$S(d/e)$$ Scheitelpunkt. Wir bestimmen nun f(p_{b,x})=p_{b,y} und f(p_{k,x})=p_{k,y} also

p_{k,y}=a(p_{k,x}-d)^2+h \newline p_{b,y}=a(p_{b,x}-d)^2+h.

Gesucht ist hier d, für die x-Koordinate auf der Höhe h. Wenn wir jetzt beide Gleichungen nach a auflösen,

gleichsetzen und nach d auflösen erhalten wir am Ende folgendes:

d=\frac{p_{b,x}-\sqrt{z}p_{k,x}}{1-\sqrt{z}} \qquad z=\frac{p_{b,y}-h}{p_{k,y}-h}.

Also ist die neue Position des Mauszeigers bei jedem neuen Wurf m=(d,h).

Das ganze könnt ihr selber mal ausprobieren indem ihr folgendes Java Programm kompiliert und ausführt.

Die Ausführung des Programms muss dabei kurz vor der Einblendung des ersten Balls stattfinden.

BasketballBot.rar

Schwachstellen:

Mein Ansatz ist nicht der optimalste, da hier eine feste Höhe vorgegeben ist, damit muss nicht die jeweils kürzeste Strecke zum Korb

angegeben werden. Man darf meinen Code nach belieben abändern. Gebt mir halt kurz Bescheid.

Als nächstes wäre eine Behebung der Schwachstelle mittels z.B. genetischen Algorithmen interessant!

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s