A simplified algorithm for a rectangular grid will work by calculating the virtual position of the receiver in the next grid - just as if you were playing a pool and wanted to make a stunning shot at the bank.
+---------+----------+---------+----------+
| O | |
|===> | <===|
| Real | Virtual copy |
| | |
A---------+----------+---------+----------a
O A, "a". () , . - / a (n), .