24 рдШрдВрдЯреЗ рдЬрдВрдЧ рдЦреЗрд▓: рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдЕрдиреБрднрд╡

рдЫрд╡рд┐

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рд░реВрд╕реНрдЯ рдореЗрдВ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдЦреЗрд▓ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрдкрдиреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЕрдиреБрднрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред рдПрдХ рдХрд╛рдордХрд╛рдЬреА рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдиреЗ рдореЗрдВ рд▓рдЧрднрдЧ 24 рдШрдВрдЯреЗ рд▓рдЧреЗ (рдореИрдВрдиреЗ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╢рд╛рдо рдпрд╛ рд╕рдкреНрддрд╛рд╣рд╛рдВрдд рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛)ред рдЦреЗрд▓ рдЦрддреНрдо рд╣реЛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдиреБрднрд╡ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рдЧреЗрдо рдмрдирд╛рддреЗ рд╕рдордп рдореИрдВрдиреЗ рдХреНрдпрд╛ рд╕реАрдЦрд╛ рдФрд░ рдХреБрдЫ рдЕрд╡рд▓реЛрдХрди рдХрд┐рдПред

рд╕реНрдХрд┐рд▓рдмреЙрдХреНрд╕ рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реИ: рджреЛ рд╕рд╛рд▓ рдХрд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдХреЛрд░реНрд╕ "рдореИрдВ рдПрдХ рдкреНрд░реЛ рд╡реЗрдм рдбреЗрд╡рд▓рдкрд░ рд╣реВрдВ ред "

рд╣рдо рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рддреЗ рд╣реИрдВ: "рд╣реИрдмрд░" рдХреЗ рд╕рднреА рдкрд╛рдардХреЛрдВ рдХреЗ рд▓рд┐рдП - "рд╣реИрдмрд░" рдкреНрд░реЛрдореЛ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рднреА рд╕реНрдХрд┐рд▓рдмреЙрдХреНрд╕ рдХреЛрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдкрдВрдЬреАрдХрд░рдг рдХрд░рддреЗ рд╕рдордп 10,000 рд░реВрдмрд▓ рдХреА рдЫреВрдЯред

рдЬрдВрдЧ рдХреНрдпреЛрдВ?


рдореИрдВрдиреЗ рдЗрд╕ рднрд╛рд╖рд╛ рдХреЛ рдЪреБрдирд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рдЕрдЪреНрдЫреА рдмрд╛рддреЗрдВ рд╕реБрдиреАрдВ рдФрд░ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдпрд╣ рдЦреЗрд▓ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реЛ рд░рд╣реА рд╣реИред рдЦреЗрд▓ рд▓рд┐рдЦрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореБрдЭреЗ рд░реБрд╕реНрдд рдореЗрдВ рд╕рд░рд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдмрд╣реБрдд рдХрдо рдЕрдиреБрднрд╡ рдерд╛ред рдпрд╣ рдЦреЗрд▓ рд▓рд┐рдЦрддреЗ рд╕рдордп рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдорд╣рд╕реВрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдерд╛ред

рдХреНрдпреЛрдВ рдмрд┐рд▓реНрдХреБрд▓ рдЦреЗрд▓ рдФрд░ рдХрд┐рд╕ рддрд░рд╣ рдХрд╛ рдЦреЗрд▓?


рдЧреЗрдо рдмрдирд╛рдирд╛ рдордЬреЗрджрд╛рд░ рд╣реИ! рдореИрдВ рдФрд░ рдЕрдзрд┐рдХ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдЪрд╛рд╣реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди "рдШрд░" рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдореИрдВ рдЙрди рд╡рд┐рд╖рдпреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рдореЗрд░реЗ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рдмрд╣реБрдд рдирд┐рдХрдЯ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИрдВред рдХрд┐рд╕ рддрд░рд╣ рдХрд╛ рдЦреЗрд▓? рдореИрдВ рдПрдХ рдЯреЗрдирд┐рд╕ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдХреА рддрд░рд╣ рдХреБрдЫ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдЬреЛ рд╕рд┐рдЯреА рд╕реНрдХрд╛рдЗрд▓рд╛рдЗрди, рдЬрд╝реВ рдЯрд╛рдЗрдХреВрди, рдкреНрд░рд┐рдЬрд╝рди рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЯ рдФрд░ рдЯреЗрдирд┐рд╕ рдХреЛ рдЬреЛрдбрд╝рддреА рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдПрдХ рдЯреЗрдирд┐рд╕ рдЕрдХрд╛рджрдореА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЦреЗрд▓ рдирд┐рдХрд▓рд╛, рдЬрд╣рд╛рдВ рд▓реЛрдЧ рдЦреЗрд▓рдиреЗ рдЖрддреЗ рд╣реИрдВред

