Find the Words on the Grid!
JavaScript (ES6) 108

(x,y,t,u,g)=&gt;eval(&quot;for(g=g.split`\n`.reverse(),r=g[y][2*x];x-t|y-u;)r+=g[y+=u&lt;y?-1:u&gt;y][2*(x+=t&lt;x?-1:t&gt;x)]&quot;)

Less golfed
(x,y,t,u,g)=&gt;{
    g=g.split`\n`.reverse();
    for(r = g[y][2*x]; x-t | y-u; )
        r+=g[y += u&lt;y ? -1 : u&gt;y][2*( x += t&lt;x ? -1 : t&gt;x)];
    return r
}