Ho provato a implementare il tuo metodo.
A me si muove di una casella in diagonale, dopo di che continua a muoversi verso l'alto.
Quindi dipende dalla ripetizione dei tasti.

Ora provo a modificarlo introducendo un timer...