Public feed #724458

Collision

public cpp v1 · immutable
Raw Edit
·published 2007-10-03 16:39 UTC
rendered paste body
int Player::detect_collision(Block *b){    // Define some vars, for less typing later    // Player    double px1 = x;    double px2 = x + plyw;    double py1 = y;    double py2 = y + plyh;    int collide = NONE;    // Check which side of the box was hit    if((in_box(px1, py1, b) || in_box(px2, py1, b)) &&      !(in_box(px1, py2, b) || in_box(px2, py2, b)))    {        collide = UP;    }    if((in_box(px1, py2, b) || in_box(px2, py2, b)) &&      !(in_box(px1, py1, b) || in_box(px2, py1, b)))    {        collide = DOWN;    }    if((in_box(px2, py1, b) || in_box(px2, py2, b)) &&      !(in_box(px1, py1, b) || in_box(px1, py2, b)))    {        return RIGHT;    }    if((in_box(px1, py1, b) || in_box(px1, py2, b)) &&      !(in_box(px2, py1, b) || in_box(px2, py2, b)))    {        return LEFT;    }    return collide;}