Мне кажется тут есть ошибка. А именно, при перерисовке поля старое положение игрока не затирается.
Поэтому на втором шаге может быть два символа игрока на поле, на третьем - три и так далее...