- if ( (event->x >= tile_x && game->click_x <= tile_x &&
- event->y >= tile_y && game->click_y <= tile_y) ||
- (event->x >= tile_x && game->click_x <= tile_x &&
- event->y <= (tile_y + TILE_HEIGHT) && game->click_y >= tile_y) )
+ tile_x2 = tile_x + TILE_WIDTH;
+ tile_y2 = tile_y + TILE_HEIGHT;
+ if (/*If top-left corner*/
+ (tile_x >= x_min && tile_x <= x_max &&
+ tile_y >= y_min && tile_y <= y_max) ||
+ /*or bottom-right corner*/
+ (tile_x2 >= x_min && tile_x2 <= x_max &&
+ tile_y2 >= y_min && tile_y2 <= y_max) ||
+ /*or bottom-left corner*/
+ (tile_x >= x_min && tile_x <= x_max &&
+ tile_y2 >= y_min && tile_y2 <= y_max) ||
+ /*or top-right corner of tile selected*/
+ (tile_x2 >= x_min && tile_x2 <= x_max &&
+ tile_y >= y_min && tile_y <= y_max) ||
+ /*or left edge*/
+ (y_min >= tile_y && y_min <= tile_y2 &&
+ x_min <= tile_x && x_max >= tile_x) ||
+ /*or top edge*/
+ (x_min >= tile_x && x_min <= tile_x2 &&
+ y_min <= tile_y && y_max >= tile_y) ||
+ /*or right edge*/
+ (y_min >= tile_y && y_min <= tile_y2 &&
+ x_min >= tile_x && x_min <= tile_x2) ||
+ /*or bottom edge*/
+ (x_min >= tile_x && x_min <= tile_x2 &&
+ y_min >= tile_y && y_min <= tile_y) )