MATLAB程序求解释

function time=map_draw(map,str)
% 绘制迷宫地图

global nar FIGURE;
tic;[e,f]=size(map);

set(FIGURE,'position',get(0,'ScreenSize'));
axis off
set(gca,'YDir','reverse')
if nar<1
map(map==2)=3;
end
for i=1:e
for j=1:f
if map(i,j)==0 % 0代表未被打通的墙壁
if nar<1
if(mod(i,2)>mod(j,2))
line([max(j-1,1),min(j+1,f)],[i,i],'LineWidth',8,'Color','k');
elseif(mod(i,2)<mod(j,2))
line([j,j],[max(i-1,1),min(i+1,e)],'LineWidth',8,'Color','k');
end
else
if map(i,max(j-1,1))==0&&j>1
line([max(j-1,1),j],[i,i]);
end
if map(i,min(j+1,f))==0&&j<f
line([j,min(j+1,f)],[i,i]);
end
if map(max(i-1,1),j)==0&&i>1
line([j,j],[max(i-1,1),i]);
end
if map(min(i+1,e),j)==0&&i<e
line([j,j],[i,min(i+1,e)]);
end
end
elseif map(i,j)==2 || map(i,j)==3 % 迷宫的正确走法
imagesc(map)
colormap([0,0,0;1,1,1;0,1,0;1,0,0])
axis off
end
end
end
g=gcf;
set(g.Children,'position',[0.1 0.1 0.8 0.8])
set(g,'position',get(0,'ScreenSize'));
text(0.4*f,-1,str);
time=toc;