docs: def rotate_board(self, angle, unit='radian'):
          '''Rotate the chessboard for a specific angle,
          angle must be integral multiple of pi/2(90 degree)'''
          if unit == 'angle':
              angle = angle*math.pi/180
  
          angle %= 2*math.pi
          if angle not in [0, math.pi/2, math.pi, math.pi*3/2]:
              raise ValueError('Angle must be integral multiple of pi/2(90 degree)')
  
          new_pos = [[0 for _ in self.pos_range] for _ in self.pos_range]
          cos_ang = math.cos(angle)
          sin_ang = math.sin(angle)
          center = (self.board_size - 1)/2
          for x, y in comb(self.pos_range, 2):
              xt = int((x - center)*cos_ang - (y - center)*sin_ang + center)
              yt = int((x - center)*sin_ang + (y - center)*cos_ang + center)
              new_pos[xt][yt] = self.pos[x][y]
          return new_pos