Solved it! And I hate how simple it was.
Code:
if(cx+e != x && cy+i != y)
Had to be:

Code:
if(cx+e != y && cy+i != x)
I think this is because I was never completely clear with myself about which direction was x and which was y. I will make sure not to do THAT again...

Anyways, thanks Paul. I'm glad I found this and not someone else. By the way, did you know this was the problem all along? If so, thanks for not saying it, and if not...whatever.

If anyone wants to see the working program, simply make the change I have indicated (it is on line 322).