рддрдХрдиреАрдХреА рдкреНрд░рд╢рд┐рдХреНрд╖рдг


рдореИрдВ рд░рд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ "рд╕реНрдХреНрд░реИрдЪ рд╕реЗ" рдЗрд╕реЗ рдХреИрд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдореИрдВ рдкрд┐рдХреНрд╕реЗрд▓ рд╢реЗрдбреНрд╕ рд▓рд┐рдЦрдирд╛ рдФрд░ рдбреНрд░реИрдЧ-рдПрди-рдбреНрд░реЙрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╕рдмрд╕реЗ рд▓рдЪреАрд▓реЗ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛ред

рдореБрдЭреЗ рдЖрдкрдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧреА рд╕рдВрд╕рд╛рдзрди рдорд┐рд▓реЗ:


рдореИрдВрдиреЗ рдХрдИ рд░рд╕реНрдЯ рдЧреЗрдо рдЗрдВрдЬрдиреЛрдВ рдХреА рдЦреЛрдЬ рдХреА, рдЕрдВрдд рдореЗрдВ рдкрд┐рд╕реНрдЯрди рдФрд░ ggez рдХреЛ рдЪреБрдирд╛ред рдкрд┐рдЫрд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдореИрдВ рдЙрдирдХреЗ рд╕рд╛рдордиреЗ рдЖрдпрд╛ред рдЕрдВрдд рдореЗрдВ, рдореИрдВрдиреЗ ggez рдХреЛ рдЪреБрдирд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдЫреЛрдЯреЗ 2D рдЧреЗрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд▓рдЧрддрд╛ рдерд╛ред рдкрд┐рд╕реНрдЯрди рдХреА рдореЙрдбреНрдпреВрд▓рд░ рд╕рдВрд░рдЪрдирд╛ рдПрдХ рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рдбреЗрд╡рд▓рдкрд░ (рдпрд╛ рдкрд╣рд▓реА рдмрд╛рд░ рд░рд╕реНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╡реНрдпрдХреНрддрд┐) рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рд╣реИред

рдЦреЗрд▓ рд╕рдВрд░рдЪрдирд╛


рдореИрдВрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рдордп рдмрд┐рддрд╛рдпрд╛ред рдкрд╣рд▓рд╛ рдХрджрдо "рднреВрдорд┐", рд▓реЛрдЧреЛрдВ рдФрд░ рдЯреЗрдирд┐рд╕ рдХреЛрд░реНрдЯ рдмрдирд╛рдирд╛ рд╣реИред рд▓реЛрдЧреЛрдВ рдХреЛ рдЕрджрд╛рд▓рддреЛрдВ рдХреЗ рдЪрдХреНрдХрд░ рд▓рдЧрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдореЗрдВ рд╡рд╣ рдХреМрд╢рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рд╕рдордп рдХреЗ рд╕рд╛рде рдмреЗрд╣рддрд░ рд╣реЛред рд╕рд╛рде рд╣реА, рдПрдХ рд╕рдВрдкрд╛рджрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЖрдкрдХреЛ рдирдП рд▓реЛрдЧреЛрдВ рдФрд░ рдЕрджрд╛рд▓рддреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдм рд╕реНрд╡рддрдВрддреНрд░ рдирд╣реАрдВ рд╣реИред

рд╕рдм рдХреБрдЫ рд╕реЛрдЪрдХрд░, рдореИрдВрдиреЗ рдХрд╛рдо рдХрд░рдирд╛ рддрдп рдХрд┐рдпрд╛ред

