fix of definition the adjacent square

How that check was done before:
((xdiff * xdiff == 1) != (ydiff * ydiff == 1))

How it should be done:
(xdiff * xdiff + ydiff * ydiff == 1)

Test case: x = -1; y = 4.
was: [(-1 * -1 == 1) != (4 * 4 == 1)] - true but it's not an adjacent square.

It's easy to check the behavior of multi-square stuff using shutter doors in firetruck. You can't do that doors statement in non-modified version:
![multisquare](https://f.cloud.github.com/assets/5421954/1456427/c68375ce-432b-11e3-951e-d1c77b59be36.png)