private bool IsCollision(Shape shape) { for (int y = 0; y < Shape.SIZE; y++) { for (int x = 0; x < Shape.SIZE; x++) { if (!shape.IsEmpty(x, y)) { if (IsOutOfBounds(shape.X + x, shape.Y + y) || !IsEmpty(shape.X + x, shape.Y + y)) return true; } } } return false; }