原创 野人与传教士过河问题
clear; %清除工作区clc; %清除命令区
figure('name','传教士-野人'); %设置标题
axis (); %建立坐标系
hold on;
%axis off;
text(3,9.8,'传教士与野人过河问题','fontsize',13,'color','r');
b1=line(,[ 9;9.5],'color','k','linewidth',8);
b2=line(,[ 8;8.5],'color','b','linewidth',8);
b3=line(,,'color','y','linewidth',22);
text(2.5,9.25,'---野人','fontsize',10,'color','b');
text(2.5,8.25,'---传教士','fontsize',10,'color','b');
text(2.5,7.25,'---船','fontsize',10,'color','b');
text(8.9,9.7,'小组成员:','fontsize',10,'color','b');
text(9.5,9.2,'施六五','fontsize',10,'color','b');
text(9.5,8.7,'王鑫','fontsize',10,'color','b');
text(9.5,8.2,'张超林','fontsize',10,'color','b');
text(9.5,7.7,'刘晖','fontsize',10,'color','b');
text(9.5,7.2,'赵晓鹰','fontsize',10,'color','b');
text(9.5,6.7,'沈海严','fontsize',10,'color','b');
fill(,,);
fill(,,);
fill(,,);
c1=line(,[ 2.5;4],'color','k','linewidth',8);
c2=line(,[ 2.5;4],'color','k','linewidth',8);
c3=line(,[ 2.5;4],'color','k','linewidth',8);
c4=line(,[ 2.5;4],'color','b','linewidth',8);
c5=line(,[ 2.5;4],'color','b','linewidth',8);
c6=line(,[ 2.5;4],'color','b','linewidth',8);
c7=line(,,'color','y','linewidth',40);
s=0.0;
ds=0.01;
pausetime1=0.00000000001;
%第一、二个野人上船
while s<0.3
s=s+ds;
set(c1,'xdata',,'ydata',);
set(c2,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
while s<0.6
s=s+ds;
set(c1,'xdata',,'ydata',);
set(c2,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
while s<1
s=s+ds;
set(c1,'xdata',,'ydata',);
set(c2,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
%船开始行动
while s<2
s=s+ds;
set(c7,'xdata',,'ydata',);
set(c1,'xdata',,'ydata',);
set(c2,'xdata',,'ydata',);
pause(pausetime1);
% set(gcf,'doublebuffer','on');
end
s=0;
%第一个野人开始上岸
while s<0.84
s=s+ds;
set(c1,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
while s<0.6
s=s+ds;
set(c1,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
while s<1
s=s+ds;
set(c1,'xdata',,'ydata',);
pause(pausetime1);
end
%第二个野人返回
s=0;
while s<2
s=s+ds;
set(c7,'xdata',,'ydata',);
set(c2,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
%第三个野人上船
while s<0.8
s=s+ds;
set(c3,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
while s<0.6
s=s+ds;
set(c3,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
while s<1
s=s+ds;
set(c3,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
%船开始行动
while s<2
s=s+ds;
set(c7,'xdata',,'ydata',);
set(c3,'xdata',,'ydata',);
set(c2,'xdata',,'ydata',);
pause(pausetime1);
% set(gcf,'doublebuffer','on');
end
s=0;
%第三个野人上岸
while s<0.84
s=s+ds;
set(c3,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
while s<0.6
s=s+ds;
set(c3,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
while s<2
s=s+ds;
set(c3,'xdata',,'ydata',);
pause(pausetime1);
end
%第二个野人返回
s=0;
while s<2
s=s+ds;
set(c7,'xdata',,'ydata',);
set(c2,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
%第二个野人上岸
while s<0.7
s=s+ds;
%set(c1,'xdata',,'ydata',);
set(c2,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
while s<0.6
s=s+ds;
%set(c1,'xdata',,'ydata',);
set(c2,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
while s<1
s=s+ds;
%set(c1,'xdata',,'ydata',);
set(c2,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
%第一、二个传教士上船
while s<1.2
s=s+ds;
set(c4,'xdata',,'ydata',);
set(c5,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
while s<0.6
s=s+ds;
set(c4,'xdata',,'ydata',);
set(c5,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
while s<1
s=s+ds;
set(c4,'xdata',,'ydata',);
set(c5,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
%船开始行动
while s<2
s=s+ds;
set(c7,'xdata',,'ydata',);
set(c4,'xdata',,'ydata',);
set(c5,'xdata',,'ydata',);
pause(pausetime1);
% set(gcf,'doublebuffer','on');
end
s=0;
%第一、二个传教士上岸
while s<0.84
s=s+ds;
set(c4,'xdata',,'ydata',);
set(c5,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
while s<0.6
s=s+ds;
set(c4,'xdata',,'ydata',);
set(c5,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
while s<1.5
s=s+ds;
set(c4,'xdata',,'ydata',);
set(c5,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
%第一个野人、传教士上船
while s<1
s=s+ds;
set(c1,'xdata',,'ydata',);
set(c4,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
while s<0.6
s=s+ds;
set(c1,'xdata',,'ydata',);
set(c4,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
while s<0.84
s=s+ds;
set(c1,'xdata',,'ydata',);
set(c4,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
%第一个传教士和第一个野人返回
while s<2
s=s+ds;
set(c7,'xdata',,'ydata',);
set(c4,'xdata',,'ydata',);
set(c1,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
%第一个野人、第一个传教士上岸
while s<1
s=s+ds;
set(c4,'xdata',,'ydata',);
set(c1,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
while s<0.6
s=s+ds;
set(c4,'xdata',,'ydata',);
set(c1,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
while s<0.3
s=s+ds;
set(c4,'xdata',,'ydata',);
set(c1,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
%第三个传教士上船
while s<1.8
s=s+ds;
set(c6,'xdata',,'ydata',);
set(c4,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
while s<0.6
s=s+ds;
set(c6,'xdata',,'ydata',);
set(c4,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
while s<1
s=s+ds;
set(c6,'xdata',,'ydata',);
set(c4,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
%船开始行动
while s<2
s=s+ds;
set(c7,'xdata',,'ydata',);
set(c6,'xdata',,'ydata',);
set(c4,'xdata',,'ydata',);
pause(pausetime1);
% set(gcf,'doublebuffer','on');
end
s=0;
%第二、三传教士上对岸
while s<0.84
s=s+ds;
set(c6,'xdata',,'ydata',);
set(c4,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
while s<0.6
s=s+ds;
set(c6,'xdata',,'ydata',);
set(c4,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
while s<1
s=s+ds;
set(c6,'xdata',,'ydata',);
set(c4,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
%第三野人上船
while s<2
s=s+ds;
set(c3,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
while s<0.6
s=s+ds;
set(c3,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
while s<0.84
s=s+ds;
set(c3,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
%第三个野人返回
while s<2
s=s+ds;
set(c7,'xdata',,'ydata',);
set(c3,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
%第一个野人上船
while s<0.3
s=s+ds;
set(c1,'xdata',,'ydata',);
%set(c2,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
while s<0.6
s=s+ds;
set(c1,'xdata',,'ydata',);
%set(c2,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
while s<0.6
s=s+ds;
set(c1,'xdata',,'ydata',);
%set(c2,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
%船开始行动
while s<2
s=s+ds;
set(c7,'xdata',,'ydata',);
set(c3,'xdata',,'ydata',);
set(c1,'xdata',,'ydata',);
pause(pausetime1);
% set(gcf,'doublebuffer','on');
end
s=0;
%第三个野人上岸
while s<0.84
s=s+ds;
set(c3,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
while s<0.6
s=s+ds;
set(c3,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
while s<2.7
s=s+ds;
set(c3,'xdata',,'ydata',);
pause(pausetime1);
end
%第一个野人返回
s=0;
while s<2
s=s+ds;
set(c7,'xdata',,'ydata',);
set(c1,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
%第二个野人上船
while s<0.3
s=s+ds;
%set(c1,'xdata',,'ydata',);
set(c2,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
while s<0.6
s=s+ds;
%set(c1,'xdata',,'ydata',);
set(c2,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
while s<1
s=s+ds;
%set(c1,'xdata',,'ydata',);
set(c2,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
%船开始行动
while s<2
s=s+ds;
set(c7,'xdata',,'ydata',);
set(c2,'xdata',,'ydata',);
set(c1,'xdata',,'ydata',);
pause(pausetime1);
% set(gcf,'doublebuffer','on');
end
s=0;
%第一、二野人上岸
while s<0.84
s=s+ds;
set(c2,'xdata',,'ydata',);
set(c1,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
while s<0.6
s=s+ds;
set(c2,'xdata',,'ydata',);
set(c1,'xdata',,'ydata',);
pause(pausetime1);
end
s=0;
while s<2
s=s+ds;
set(c2,'xdata',,'ydata',);
set(c1,'xdata',,'ydata',);
pause(pausetime1);
end
大家 好好看看
页:
[1]