"ZXBASICMANUAL"
One sample to try with BasinC
5 LET x=10: LET y=10: PRINT AT y,x;"A"
10 IF INKEY$="o" AND x>0 THEN LET x=x-1: PRINT AT y,x;"A "
20 IF INKEY$="p" AND x<31 THEN PRINT AT y,x;" A": LET x=x+1
30 IF INKEY$="q" AND y>0 THEN LET y=y-1: PRINT AT y,x;"A";AT y+1,x;" "
40 IF INKEY$="a" AND y<21 THEN LET y=y+1: PRINT AT y,x;"A";AT y-1,x;" "
50 GO TO 10
60 REM worldofspectrum.org/forums/discussion/comment/657846/#Comment_657846