рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдореИрдВрдиреЗ рдЯрд╛рдЗрд▓реЛрдВ рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдЖрдВрджреЛрд▓рдиреЛрдВ рдФрд░ рдЖрдВрджреЛрд▓рдиреЛрдВ рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рдереАред рдЖрдЬ рдореИрдВ рдЖрдкрдХреЛ рд╡реЗрдХреНрдЯрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдмрддрд╛рдКрдВрдЧрд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдореИрдВ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рдмрддрд╛рдКрдВрдЧрд╛, рд╕рд╛рд░ рдХреЛ рд╕рдордЭрд╛рдКрдВрдЧрд╛ рдФрд░ C ++ рдореЗрдВ рдЖрдВрджреЛрд▓рдиреЛрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рдКрдВрдЧрд╛ред
рдПрдХ рд╡реЗрдХреНрдЯрд░ рдХреЗ рд╕рд╛рде рдмрдврд╝рдирд╛ рдЖрдВрджреЛрд▓рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рджреБрдирд┐рдпрд╛ рдЕрдм рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЖрдВрджреЛрд▓рди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдмрдбрд╝реА рд╕рдЯреАрдХрддрд╛ (рди рдХреЗрд╡рд▓ рдкреВрд░реНрдгрд╛рдВрдХ, рдмрд▓реНрдХрд┐ рдлреНрд▓реЛрдЯ рдорд╛рди) рдХреЗ рд╕рд╛рде рд╕реЗрдЯ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЛ рдмрд╣реБрдд рдпрдерд╛рд░реНрдерд╡рд╛рджреА рдЖрдВрджреЛрд▓рдиреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╡реЗрдХреНрдЯрд░ рд╡рд╣ рджрд┐рд╢рд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╣рдорд╛рд░рд╛ рдПрдЬреЗрдВрдЯ рдЖрдЧреЗ рдмрдврд╝реЗрдЧрд╛ред рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдЗрд╕реЗ рджреЛ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡реА (10.5)ред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рд╡реЗрдХреНрдЯрд░ V (10.5) рдХреЗ рд╕рд╛рде рд╕рдордиреНрд╡рдп A (1,1) рдореЗрдВ рд╕реНрдерд┐рдд рдмрд┐рдВрджреБ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╡рд╕реНрддреБ рдХреА рд╕реНрдерд┐рддрд┐ A + V = C (1 + 10.1 + 5) = C (11.6) рдореЗрдВ рд╣реЛрдЧреА ред рд╡реЗрдХреНрдЯрд░ рдорд╛рди рдирдХрд╛рд░рд╛рддреНрдордХ рднреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрдВрджреЛрд▓рди рдХреА рджрд┐рд╢рд╛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд░реНрддрдорд╛рди рд╡реЗрдХреНрдЯрд░ рдХреЛ рдПрдХ рдирдП рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡реЗрдХреНрдЯрд░ V1 (2,6) рд╡рд╛рд▓реЗ, рд╣рдо рд╡реЗрдХреНрдЯрд░ V2 (3, -3) рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдЗрд╕реЗ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдирдИ рдЧрддрд┐ рд╡реЗрдХреНрдЯрд░ V1 + V2 = V3 (2 + 3), 6 + (- 3)) = 3 рд╣реЛрдЧреА 5.3)ред рдЗрд╕реЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

рдЖрдЗрдП рд╡реЗрдХреНрдЯрд░ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдШреВрдордиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВред рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ, рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡реЗрдХреНрдЯрд░ рдореЗрдВ рд▓реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╡реЗрдХреНрдЯрд░ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛: Pos (x, y) + V (a, b) = NewPos (x + a, y + b)ред рд╡реЗрдХреНрдЯрд░ рдЬрд┐рддрдирд╛ рдмрдбрд╝рд╛ рд╣реЛрдЧрд╛, рд╣рдорд╛рд░реА рд╡рд╕реНрддреБ рдЙрддрдиреА рд╣реА рджреВрд░ рдЬрд╛рдПрдЧреАред рдпрд╣ рдлрд┐рд╕рд▓рди рдмрд╛рдзрд╛рдУрдВ рд╕реЗ рдЬреБрдбрд╝реА рдХрдИ рдХрдард┐рдирд╛рдЗрдпрд╛рдВ рдкреИрджрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рдкрд░реНрдпрд╛рдкреНрдд рдмрдбрд╝реЗ рдХрджрдо рдХреЗ рдмрд╛рдж, рдПрдХ рд╡рд╕реНрддреБ рдЖрд╕рд╛рдиреА рд╕реЗ рдЫреЛрдЯреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдпрд╛рдж рдХрд░ рд╕рдХрддреА рд╣реИред рдЗрд╕ рдХрдореА рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдХреЗ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рд▓реЗрдЦ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИрдВред

