-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathTest.m
33 lines (29 loc) · 947 Bytes
/
Test.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
% %äâèæåíèå áîêîì
% SpeedX = 40 * cos(angR);
% SpeedY = 40 * sin(angR);
%
% %äâèæåíèå â òî÷êó
% angF = arctg ((y2 - y1) / (x2 - x1));
% angE = angF - angR;
% r = 100; %ðàäèóñ ðîáîòà
% err = 50; %äåëüòà, ýïñèëîí, ÷òî óãîäíî
% const = r + err;
% if (abs(RP.agent.x - RP.ball.x) > const || abs(RP.agent.y - RP.ball.y > const))
% if (angR == angF) %ïðèìåðíî ðàâíî; ïðèìåðíî äîëæíî áûòü äîâîëüíî áîëüøèì
% Rule(Agent, 0, 40, 0, 0);
% else
% Rule(Agent, 0, 0, 0, angE * 2);
% end
% end
%åäåì â òî÷êó, ñðàçó ïîâîðà÷èâàåìñÿ(âî âðåìÿ äâèæåíèÿ)
% 1 - ðîáîò, 2 - ìÿ÷
SpeedX = 40 * cos(RP.Blue(N).ang);
SpeedY = 40 * sin(RP.Blue(N).ang);
angF = arctg ((RP.Ball.y - RP.Blue(N).y) / (RP.Ball.x - RP.Blue(N).x));
angE = angF - angR;
r = 100; %ðàäèóñ ðîáîòà
err = 50; %äåëüòà, ýïñèëîí
const = r + err;
if (abs(RP.Blue(N).x - RP.Ball.x) > const || abs(RP.Blue(N).y - RP.Ball.y > const))
Rule(SpeedX, SpeedY, 0, angE * 2)
end