Помогите написать функцию к задаче на C++
Назовем его мини-игрой-"Паркетчик". Задается массив из X, . @(где X-стена (припятствие) , .-земля, @-место нахождения робота) .
Робот должен каждую точку заменять на О (т. е. уклад. паркет) .
Например, ввожу
XXXX
X...X
XX.X
X.@X
Должен выдать
X X X X
XOOOX
X X O X
X O OX
function MakeMove(){
var kx2,ky2,down,right,up,left,cur,l,nn=speed;
if(!go) return;
do{
nn*=2
if((kx==28)&&(ky==6)){
return
}else{
kx2=kx; ky2=ky; n++
down=M[ky+1][kx]
right=M[ky][kx+1]
up=M[ky-1][kx]
left=M[ky][kx-1]
if(dir==0) cur=down
if(dir==1) cur=right
if(dir==2) cur=up
if(dir==3) cur=left
if((cur<=down)&&(cur<=right)&&(cur<=up)&&(cur<=left)){
if(dir==0) ky2++
if(dir==1) kx2++
if(dir==2) ky2--
if(dir==3) kx2--
}else
if((down<=right)&&(down<=up)&&(down<=left)){ky2++;dir=0}else
if((right<=down)&&(right<=up)&&(right<=left)){kx2++;dir=1}else
if((up<=right)&&(up<=down)&&(up<=left)){ky2--;dir=2}else
if((left<=right)&&(left<=down)&&(left<=up)){kx2--;dir=3}
M[ky][kx]++
kx=kx2;ky=ky2
}
}while(nn<2)
}
программа написана на Java. Помогите перевести на Си