Located at addresses 16398 and 16399 are two bytes that form the cursor location. (See http://web.ukonline.co.uk/sinclair.zx81/chap28.html). In other words,
peek 16398 + 256*peek 16399
gives you the memory address of the character on the screen where the next PRINT would go. Which apparently can be changed with PRINT AT
.
peek(peek 16398 + 256*peek 16399)
finds the code for whatever character is at that location. The rest you should be able to figure out.
Now, the main question is: does your game use the cursor in the same way? If not you have to use a different solution.