code: def grab_collisions(self, coords):
          
          collisions = []
          top_left = self.pixels_to_tiles(coords)
          collisions.append(self.tiles[top_left.Y][top_left.X])
  
          #Check to see if we are perfectly aligned with a tile
          tile_width = int(self.spritesheet[0].width)
          tile_height = int(self.spritesheet[0].width)
          x_aligned = int((coords.X)) & (tile_width - 1)
          y_aligned = int((coords.Y)) & (tile_height - 1)
  
          if x_aligned > 0:
              #Append the top right tile touching the rectangle
              if self.is_valid_tile(top_left.X + 1, top_left.Y):
                  collisions.append(self.tiles[top_left.Y][top_left.X + 1])
  
          if y_aligned > 0:
              #Append the bottom left tile touching the rectangle
              if self.is_valid_tile(top_left.X, top_left.Y + 1):
                  collisions.append(self.tiles[top_left.Y + 1][top_left.X])
  
              if x_aligned > 0:
                  if self.is_valid_tile(top_left.X + 1, top_left.Y + 1):
                      collisions.append(self.tiles[top_left.Y + 1][top_left.X + 1])
  
          return collisions
docs: Return all the tiles the position is colliding with.
          Tiles returned in this order:
              Top Left
              Top Right
              Bottom Left
              Bottom Right