рдлрд┐рд░ рднреА, рдЗрд╕ рддрд░рд╣ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдореИрдВ рдПрдХ рд╡реЗрдХреНрдЯрд░ рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреЗ рдЖрдВрджреЛрд▓рди рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛ред рдЖрдЗрдП рдПрдХ рд╡реЗрдХреНрдЯрд░ рд╡рд░реНрдЧ рдмрдирд╛рддреЗ рд╣реИрдВ - рдЬрд┐рд╕рдореЗрдВ рджреЛ рдорд╛рди рд╣реЛрддреЗ рд╣реИрдВред рдФрд░ рдПрдХ рднреАрдбрд╝ рд╡рд░реНрдЧ рдЬреЛ рдПрдХ рджрд┐рдП рдЧрдП рд╡реЗрдХреНрдЯрд░ рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝реЗрдЧрд╛ред рдЧрддрд┐ рд╡реЗрдХреНрдЯрд░ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдПрдВ рдЬрд╣рд╛рдВ рд╣рдо рдирдП рд╡реЗрдХреНрдЯрд░ рдХреЛ рдЬрдЧрд╣ рджреЗрдВрдЧреЗред
class Vector { public: float x, y; }; class Mob { public: float x,y;// float, Vector Way;// void AddVector(Vector NewWay); void Move(); }; void Mob::AddVector(Vector NewWay) {// Way.x+=NewWay.x;// Way.y+=NewWay.y; } void Mob::Move() {// x+=Way.x; y+=Way.y; }
рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╡реЗрдХреНрдЯрд░ рдХреЗрд╡рд▓ рджрд┐рд╢рд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЧрддрд┐ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЪрд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред рдлрд┐рд░ рд╡реЗрдХреНрдЯрд░ рдХреЛ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рдФрд░ рд╡реЗрдХреНрдЯрд░ рдХреЛ
рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ
рд╕рд╛рдорд╛рдиреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрд░реНрдерд╛рдд рдПрдХ рдХреЗ рдмрд░рд╛рдмрд░ рд▓рдВрдмрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХрд▓ рд╡реЗрдХреНрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдЧрддрд┐ рдХреА рджрд┐рд╢рд╛, рдФрд░ рдЧрддрд┐ рдХреЗрд╡рд▓ рдПрдХ рдХрд╛рд░рдХ рд╣реЛрдЧрд╛ рдЬреЛ рд╡реЗрдХреНрдЯрд░ рдХреА рд▓рдВрдмрд╛рдИ рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИред рдореМрдЬреВрджрд╛ рдПрдХ рдирдП рд╡реЗрдХреНрдЯрд░ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХрдИ рдЪрд░рдгреЛрдВ рдХреЛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
- рд╡реЗрдХреНрдЯрд░ рдХреЛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░реЗрдВ (рдЧрддрд┐ рджреНрд╡рд╛рд░рд╛ рд╡реЗрдХреНрдЯрд░ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЧреБрдгрд╛ рдХрд░реЗрдВ)ред
- рдирдП рд╡реЗрдХреНрдЯрд░ рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рд╣реА рдХрд░реЗрдВ, рдЕрдЧрд░ рдпрд╣ рдкрд╣рд▓реЗ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
- рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рд╡реИрдХреНрдЯрд░ рдЬреЛрдбрд╝реЗрдВред
- рдкрд░рд┐рдгрд╛рдореА рд╡реЗрдХреНрдЯрд░ рдХреА рд▓рдВрдмрд╛рдИ рдХреА рдЧрдгрдирд╛ рд╣рдорд╛рд░реА рдирдИ рдЧрддрд┐ рд╣реИред
- рд╡реЗрдХреНрдЯрд░ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдХрд░реЗрдВред
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╣рдорд╛рд░реА рдХрдХреНрд╖рд╛ рдФрд░ рд╡реЗрдХреНрдЯрд░ рдФрд░ рдЧрддрд┐ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдХрд╛рд░реНрдп рд░реВрдк рд▓реЗрддреЗ рд╣реИрдВ:
class Mob { public: float x,y;// float, float Speed; Vector Way;// void Normalize(); void AddVector(Vector NewWay); void Move(); }; void Mob::Normalize() { Speed = sqrt(Way.x*Way.x + Way.y*Way.y);// Way.x *= 1/Speed;// Way.y *= 1/Speed; } void Mob::AddVector(Vector NewWay, float NewSpeed) { Vector MobVec, NewVec;// MobVe.x = Way.x * Speed;// MobVe.y = Way.y * Speed; NewVec.x = Way.x * NewSpeed;// NewVec.y = Way.y * NewSpeed; Way.x = MobVe.x + NewVec.x;// Way.y = MobVe.y + NewVec.y;// Normalize();// } void Mob::Move() {// x += Way.x * Speed; y += Way.y * Speed; }
рдореИрдВ рдЬреЛрд░ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ, рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рддрд░реАрдХреЛрдВ рдХреА рдмреЗрд╣рддрд░ рд╕рдордЭ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВрдиреЗ рдмрддрд╛рдпрд╛ рдХрд┐ рдЧрддрд┐ рдХреЗ рджреЛ рдореБрдЦреНрдп рддрд░реАрдХреЗ рд╣реИрдВ - рд╕реНрдерд┐рддрд┐рдЬрдиреНрдп рдФрд░ рд▓рдХреНрд╖реНрдпред рд╡реЗрдХреНрдЯрд░ рдЧрддрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЙрдирдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдЬрдиреНрдп рддрд░реАрдХрд╛
рд╣рдорд╛рд░реА рднреАрдбрд╝ рдореЗрдВ рдПрдХ рдЧрддрд┐ рд╡реЗрдХреНрдЯрд░ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдпрд╣ рдПрдХ рдмрд╛рдзрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рддрдХ рдЪрд▓реЗрдЧрд╛ред рдлрд┐рд░ рд╡рд╣ рдЗрд╕реЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдмрджрд▓ рджреЗрдЧрд╛ рдФрд░ рдЖрдВрджреЛрд▓рди рдХреЛ рдЬрд╛рд░реА рд░рдЦреЗрдЧрд╛, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдирдИ рджрд┐рд╢рд╛ рдореЗрдВред рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ, рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдЖрджрд┐ рджреНрд╡рд╛рд░рд╛ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╡реЗрдХреНрдЯрд░ рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдЯрдХрд░рд╛рд╡ рдХреЗ рдорд┐рд╕рдХрд▓реНрдЪрд░ рдЯрд╛рдЗрд▓рдпреБрдХреНрдд рджреБрдирд┐рдпрд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЙрдирдХреА рдЧрдгрдирд╛рдУрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдЖрдЧреЗ рдХреЛрдИ рдмрд╛рдзрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ (рдмреВрд▓ рдХреИрдиреЛрд╡ ())ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдорд╛рд░реА рднреАрдбрд╝ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╕реЗрдЯ рдПрдХ рд╡реЗрдХреНрдЯрд░ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЗрд╕реЗ рдХрд┐рд╕реА рднреА рджрд┐рд╢рд╛ рдореЗрдВ рдЧрддрд┐ рд╕реЗ рдЖрдиреБрдкрд╛рддрд┐рдХ рдЧрддрд┐ рд╕реЗ рдмрд╛рдзрд╛ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рджрд┐рд╢рд╛ рдореЗрдВ рдШреБрдорд╛рддрд╛ рд╣реИред рдЧрддрд┐ рд╕рдорд╛рд░реЛрд╣ рдХрд╛ рд░реВрдк рд▓реЗрдЧрд╛:
void Mob::Move() { if(CanMove()==true) {// - x += Way.x * Speed; y += Way.y * Speed; } else {// - Vector Turn;// Turn.x = 1;// Turn.y = 0; AddVector(Turn, DistanceToBarrier());// } }
рдмреЗрд╢рдХ, рдореЗрд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд░реЛрдЯреЗрд╢рди рд╡реЗрдХреНрдЯрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╣реА рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗрдХреНрдЯрд░ рд╡реА (1,0) рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╕рдордп рд░реЛрдЯреЗрд╢рди рдХреА рджрд┐рд╢рд╛ рдЖрдВрджреЛрд▓рди рдХреА рд╡рд░реНрддрдорд╛рди рджрд┐рд╢рд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░реЗрдЧреАред рд▓реЗрдХрд┐рди рд╕рд╛рд░, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред
рд▓рдХреНрд╖реНрдп рдХреЗ рддрд░реАрдХреЗ
рд▓рдХреНрд╖реНрдп рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЯреЗрдореНрдкрд▓реЗрдЯ (рд░рд┐рдХреНрдд рд╕реНрдерд╛рди), рдореБрдЦреНрдп рдмрд┐рдВрджреБ (рд╡реЗрдкреЙрдЗрдВрдЯреНрд╕), рдЖрджрд┐ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╡реИрдХреНрдЯрд░ рдХрд╛ рдПрдХ рдирд┐рдпрдорд┐рдд рд╕рд░рдгреА рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реА рд╡рд╕реНрддреБ рдЪрд▓рддреА рд╣реИред рд▓реЗрдХрд┐рди рдкрде рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рдХрд╛рд░рдг рдЗрд╕рдХреЗ рд╡реЗрдХреНрдЯрд░ рдХреЗ рд╕рд╛рде рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдХреЛ рд▓реЗрдмрд▓ рдХрд░рдирд╛ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдкреНрд░рдореБрдЦ рдмрд┐рдВрджреБрдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓рдмреНрдмреЛрд▓реБрдЖрдм рдпрд╣ рд╣реИ рдХрд┐ рдПрдЬреЗрдВрдЯ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдордп (рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдмрд┐рдВрджреБ) рдХреЗ рд▓рд┐рдП рд╡реЗрдХреНрдЯрд░ рдХреЗ рд╕рд╛рде рдЪрд▓рддрд╛ рд╣реИ, рдлрд┐рд░ рдПрдХ рдирдИ рд╡реЗрдХреНрдЯрд░ рдХреЗ рд▓рд┐рдП рджрд┐рд╢рд╛ рдмрджрд▓рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реА рддрд░рд╣ рдЕрдЧрд▓реЗ рдмрд┐рдВрджреБ рдкрд░ред рдмрд┐рдВрджреБрдУрдВ рдФрд░ рджрд┐рд╢рд╛рдУрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдЬреЛрдбрд╝реЗрдВ, рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рд╣рдо рдПрдХ рд╣реА рд╡реЗрдХреНрдЯрд░ рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
class Mob { public: float x,y;// float, float Speed; Vector Way;// Vector Points[10];// Vector PointsVec[10];// int Position;// void Normalize(); void AddVector(Vector NewWay); void Move(); }; void Mob::Move() { if(x==Points[Position].x && y==Points[Position].y) {// Position++;// Way.x = PointsVec[Position].x;// Way.y = PointsVec[Position].y; } else{// - x += Way.x * Speed; y += Way.y * Speed; } }
рд╡реЗрдХреНрдЯрд░ рд╡рд┐рдзрд┐ рдХреЗ рдХрдИ рдлрд╛рдпрджреЗ рд╣реИрдВ:
- рдЪрд┐рдХрдиреА рдЪрд╛рд▓
- рдкреНрд░рд╛рдХреГрддрд┐рдХ рдЖрдВрджреЛрд▓рдиреЛрдВ
- рднреМрддрд┐рдХреА рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ (рдШрд░реНрд╖рдг, рддреНрд╡рд░рдг, рдШреВрд░реНрдгрди, рдЧреБрд░реБрддреНрд╡рд╛рдХрд░реНрд╖рдг, ...)
рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдХрдИ рдиреБрдХрд╕рд╛рди рд╣реИрдВ:
- рдХрднреА-рдХрднреА рдмрд╣реБрдд рд╕рдВрд╕рд╛рдзрди-рдЧрд╣рди (рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рдореЗрдВ рдЬрдбрд╝ рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛, рдЖрджрд┐)
- рдЬрдЯрд┐рд▓ рдХрд╛рд░реНрдп рдЬреЛ рдореВрд▓ рдмрд╛рддреЗрдВ (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рднреМрддрд┐рдХреА рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ) рдХреА рдЕрдЪреНрдЫреА рд╕рдордЭ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ
- рдЖрд╕рдкрд╛рд╕ рдХреА рджреБрдирд┐рдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдХрдард┐рдирд╛рдИ (рдЖрдкрдХреЛ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдЯрдХрд░рд╛рд╡ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)
рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЬрд╣рд╛рдВ рдпрд╣ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рдФрд░ рдЦреВрдмрд╕реВрд░рддреА рд╕реЗ рд╕рдВрдкреНрд░реЗрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдФрд░ рдпрд╣ рдЖрдзреБрдирд┐рдХ 3 рдбреА рдЧреЗрдо рдХрд╛ рдмрд╣реБрдордд рд╣реИред рдЕрдЧрд▓реЗ, рдФрд░ рдЕрдВрддрд┐рдо, рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдЖрдВрджреЛрд▓рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд┐рд╢реНрд░рд┐рдд рддрд░реАрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛, рджреЛрдиреЛрдВ рдЯрд╛рдЗрд▓ рдФрд░ рд╡реЗрдХреНрдЯрд░ рдЖрдВрджреЛрд▓рдиреЛрдВ рдХрд╛ рд╕рдВрдпреЛрдЬрдиред