代码拉取完成,页面将自动刷新
%% 执行Q1的前6条指令
function [R, q1s] = m04_moveCarP1(R,q1,t)
tC = [18 12 6 0 12 18];
tCs = [9 6 3 0 6 9];
C = 318;
q1s = t + tC(q1);
count = 0;
pos = 10;% 车辆所停的位置
strPos = str2double([num2str(q1) num2str(pos)]);
%% 找到PBS上的是哪辆车,判断目标位置有没有车
n = 0;
for i=1:C
if R(i,t)==strPos
return;
elseif R(i,t)==1
n = i;
break;
end
end
if n==0 % 后续没有车,直接返回
return;
end
%% 移动车辆
for i=1:tCs(q1)
R(n,t+i) = 2;
end
for i=t+tCs(q1)+1:size(R,2)
k = 0;
for j=1:C
if R(j,i)== strPos %如果前方有车,退出
k = 1;
strPos = str2double([num2str(q1) num2str(pos+1)]);
R(n,i:end) = strPos;
break;
end
end
if k==1
break;
end
R(n,i) = strPos;
count = count + 1;
if count == 9 && pos>1
count = 0;
pos = pos - 1;
strPos = str2double([num2str(q1) num2str(pos)]);
end
end
%% 将后一辆车移至PBS
if n<318
R(n+1,t+1:size(R,2)) = 1;
end
end
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。