:param player: catan.game.Player
        :param to_other: list of tuples, [(int, game.board.Terrain), (int, game.board.Terrain)]
        :param other: catan.board.Player
        :param to_player: list of tuples, [(int, game.board.Terrain), (int, game.board.Terrain)]

def log_player_trades_with_other_player(self, player, to_other, other, to_player):
        """
        :param player: catan.game.Player
        :param to_other: list of tuples, [(int, game.board.Terrain), (int, game.board.Terrain)]
        :param other: catan.board.Player
        :param to_player: list of tuples, [(int, game.board.Terrain), (int, game.board.Terrain)]
        """
        self._log('{0} trades '.format(player.color))

        # to_other items
        self._log('[')
        for i, (num, res) in enumerate(to_other):
            if i > 0:
                self._log(', ')
            self._log('{0} {1}'.format(num, res.value))
        self._log(']')

        self._log(' to player {0} for '.format(other.color))

        # to_player items
        self._log('[')
        for i, (num, res) in enumerate(to_player):
            if i > 0:
                self._log(', ')
            self._log('{0} {1}'.format(num, res.value))
        self._log(']')

        self._log('\n')