code: def generate_move(self, position):
          
          while True:
              print(position)
              raw = input(str(self.color) + "\'s move \n")
              move = converter.short_alg(raw, self.color, position)
  
              if move is None:
                  continue
  
              return move
docs: Returns valid and legal move given position
  
          :type: position: Board
          :rtype: Move