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

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

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

рд╕реНрдХрд┐рд▓рдмреЙрдХреНрд╕ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реИ: рджреЛ рд╡рд░реНрд╖реАрдп рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдкрд╛рдареНрдпрдХреНрд░рдо "рдореИрдВ рдПрдХ PRO рд╡реЗрдм рдбреЗрд╡рд▓рдкрд░ рд╣реВрдВ".

рдЕрдиреБрд╕реНрдорд╛рд░рдХ: "рд╣реИрдмрд░" рдХреЗ рд╕рднреА рдкрд╛рдардХреЛрдВ рдХреЗ рд▓рд┐рдП - "рд╣реИрдмрд░" рдкреНрд░рдЪрд╛рд░ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рднреА рд╕реНрдХрд┐рд▓рдмреЙрдХреНрд╕ рдкрд╛рдареНрдпрдХреНрд░рдо рдореЗрдВ рдирд╛рдорд╛рдВрдХрди рдХрд░рддреЗ рд╕рдордп 10 рд░реВрдмрд▓ рдХреА рдЫреВрдЯред

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

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

рдЦреЗрд▓ рдХреНрдпреЛрдВ рдФрд░ рдХреИрд╕рд╛ рдЦреЗрд▓?

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

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

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

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

рдореИрдВрдиреЗ рдХрдИ рд░рд╕реНрдЯ рдЧреЗрдо рдЗрдВрдЬрдиреЛрдВ рдХреА рдЦреЛрдЬ рдХреА, рдЕрдВрддрддрдГ рдкрд┐рд╕реНрдЯрди рдФрд░ рдЬреАрдЬреАрдЬрд╝ рдХреЛ рдЪреБрдирд╛ред рдкрд┐рдЫрд▓реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдореЗрд░реА рдЙрдирд╕реЗ рдореБрд▓рд╛рдХрд╛рдд рд╣реБрдИ рдереАред рдЕрдВрдд рдореЗрдВ, рдореИрдВрдиреЗ 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 рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдХреЛрдб рдХреА рд╕рднреА рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдореИрдВрдиреЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдФрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рдордп рдмрд┐рддрд╛рдпрд╛ред рдЙрд╕рдХреЗ рдмрд╛рдж рдпрд╣ рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рдерд╛:
рд╕рдВрд╕рд╛рдзрди -> рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рд╕рднреА рд╕рдВрдкрддреНрддрд┐рдпрд╛рдВ рд╣реИрдВ (рдЫрд╡рд┐рдпрд╛рдВ)
"
- рд╕рдВрд╕реНрдерд╛рдПрдБ
- рдЧреЗрдо_рдСрдмреНрдЬреЗрдХреНрдЯ.рдЖрд░рдПрд╕
- рд╕рд░реНрдХрд▓.рдЖрд░рдПрд╕
тАФ main.rs -> рдореБрдЦреНрдп рд▓реВрдк

рд▓реЛрдЧ, рдлрд░реНрд╢ рдФрд░ рдЫрд╡рд┐рдпрд╛рдБ

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

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

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

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

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

рдХреЛрд░реНрдЯ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдЯрд╛рдЗрд▓ 1 рдпрд╛ рдЯрд╛рдЗрд▓ 2 рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдмрд┐рдЫрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ 180 рдбрд┐рдЧреНрд░реА рдкрд░ рдлрд╝реНрд▓рд┐рдк рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

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

рдмреБрдирд┐рдпрд╛рджреА рдирд┐рд░реНрдорд╛рдг (рдЕрд╕реЗрдВрдмрд▓реА) рдореЛрдб

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

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

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

рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдФрд░ рд░рд┐рдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдкреНрд░рд╢реНрди

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

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

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

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

  • рдбреЗрдЯрд╛ рдХреЛ рддрд░реНрдХ рд╕реЗ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
  • рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рдмрдЬрд╛рдп рд░рдЪрдирд╛;
  • рдбреЗрдЯрд╛-рдХреЗрдВрджреНрд░рд┐рдд рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ред

рдИрд╕реАрдПрд╕ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рддреАрди рдмреБрдирд┐рдпрд╛рджреА рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдБ рд╣реИрдВ:

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

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

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

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

рд╕рдВрд╕рд╛рдзрди -> рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рд╕рднреА рд╕рдВрдкрддреНрддрд┐рдпрд╛рдВ рд╣реИрдВ (рдЫрд╡рд┐рдпрд╛рдВ)
"
- рдЕрд╡рдпрд╡
тАФрд╕реНрдерд┐рддрд┐.рдЖрд░рдПрд╕
-рд╡реНрдпрдХреНрддрд┐.рдЖрд░рдПрд╕
тАФ рдЯреЗрдирд┐рд╕_рдХреЛрд░реНрдЯ.рдЖрд░рдПрд╕
- рдордВрдЬрд┐рд▓.рдЖрд░рдПрд╕
- рд╡рд╛рдпрд░рдлреНрд░реЗрдо.рдЖрд░рдПрд╕
- рдорд╛рдЙрд╕_рдЯреНрд░реИрдХреНрдб.рдЖрд░рдПрд╕
- рд╕рдВрд╕рд╛рдзрди
тАФmouse.rs
- рд╕рд┐рд╕реНрдЯрдо
- рдкреНрд░рддрд┐рдкрд╛рджрди.rs
тАФ рд╕реНрдерд┐рд░рд╛рдВрдХ.rs
тАФ utils.rs
тАФworld_factory.rs ->рд╡рд┐рд╢реНрд╡ рдлрд╝реИрдХреНрдЯрд░реА рдлрд╝рдВрдХреНрд╢рдВрд╕
тАФ main.rs -> рдореБрдЦреНрдп рд▓реВрдк

рд╣рдо рд▓реЛрдЧреЛрдВ рдХреЛ рдЕрджрд╛рд▓рддреЛрдВ рдореЗрдВ рдирд┐рдпреБрдХреНрдд рдХрд░рддреЗ рд╣реИрдВ

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

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

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

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

рдЙрдкрд╕рдВрд╣рд╛рд░

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

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

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

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

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