newgoal.m

来自「多智能体工具包」· M 代码 · 共 21 行

M
21
字号
function NewGoal=newgoal
% NEWGOAL	Get the new goal location.

%     Copyright (c) 1998-2000 Jiming Liu and Jianbing Wu

global GoalPosition NewGoalLimit EdgeLimit WorkArea;

Flag=0;

while ~Flag
  NewGoal=[round(rand(1)*WorkArea(1)) round(rand(1)*WorkArea(2))];
  OldNewDiff=GoalPosition-NewGoal;
  OldNewDist=sqrt(OldNewDiff(1)*OldNewDiff(1)+OldNewDiff(2)*OldNewDiff(2));
  if (NewGoal(1)>=EdgeLimit*2) & (NewGoal(1)<=(WorkArea(1)-2*EdgeLimit)) & ...
       (NewGoal(2)>=EdgeLimit*2) & (NewGoal(2)<=(WorkArea(2)-2*EdgeLimit)) & ...
          (OldNewDist>=NewGoalLimit)
    Flag=1;
  end;
end;

    

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?