Forum: Multimedia
by Aurelius,
19. Mär 2008
if sqr(t) <= 6
Das Muss sqrt() heißen, da das die Wurzel zieht. Sqr() quadriert das ja :D
Sowas passiert mir auch oft...
Forum: Multimedia
by Aurelius,
19. Mär 2008
r:=sqr(s3.left-s2.Left) + sqr(s3.Top-s2.top);
...
if sqrt(r) <= 6 then
//oder if r <= 36 then
Forum: Multimedia
by Aurelius,
19. Mär 2008
Einfach nur quadrieren( a * a), der Code so funktioniert nicht. Du musst sqr() nehmen.
if (sqr(x1-x2) + sqr(y1-y2)) <= sqr(r) then schießen;
PS: Wie lautet die Ellipse-Funktion (also mit Parametern, hab grad kein Delphi zur hand)
Forum: Multimedia
by Aurelius,
19. Mär 2008
Wenn ich 3_of_8 Richtig verstanden habe:
Gegner hat Koordinaten: x1,y1
Dein Turm die Koords: x2,y2
Der Schussradius des Turms ist: r
if ((x1-x2)^2 + (y1-y2)^2) < r² then schießen;