>>237
もともとはp.x, p.yがdouble型だったので名残でそう書いたんだけど,
double型でも,
return (int)(p0.x-p1.x);
で行けるね!

>>238
まあ,そうなんだけど↓のように書いた方が意味的に理解し易いはず.
if (p0.x > p1.x) {
    return 1;
} else if (p0.x == p1.x) {
    return 0;
} else {
    return -1;
}