Punkty:
U(x,y) to współrzędne gracza
S(i,j) to współrzędne obranego spawna
r = dozwolona ogległość od i oraz j w której jeszcze może znajdować się gracz.
if(x<i-r)
x = i-r;
else if(x>i+r)
x = i+r;
if(y<j-r)
y = j-r;
else if(y>j+r)
y = j+r;
To w sytuacji ogólnej przeniesie gracza na skraj dopuszczalnej granicy (nie sprawdzam czy nie wychodzi się poza "niekończony" obszar).
Jeśli chcesz to przerobić na 98% od dopuszczalnej odległości, to wystarczy:
if(x<i-r)
x = i-(int)(r*0,98);
else if(x>i+r)
x = i+(int)(r*0,98);
if(y<j-r)
y = j-(int)(r*0,98);
else if(y>j+r)
y = j+(int)(r*0,98);
O to chodziło?