Si te digo la verdad he leído el enunciado y no lo entiendo bien. Necesitaría un ejemplo para poder entender cosas a las que se refiere, por ejemplo habla de un número central, pero que yo sepa una matriz no tiene un número central, no sé bien a qué se refiere.
bueno te daré una pequeña interpretación de lo que yo pienso:
por ejemplo una matriz 6 x 6 con numeros a la zar, donde tendrá dentro de ella una pequeña matriz 3x3 (8 valores adyacentes) y el centro sera la posición numero 1 1 de la matriz 3x3 donde se pondrá el asterisco ( que será el cursor), bueno al mover tal asterisco, que se vaya con todo y matriz(Izq, derec, arib, abaj), y que los valores que "tapó" queden algo así como en un vector temporal, para cuando quitemos la matriz los números aparezcan de nuevo, dejo algunas imágenes que hice para explicarme mejor:
por ejemplo supongamos que la posición inicial es esta:
cuando la corremos a la derecha:
cuando la corremos para abajo:
y así sucesivamente.
bueno y me gustaría llevar eso a código!.
Dejo claro que esta es mi interpretación personal, no se si mi lógica estará bien.