hm... man könnte das mit 2 weiteren variablen x und y anders machen...
eins merkt sich die spalte eins die zeile...
(x is bei mir fürs links rechts drücken und y fürs hoch runter verantwortlich...)
am anfang sind beide x und y bei eins...

enter pw...(vari pw)
wenn pw = 1
dann
>wenn y kleiner 4
>dann y+1
>ansonsten y = 1 (falls man das möchte, dass man wieder ganz oben anfängt...)
>if end
if end...

wenn pw = 2
dann
>wenn x größer 1
>dann x-1
>ansonsten x=5
if end
if end...

wenn pw = 3
dann
>wenn x kleiner 5
>dann x+1
>ansonsten x=1
if end
if end...

wenn pw = 4
dann
>wenn y größer 1
>dann y-1
>ansonsten y = 4
>if end
if end...

und dein pointer wird dann wie folgt berechnet...
995 + x + (y*5)

so würd ich dass machen.. sind nich ganz so viele forks...^^