AChess[m_,n_]:=Table[Mod[i+j,2],{i,m},{j,n}]

RandomTable[m_,n_]:=Table[RandomInteger[],{i,m},{j,n}]

M[A_,x_,y_]:=(B=A;If[x≠0,B[[x,y]]=If[A[[x,y]]==0,Pink,Red]];B)

Шахматный порядок

m=7;n=8;

DynamicModule[{A=AChess[m,n],x=1,y=1},EventHandler[Dynamic@ArrayPlot[M[A,x,y]],{"LeftArrowKeyDown":>If[y>1,A[[x,y]]=1-A[[x,y]];y--],"RightArrowKeyDown":>If[y<n,A[[x,y]]=1-A[[x,y]];y++],"UpArrowKeyDown":>If[x>1,A[[x,y]]=1-A[[x,y]];x--],"DownArrowKeyDown":>If[x<m,A[[x,y]]=1-A[[x,y]];x++],"ReturnKeyDown":>(A[[x,y]]=1-A[[x,y]];x=0)}]]

Случайный порядок

m=5;n=3;

DynamicModule[{A=RandomTable[m,n],x=1,y=1},EventHandler[Dynamic@ArrayPlot[M[A,x,y]],{"LeftArrowKeyDown":>If[y>1,A[[x,y]]=1-A[[x,y]];y--],"RightArrowKeyDown":>If[y<n,A[[x,y]]=1-A[[x,y]];y++],"UpArrowKeyDown":>If[x>1,A[[x,y]]=1-A[[x,y]];x--],"DownArrowKeyDown":>If[x<m,A[[x,y]]=1-A[[x,y]];x++],"ReturnKeyDown":>(A[[x,y]]=1-A[[x,y]];x=0)}]]