class Position { float x,y; Position() {} Position(float tx,float ty) { x = tx; y = ty; } Position(Position p) { if (p != null) { x = p.x; y = p.y; } } void add(Vector v) { x += cos(v.a)*v.m; y += sin(v.a)*v.m; } void set(float tx,float ty) { x = tx; y = ty; } void set(Position p) { x = p.x; y = p.y; } boolean on_screen() { return (x >= 0 && x <= width && y >= 0 && y <= height); } boolean equals(Position p) { return x == p.x && y == p.y; } } float dist(Position $1, Position $2) { return dist($1.x, $1.y, $2.x, $2.y); } float atan2(Position $1, Position $2) { return atan2($2.y - $1.y, $2.x - $1.x); }