class Position { float x, y; Position() {} Position(float $x, float $y) { x = $x; y = $y; } Position(Position p) { x = p.x; y = p.y; } void set(float $x, float $y) { x = $x; y = $y; } void set(Position p) { x = p.x; y = p.y; } boolean on_screen() { return (x >= 0 && y >= 0 && x <= width && y <= height); } boolean btwn(Position p1, Position p2) { return x_btwn(p1.x, p2.x) && y_btwn(p1.y, p2.y); } boolean x_btwn(float $1, float $2) { if ($1 > $2) { return (x < $1 && x > $2); } else { return (x > $1 && x < $2); } } boolean y_btwn(float $1, float $2) { if ($1 > $2) { return (y < $1 && y > $2); } else { return (y > $1 && y < $2); } } } float dist(Position $1, Position $2) { return dist($1.x, $1.y, $2.x, $2.y); }