рдЦреЗрд▓ рдирд┐рд░реНрдорд╛рдг


рдкреНрд░рд╛рд░рдВрдн: рдордВрдбрд▓рд┐рдпрд╛рдВ рдФрд░ рдЕрдВрд╢

рдореИрдВрдиреЗ ggez рд╕реЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд▓рд┐рдпрд╛ рдФрд░ рд╕реНрдХреНрд░реАрди рдкрд░ рдПрдХ рд╡реГрддреНрдд рдорд┐рд▓рд╛ред рдХрдорд╛рд▓! рдЕрдм рдХреБрдЫ рд╕рд╛рд░ред рдореБрдЭреЗ рдпрд╣ рдкреНрд░рддреАрдд рд╣реБрдЖ рдХрд┐ рдЧреЗрдо рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╡рд╕реНрддреБ рдХреЛ рдпрд╣рд╛рдВ рдмрддрд╛рдП рдЕрдиреБрд╕рд╛рд░ рдЕрджреНрдпрддрди рдФрд░ рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:

// the game object trait trait GameObject { fn update(&mut self, _ctx: &mut Context) -> GameResult<()>; fn draw(&mut self, ctx: &mut Context) -> GameResult<()>; } // a specific game object - Circle struct Circle { position: Point2, } impl Circle { fn new(position: Point2) -> Circle { Circle { position } } } impl GameObject for Circle { fn update(&mut self, _ctx: &mut Context) -> GameResult<()> { Ok(()) } fn draw(&mut self, ctx: &mut Context) -> GameResult<()> { let circle = graphics::Mesh::new_circle(ctx, graphics::DrawMode::Fill, self.position, 100.0, 2.0)?; graphics::draw(ctx, &circle, na::Point2::new(0.0, 0.0), 0.0)?; Ok(()) } } 

