I assume that the problem you have is that the player draws over different tiles than the attached code is saying the player is movingover?
Another thought: could you be reversing the X and Y axes, selecting tile (4,2) when you want (2,4)? Add some print statements and get a few data points for what tile you clicked and what actually got selected.
Kris
