code: def verticals(self):
          
          vertical_shifts = set(izip_longest([], map(
              lambda i: i - self.y, range(self.board.height)), fillvalue=0))
          vertical_shifts.discard((0, 0))
          return vertical_shifts
docs: All vertical squares from the piece's point of view.
  
          Returns a list of relative movements up to the board's bound.