рдХреЛрдб рдХреЗ рдЗрд╕ рдЯреБрдХрдбрд╝реЗ рдиреЗ рдореБрдЭреЗ рдЙрди рд╡рд╕реНрддреБрдУрдВ рдХреА рдЙрддреНрдХреГрд╖реНрдЯ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдЙрддреНрдХреГрд╖реНрдЯ рд▓реВрдк рдореЗрдВ рдЕрджреНрдпрддрди рдФрд░ рдкреНрд░рд╕реНрддреБрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

 mpl event::EventHandler for MainState { fn update(&mut self, context: &mut Context) -> GameResult<()> { // Update all objects for object in self.objects.iter_mut() { object.update(context)?; } Ok(()) } fn draw(&mut self, context: &mut Context) -> GameResult<()> { graphics::clear(context); // Draw all objects for object in self.objects.iter_mut() { object.draw(context)?; } graphics::present(context); Ok(()) } } 

main.rs рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдХреЛрдб рдХреА рд╕рднреА рд▓рд╛рдЗрдиреЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдореИрдВрдиреЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдФрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рд╕рдордп рдмрд┐рддрд╛рдпрд╛ред рдпрд╣рд╛рдБ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдм рдХреИрд╕реЗ рд╢реБрд░реВ рд╣реБрдЖ:

рд╕рдВрд╕рд╛рдзрди -> рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ рд╕рднреА рд╕рдВрдкрддреНрддрд┐ рд╣реИрдВ (рдЪрд┐рддреНрд░)
src
- рд╕рдВрд╕реНрдерд╛рдУрдВ
- game_object.rs
- рд╕рд░реНрдХрд▓
- main.rs -> рдореБрдЦреНрдп рд▓реВрдк

рд▓реЛрдЧ, рдлрд░реНрд╢ рдФрд░ рдЪрд┐рддреНрд░

рдЕрдЧрд▓рд╛ рдХрджрдо рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдЧреЗрдо рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛ рдФрд░ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рдирд╛ рд╣реИред рд╕рдм рдХреБрдЫ рдЯрд╛рдЗрд▓реНрд╕ 32 * 32 рдХреЗ рдЖрдХрд╛рд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред



рдЯреЗрдирд┐рд╕ рдХреЛрд░реНрдЯ

рдЯреЗрдирд┐рд╕ рдХреЛрд░реНрдЯ рдХреИрд╕реЗ рджрд┐рдЦрддреЗ рд╣реИрдВ, рдЗрд╕рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ 4 * 2 рдЯрд╛рдЗрд▓реНрд╕ рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдЗрд╕ рдЖрдХрд╛рд░ рдХреА рдПрдХ рдЫрд╡рд┐ рдмрдирд╛рдиреЗ рдпрд╛ 8 рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЯрд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рдерд╛ред рд▓реЗрдХрд┐рди рддрдм рдореБрдЭреЗ рдорд╣рд╕реВрд╕ рд╣реБрдЖ рдХрд┐ рдХреЗрд╡рд▓ рджреЛ рдЕрджреНрд╡рд┐рддреАрдп рдЯрд╛рдЗрд▓реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реАрд▓рд┐рдПред

рдХреБрд▓ рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рдРрд╕реА рдЯрд╛рдЗрд▓реЗрдВ рд╣реИрдВ: 1 рдФрд░ 2ред

рдЕрджрд╛рд▓рдд рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЦрдВрдб рдореЗрдВ рдЯрд╛рдЗрд▓ 1 рдпрд╛ рдЯрд╛рдЗрд▓ 2 рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ 180 рдбрд┐рдЧреНрд░реА рд╕реЗ рдЙрд▓реНрдЯрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



рдирд┐рд░реНрдорд╛рдг рдХреА рдореБрдЦреНрдп рд╡рд┐рдзрд╛ (рд╡рд┐рдзрд╛рдирд╕рднрд╛)

рд╕рд╛рдЗрдЯреЛрдВ, рд▓реЛрдЧреЛрдВ рдФрд░ рдорд╛рдирдЪрд┐рддреНрд░реЛрдВ рдХреЗ рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдореИрдВ рд╕рдлрд▓ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдорд╣рд╕реВрд╕ рд╣реБрдЖ рдХрд┐ рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рдирд┐рд░реНрдорд╛рдг рдореЛрдб рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: рдЬрдм рдмрдЯрди рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╡рд╕реНрддреБ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рд╕рд╣реА рдЬрдЧрд╣ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддрд╛ рд╣реИред рддреЛ, рдмрдЯрди 1 рдЖрдкрдХреЛ рдПрдХ рдЕрджрд╛рд▓рдд рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдмрдЯрди 2 рдЖрдкрдХреЛ рдПрдХ рдЦрд┐рд▓рд╛рдбрд╝реА рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЕрднреА рднреА рдпрд╣ рдпрд╛рдж рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ 1 рдФрд░ 2 рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдПрдХ рд╡рд╛рдпрд░рдлреНрд░реЗрдо рдЬреЛрдбрд╝рд╛ рддрд╛рдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдХрд┐ рдХрд┐рд╕ рд╡рд╕реНрддреБ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣рд╛рдБ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред


рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдФрд░ рд░реАрдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдкрд░ рд╕рд╡рд╛рд▓

рдЕрдм рдореЗрд░реЗ рдкрд╛рд╕ рдХрдИ рдЧреЗрдо рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИрдВ: рд▓реЛрдЧ, рдХреЛрд░реНрдЯ рдФрд░ рдлрд░реНрд╢ред рд▓реЗрдХрд┐рди рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдпрд░рдлреНрд░реЗрдо рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдкреНрд░рддреНрдпреЗрдХ рдЗрдХрд╛рдИ рдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реНрд╡рдпрдВ рдкреНрд░рджрд░реНрд╢рди рдореЛрдб рдореЗрдВ рд╣реИрдВ, рдпрд╛ рдпрджрд┐ рдХреЛрдИ рдлрд╝реНрд░реЗрдо рдмрд╕ рдЦреАрдВрдЪрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИред

рдпрд╣ рдореБрдЭреЗ рд▓рдЧ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдореБрдЭреЗ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЛ рдкреБрдирд░реНрдЬреАрд╡рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдХреБрдЫ рд╕реАрдорд╛рдПрдВ рд╕рд╛рдордиреЗ рдЖрдП:

  • рдПрдХ рдЗрдХрд╛рдИ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдЬреЛ рд╕реНрд╡рдпрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдФрд░ рдЕрдкрдбреЗрдЯ рдХрд░рддреА рд╣реИ, рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЗрдХрд╛рдИ "рдкрддрд╛" рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдЧреА рдХрд┐ рдЙрд╕реЗ рдХреНрдпрд╛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ рд╣реИ - рдПрдХ рдЫрд╡рд┐ рдФрд░ рдПрдХ рд╡рд╛рдпрд░рдлреНрд░реЗрдо;
  • рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕рдВрд╕реНрдерд╛рдУрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, is_build_mode рд╕рдВрдкрддреНрддрд┐ рдпрд╛ рд░реЗрдВрдбрд░рд┐рдВрдЧ рд╡реНрдпрд╡рд╣рд╛рд░) рдХреЗ рдмреАрдЪ рдЧреБрдгреЛрдВ рдФрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг рдХреА рдХрдореА рд╣реИред рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕реЗ рд░рд╕реНрдЯ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рдХреНрдпрд╛ рдореИрдВ рд╕рдЪ рдореЗрдВ рдЬрд░реВрд░рдд рдереА рд▓реЗрдЖрдЙрдЯ;
  • рд▓реЛрдЧреЛрдВ рдХреЛ рдиреНрдпрд╛рдпрд╛рд▓рдпреЛрдВ рдХреЛ рд╕реМрдВрдкрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрд╕ рдореЗрдВ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреА рдмрд╛рддрдЪреАрдд рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА;
  • рд╕рдВрд╕реНрдерд╛рдПрдБ рд╕реНрд╡рдпрдВ рдбреЗрдЯрд╛ рдФрд░ рддрд░реНрдХ рдХрд╛ рдорд┐рд╢реНрд░рдг рдереАрдВ, рдЬреЛ рдЬрд▓реНрджреА рд╕реЗ рд╣рд╛рде рд╕реЗ рдирд┐рдХрд▓ рдЧрдИрдВред

рдореИрдВрдиреЗ рдХреБрдЫ рдФрд░ рд╢реЛрдз рдХрд┐рдП рдФрд░ рдИрд╕реАрдПрд╕ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ - рдПрдВрдЯрд┐рдЯреА рдХрдВрдкреЛрдиреЗрдВрдЯ рд╕рд┐рд╕реНрдЯрдо рдХреА рдЦреЛрдЬ рдХреА , рдЬрд┐рд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдЖрдорддреМрд░ рдкрд░ рдЦреЗрд▓реЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред ECS рдХреЗ рд▓рд╛рдн рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ:

  • рдбреЗрдЯрд╛ рдХреЛ рддрд░реНрдХ рд╕реЗ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
  • рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рдмрдЬрд╛рдп рд▓реЗрдЖрдЙрдЯ;
  • рдбреЗрдЯрд╛ рдЙрдиреНрдореБрдЦ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ред

рдИрд╕реАрдПрд╕ рдХреЛ рддреАрди рдореВрд▓ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ:

  • рд╕рдВрд╕реНрдерд╛рдПрдВ - рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╡рд╕реНрддреБ рдХрд╛ рдкреНрд░рдХрд╛рд░ (рдпрд╣ рдПрдХ рдЦрд┐рд▓рд╛рдбрд╝реА, рдПрдХ рдЧреЗрдВрдж, рдпрд╛ рдХреБрдЫ рдФрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ);
  • рдШрдЯрдХ - рдЗрдХрд╛рдЗрдпрд╛рдБ рдЗрдирд╕реЗ рдорд┐рд▓рдХрд░ рдмрдиреА рд╣реЛрддреА рд╣реИрдВред рдПрдХ рдЙрджрд╛рд╣рд░рдг рдПрдХ рдкреНрд░рддрд┐рдкрд╛рджрди рдШрдЯрдХ, рд▓реЗрдЖрдЙрдЯ рдФрд░ рдЕрдиреНрдп рд╣реИред рдпрд╣ рдПрдХ рдбреЗрдЯрд╛ рд╡реЗрдпрд░рд╣рд╛рдЙрд╕ рд╣реИ;
  • рд╕рд┐рд╕реНрдЯрдо - рд╡реЗ рд╡рд╕реНрддреБрдУрдВ рдФрд░ рдШрдЯрдХреЛрдВ рджреЛрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рдЙрдирдореЗрдВ рд╡реНрдпрд╡рд╣рд╛рд░ рдФрд░ рддрд░реНрдХ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕ рдбреЗрдЯрд╛ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдПрдХ рдЙрджрд╛рд╣рд░рдг рдПрдХ рдкреНрд░рддрд┐рдкрд╛рджрди рдкреНрд░рдгрд╛рд▓реА рд╣реИ рдЬреЛ рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рд╕рднреА рд╕рдВрд╕реНрдерд╛рдУрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ рдФрд░ рдкреНрд░рддрд┐рдкрд╛рджрди рдореЗрдВ рд▓рдЧреА рд╣реБрдИ рд╣реИред

рдЕрдзреНрдпрдпрди рдХреЗ рдмрд╛рдж рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐ рдИрд╕реАрдПрд╕ рдРрд╕реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ:

  • рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рд╕рд┐рд╕реНрдЯрдо рд╕рдВрдЧрдарди рдХреЗ рд▓рд┐рдП рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рдмрдЬрд╛рдп рд▓реЗрдЖрдЙрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ;
  • рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг рдХреЛрдб рдХреЗ рд╣реИрд╢ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдирд╛;
  • рд░реЗрдВрдбрд░рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╡рд╛рдпрд░рдлреНрд░реЗрдо рдХреЗ рддрд░реНрдХ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП is_build_mode рдЬреИрд╕реА рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред

рдпрд╣рд╛рдВ рдИрд╕реАрдПрд╕ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХреНрдпрд╛ рд╣реБрдЖред

рд╕рдВрд╕рд╛рдзрди -> рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ рд╕рднреА рд╕рдВрдкрддреНрддрд┐ рд╣реИрдВ (рдЪрд┐рддреНрд░)
src
- рдШрдЯрдХ
- рд╕реНрдерд┐рддрд┐
- рд╡реНрдпрдХреНрддрд┐
- рдЯреЗрдирд┐рд╕_рдХреЛрд░реНрдЯ.рд░реНрд╕
- рдордВрдЬрд┐рд▓
- рд╡рд╛рдпрд░рдлреНрд░реЗрдо
- mouse_tracked.rs
- рд╕рдВрд╕рд╛рдзрди
- рдорд╛рдЙрд╕
- рд╕рд┐рд╕реНрдЯрдо
- рдкреНрд░рддрд┐рдкрд╛рджрди
- constants.rs
- utils.rs
- world_factory.rs -> рд╡рд┐рд╢реНрд╡ рдХрд╛рд░рдЦрд╛рдиреЗ рдХреЗ рдХрд╛рд░реНрдп
- main.rs -> рдореБрдЦреНрдп рд▓реВрдк

рд▓реЛрдЧреЛрдВ рдХреЛ рдЕрджрд╛рд▓рддреЛрдВ рдХреЛ рд╕реМрдВрдкреЗрдВ


рдИрд╕реАрдПрд╕ рдиреЗ рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛ рджрд┐рдпрд╛ред рдЕрдм рдореЗрд░реЗ рдкрд╛рд╕ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЛ рдбреЗрдЯрд╛ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдЗрд╕ рдбреЗрдЯрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рддрд░реНрдХ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдПрдХ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рддрд░реАрдХрд╛ рдерд╛ред рдФрд░ рдпрд╣, рдмрджрд▓реЗ рдореЗрдВ, рдЕрджрд╛рд▓рдд рджреНрд╡рд╛рд░рд╛ рд▓реЛрдЧреЛрдВ рдХреЗ рд╡рд┐рддрд░рдг рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛ рджрд┐рдпрд╛ред

рдореИрдВрдиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛:

  • рд╡реНрдпрдХреНрддрд┐ рдХреЛ рд╕реМрдВрдкреЗ рдЧрдП рдиреНрдпрд╛рдпрд╛рд▓рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдбреЗрдЯрд╛;
  • рд╡рд┐рддрд░рд┐рдд рд▓реЛрдЧреЛрдВ рдХреЛ рдЯреЗрдирд┐рд╕рдХреЛрд░реНрдЯ рдкрд░ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдбреЗрдЯрд╛;
  • рдЬреЛрдбрд╝рд╛ рдХреЛрд░реНрдЯрдЪреЛрд╕рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо, рдЬреЛ рдЖрдкрдХреЛ рд▓реЛрдЧреЛрдВ рдФрд░ рд╕рд╛рдЗрдЯреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ, рдЙрдкрд▓рдмреНрдз рдЕрджрд╛рд▓рддреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдФрд░ рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ;
  • PersonMovementSystem рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛, рдЬреЛ рдЕрджрд╛рд▓рддреЛрдВ рдХреЛ рд╕реМрдВрдкреЗ рдЧрдП рд▓реЛрдЧреЛрдВ рдХреЛ рдЦреЛрдЬрддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рд╡реЗ рд╡рд╣рд╛рдВ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдпрд╣ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рднреЗрдЬрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЖрд╡рд╢реНрдпрдХ рд╣реЛред


рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рджреЗрдирд╛


рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рд╕рд░рд▓ рдЦреЗрд▓ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рдордЬрд╛ рдЖрдпрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рдЦреБрд╢реА рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдВрдЧ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐:

  • рдЬрдВрдЧ рдЖрдкрдХреЛ рд╡рд╣ рджреЗрддреА рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЪрд╛рд╣рд┐рдП;
  • рдЙрд╕рдХреЗ рдкрд╛рд╕ рдЙрддреНрдХреГрд╖реНрдЯ рджрд╕реНрддрд╛рд╡реЗрдЬ рд╣реИрдВ, рдЬрдВрдЧ рдмрд╣реБрдд рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рд╣реИ;
  • рдХрдмреНрдЬ рд╢рд╛рдВрдд рд╣реИ;
  • рдЖрдкрдХреЛ рдХреНрд▓реЛрдирд┐рдВрдЧ, рдирдХрд▓ рдпрд╛ рдЕрдиреНрдп рд╕рдорд╛рди рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рдирд╣реАрдВ рд▓реЗрдирд╛ рд╣реЛрдЧрд╛, рдЬреЛ рдореИрдВрдиреЗ рдЕрдХреНрд╕рд░ C ++ рдореЗрдВ рдХрд┐рдпрд╛ рдерд╛;
  • рд╡рд┐рдХрд▓реНрдк рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИрдВ, рд╡реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рднреА рд╕рдВрднрд╛рд▓рддреЗ рд╣реИрдВ;
  • рдпрджрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдВрдХрд▓рд┐рдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рддреЛ 99% рдореЗрдВ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдареАрдХ рдЙрд╕реА рддрд░рд╣ рдЬреИрд╕реЗ рдпрд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдХрдВрдкрд╛рдЗрд▓рд░ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢, рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдЙрди рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ рдЬреЛ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИред

рдЬрдВрдЧ рдкрд░ рдЦреЗрд▓ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдХреЗрд╡рд▓ рд╢реБрд░реБрдЖрдд рд╣реИред рд▓реЗрдХрд┐рди рд╡рд╣рд╛рдБ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╕реНрдерд┐рд░ рдФрд░ рдХрд╛рдлреА рдмрдбрд╝реЗ рд╕рдореБрджрд╛рдп рд╣реИ рдЬреЛ рд╕рднреА рдХреЗ рд▓рд┐рдП рдЬрдВрдЧ рдЦреЛрд▓рдиреЗ рдХрд╛ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдЖрд╢рд╛рд╡рд╛рдж рдХреЗ рд╕рд╛рде рднрд╛рд╖рд╛ рдХреЗ рднрд╡рд┐рд╖реНрдп рдХреЛ рджреЗрдЦрддрд╛ рд╣реВрдВ, рд╣рдорд╛рд░реЗ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рд╕реНрдХрд┐рд▓рдмреЙрдХреНрд╕ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реИ:


Source: https://habr.com/ru/post/hi444364/


All Articles