step(M,p,f)={ my(m=matsize(M)[1],n=matsize(M)[2]); matrix(m,n,i,j, if(M[i,j]=="*", " " , if(M[i,j]=="t", my(nbr="t"); for(x=max(1,i-1),min(m,i+1), for(y=max(1,j-1),min(n,j+1), if(M[x,y]=="*",nbr="*";break(2)) ) ); if(random(1.)