24 เช•เชฒเชพเช•เชฎเชพเช‚ เชฐเชธเซเชŸ เชฐเชฎเชตเซเช‚: เชตเซเชฏเช•เซเชคเชฟเช—เชค เชตเชฟเช•เชพเชธ เช…เชจเซเชญเชต

24 เช•เชฒเชพเช•เชฎเชพเช‚ เชฐเชธเซเชŸ เชฐเชฎเชตเซเช‚: เชตเซเชฏเช•เซเชคเชฟเช—เชค เชตเชฟเช•เชพเชธ เช…เชจเซเชญเชต

เช† เชฒเซ‡เช–เชฎเชพเช‚ เชนเซเช‚ เชฐเชธเซเชŸเชฎเชพเช‚ เชจเชพเชจเซ€ เชฐเชฎเชค เชตเชฟเช•เชธเชพเชตเชตเชพเชจเชพ เชฎเชพเชฐเชพ เช…เช‚เช—เชค เช…เชจเซเชญเชต เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเซ€เชถ. เชตเชฐเซเช•เชฟเช‚เช— เชตเชฐเซเชเชจ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เชฒเช—เชญเช— 24 เช•เชฒเชพเช• เชฒเชพเช—เซเชฏเชพ เชนเชคเชพ (เชฎเซ‡เช‚ เชฎเซ‹เชŸเซ‡ เชญเชพเช—เซ‡ เชธเชพเช‚เชœเซ‡ เช…เชฅเชตเชพ เชธเชชเซเชคเชพเชนเชจเชพ เช…เช‚เชคเซ‡ เช•เชพเชฎ เช•เชฐเซเชฏเซเช‚ เชนเชคเซเช‚). เชฐเชฎเชค เชธเชฎเชพเชชเซเชค เชฅเชตเชพเชฅเซ€ เชฆเซ‚เชฐ เช›เซ‡, เชชเชฐเช‚เชคเซ เชฎเชจเซ‡ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เช…เชจเซเชญเชต เชฒเชพเชญเชฆเชพเชฏเซ€ เชฐเชนเซ‡เชถเซ‡. เชถเชฐเซ‚เช†เชคเชฅเซ€ เชฐเชฎเชค เชฌเชจเชพเชตเชคเซ€ เชตเช–เชคเซ‡ เชฎเซ‡เช‚ เชœเซ‡ เชถเซ€เช–เซเชฏเชพ เชคเซ‡ เช…เชจเซ‡ เช•เซ‡เชŸเชฒเชพเช• เช…เชตเชฒเซ‹เช•เชจเซ‹ เชนเซเช‚ เชถเซ‡เชฐ เช•เชฐเซ€เชถ.

เชธเซเช•เชฟเชฒเชฌเซ‹เช•เซเชธ เชญเชฒเชพเชฎเชฃ เช•เชฐเซ‡ เช›เซ‡: เชฌเซ‡ เชตเชฐเซเชทเชจเซ‹ เชชเซเชฐเซ‡เช•เซเชŸเชฟเช•เชฒ เช•เซ‹เชฐเซเชธ "เชนเซเช‚ เชชเซเชฐเซ‹ เชตเซ‡เชฌ เชกเซ‡เชตเชฒเชชเชฐ เช›เซเช‚".

เช…เชฎเซ‡ เชฏเชพเชฆ เช•เชฐเชพเชตเซ€เช เช›เซ€เช: Habrเชจเชพ เชคเชฎเชพเชฎ เชตเชพเชšเช•เซ‹ เชฎเชพเชŸเซ‡ - Habr เชชเซเชฐเซ‹เชฎเซ‹ เช•เซ‹เชกเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช•เซ‹เชˆเชชเชฃ เชธเซเช•เชฟเชฒเชฌเซ‹เช•เซเชธ เช•เซ‹เชฐเซเชธเชฎเชพเช‚ เชจเซ‹เช‚เชงเชฃเซ€ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ 10 เชฐเซ‚เชฌเชฒ เชกเชฟเชธเซเช•เชพเช‰เชจเซเชŸ.

เชถเชพ เชฎเชพเชŸเซ‡ เช•เชพเชŸ?

เชฎเซ‡เช‚ เช† เชญเชพเชทเชพ เชชเชธเช‚เชฆ เช•เชฐเซ€ เช›เซ‡ เช•เชพเชฐเชฃ เช•เซ‡ เชฎเซ‡เช‚ เชคเซ‡เชจเชพ เชตเชฟเชถเซ‡ เช˜เชฃเซ€ เชธเชพเชฐเซ€ เชตเชธเซเชคเซเช“ เชธเชพเช‚เชญเชณเซ€ เช›เซ‡ เช…เชจเซ‡ เชนเซเช‚ เชคเซ‡เชจเซ‡ เชฐเชฎเชค เชตเชฟเช•เชพเชธเชฎเชพเช‚ เชตเชงเซเชจเซ‡ เชตเชงเซ เชฒเซ‹เช•เชชเซเชฐเชฟเชฏ เชฅเชคเซ€ เชœเซ‹เช‰เช‚ เช›เซเช‚. เชฐเชฎเชค เชฒเช–เชคเชพ เชชเชนเซ‡เชฒเชพ, เชฎเชจเซ‡ เชฐเชธเซเชŸเชฎเชพเช‚ เชธเชฐเชณ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชตเชฟเช•เชธเชพเชตเชตเชพเชจเซ‹ เชฅเซ‹เชกเซ‹ เช…เชจเซเชญเชต เชนเชคเซ‹. เช† เชฐเชฎเชค เชฒเช–เชคเซ€ เชตเช–เชคเซ‡ เชฎเชจเซ‡ เชธเซเชตเชคเช‚เชคเซเชฐเชคเชพเชจเซ€ เชญเชพเชตเชจเชพ เช†เชชเชตเชพ เชฎเชพเชŸเซ‡ เชชเซ‚เชฐเชคเซเช‚ เชนเชคเซเช‚.

เชฐเชฎเชค เชถเชพ เชฎเชพเชŸเซ‡ เช…เชจเซ‡ เช•เซ‡เชตเชพ เชชเซเชฐเช•เชพเชฐเชจเซ€ เชฐเชฎเชค?

เชฐเชฎเชคเซ‹ เชฌเชจเชพเชตเชตเซ€ เช เชฎเชœเชพ เช›เซ‡! เชนเซเช‚ เชˆเชšเซเช›เซเช‚ เช›เซเช‚ เช•เซ‡ เชคเซเชฏเชพเช‚ เชตเชงเซ เช•เชพเชฐเชฃเซ‹ เชนเซ‹เชค, เชชเชฐเช‚เชคเซ "เช˜เชฐ" เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธ เชฎเชพเชŸเซ‡ เชนเซเช‚ เชเชตเชพ เชตเชฟเชทเชฏเซ‹ เชชเชธเช‚เชฆ เช•เชฐเซเช‚ เช›เซเช‚ เชœเซ‡ เชฎเชพเชฐเชพ เชจเชฟเชฏเชฎเชฟเชค เช•เชพเชฐเซเชฏ เชธเชพเชฅเซ‡ เช–เซ‚เชฌ เชจเชœเซ€เช•เชฅเซ€ เชธเช‚เชฌเช‚เชงเชฟเชค เชจเชฅเซ€. เช† เช•เชˆ เชฐเชฎเชค เช›เซ‡? เชนเซเช‚ เชŸเซ‡เชจเชฟเชธ เชธเชฟเชฎเซเชฏเซเชฒเซ‡เชŸเชฐ เชœเซ‡เชตเซเช‚ เช•เช‚เชˆเช• เชฌเชจเชพเชตเชตเชพ เชฎเชพเช‚เช—เชคเซ‹ เชนเชคเซ‹ เชœเซ‡ เชธเชฟเชŸเซ€เช เชธเซเช•เชพเชฏเชฒเชพเช‡เชจเซเชธ, เชเซ‚ เชŸเชพเชฏเช•เซ‚เชจ, เชœเซ‡เชฒ เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชŸ เช…เชจเซ‡ เชŸเซ‡เชจเชฟเชธเชจเซ‡ เชœเซ‹เชกเซ‡. เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡, เชคเซ‡ เชŸเซ‡เชจเชฟเชธ เชเช•เซ‡เชกเชฎเซ€ เชตเชฟเชถเซ‡เชจเซ€ เชฐเชฎเชค เชนเซ‹เชตเชพเชจเซเช‚ เชฌเชนเชพเชฐ เช†เชตเซเชฏเซเช‚ เช›เซ‡ เชœเซเชฏเชพเช‚ เชฒเซ‹เช•เซ‹ เชฐเชฎเชตเชพ เช†เชตเซ‡ เช›เซ‡.

เชŸเซ‡เช•เชจเชฟเช•เชฒ เชคเชพเชฒเซ€เชฎ

เชนเซเช‚ เชฐเชธเซเชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเช‚เช—เชคเซ‹ เชนเชคเซ‹, เชชเชฐเช‚เชคเซ เชฎเชจเซ‡ เชฌเชฐเชพเชฌเชฐ เช–เชฌเชฐ เชจเชนเซ‹เชคเซ€ เช•เซ‡ เชคเซ‡ เชถเชฐเซ‚ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช•เซ‡เชŸเชฒเซเช‚ เช—เซเชฐเชพเช‰เชจเซเชกเชตเชฐเซเช• เชฒเซ‡เชถเซ‡. เชนเซเช‚ เชชเชฟเช•เซเชธเซ‡เชฒ เชถเซ‡เชกเชฐเซเชธ เชฒเช–เชตเชพ เช…เชจเซ‡ เชกเซเชฐเซ‡เช—-เชเชจ-เชกเซเชฐเซ‹เชชเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเช‚เช—เชคเซ‹ เชจ เชนเชคเซ‹, เชคเซ‡เชฅเซ€ เชนเซเช‚ เชธเซŒเชฅเซ€ เชตเชงเซ เชฒเชตเชšเซ€เช• เช‰เช•เซ‡เชฒเซ‹ เชถเซ‹เชงเซ€ เชฐเชนเซเชฏเซ‹ เชนเชคเซ‹.

เชฎเชจเซ‡ เช‰เชชเชฏเซ‹เช—เซ€ เชธเช‚เชธเชพเชงเชจเซ‹ เชฎเชณเซเชฏเชพเช‚ เช›เซ‡ เชœเซ‡ เชนเซเช‚ เชคเชฎเชพเชฐเซ€ เชธเชพเชฅเซ‡ เชถเซ‡เชฐ เช•เชฐเซเช‚ เช›เซเช‚:

เชฎเซ‡เช‚ เช˜เชฃเชพ เชฐเชธเซเชŸ เช—เซ‡เชฎ เชเชจเซเชœเชฟเชจเซ‹เชจเซ€ เชถเซ‹เชงเช–เซ‹เชณ เช•เชฐเซ€, เช†เช–เชฐเซ‡ เชชเชฟเชธเซเชŸเชจ เช…เชจเซ‡ 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 เชœเชฐเซ‚เชฐเซ€ เช›เซ‡ เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡เชฎเชพเช‚ เช•เซ‹เชกเชจเซ€ เชคเชฎเชพเชฎ เชฐเซ‡เช–เชพเช“ เช›เซ‡. เชฎเซ‡เช‚ เชซเชพเช‡เชฒเซ‹เชจเซ‡ เช…เชฒเช— เช•เชฐเชตเชพเชฎเชพเช‚ เช…เชจเซ‡ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เชธเซเชŸเซเชฐเช•เซเชšเชฐเชจเซ‡ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เช เช•เชฐเชตเชพเชฎเชพเช‚ เชฅเซ‹เชกเซ‹ เชธเชฎเชฏ เชชเชธเชพเชฐ เช•เชฐเซเชฏเซ‹. เชคเซ‡ เชชเช›เซ€ เชคเซ‡ เชœเซ‡เชตเซเช‚ เชฆเซ‡เช–เชพเชคเซเช‚ เชนเชคเซเช‚ เชคเซ‡ เช† เช›เซ‡:
เชธเช‚เชธเชพเชงเชจเซ‹ -> เช† เชคเซ‡ เช›เซ‡ เชœเซเชฏเชพเช‚ เชฌเชงเซ€ เชธเช‚เชชเชคเซเชคเชฟเช“ เช›เซ‡ (เช›เชฌเซ€เช“)
เชธเซเชฐเซ‹เชค
- เชธเช‚เชธเซเชฅเชพเช“
โ€” game_object.rs
โ€” เชตเชฐเซเชคเซเชณ.เช†เชฐเชเชธ
โ€” main.rs -> เชฎเซเช–เซเชฏ เชฒเซ‚เชช

เชฒเซ‹เช•เซ‹, เชฎเชพเชณ เช…เชจเซ‡ เช›เชฌเซ€เช“

เช†เช—เชณเชจเซเช‚ เชชเช—เชฒเซเช‚ เช เชชเชฐเซเชธเชจ เช—เซ‡เชฎ เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเชตเชพ เช…เชจเซ‡ เชˆเชฎเซ‡เชœเซ‹ เชฒเซ‹เชก เช•เชฐเชตเชพเชจเซเช‚ เช›เซ‡. เชฌเชงเซเช‚ 32*32 เชŸเชพเช‡เชฒเซเชธเชจเชพ เช†เชงเชพเชฐเซ‡ เชฌเชพเช‚เชงเชตเซเช‚ เชœเซ‹เชˆเช.

24 เช•เชฒเชพเช•เชฎเชพเช‚ เชฐเชธเซเชŸ เชฐเชฎเชตเซเช‚: เชตเซเชฏเช•เซเชคเชฟเช—เชค เชตเชฟเช•เชพเชธ เช…เชจเซเชญเชต

เชŸเซ‡เชจเซ€เชธ เชจเซเช‚ เชฎเซ‡เชฆเชพเชจ

เชŸเซ‡เชจเชฟเชธ เช•เซ‹เชฐเซเชŸ เช•เซ‡เชตเซ€ เชฆเซ‡เช–เชพเชฏ เช›เซ‡ เชคเซ‡เชจเซ‹ เช…เชญเซเชฏเชพเชธ เช•เชฐเซเชฏเชพ เชชเช›เซ€, เชฎเซ‡เช‚ เชคเซ‡เชจเซ‡ 4*2 เชŸเชพเช‡เชฒเซเชธเชฎเชพเช‚เชฅเซ€ เชฌเชจเชพเชตเชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚. เชถเชฐเซ‚เช†เชคเชฎเชพเช‚, เช† เช•เชฆเชจเซ€ เช›เชฌเซ€ เชฌเชจเชพเชตเชตเซ€, เช…เชฅเชตเชพ 8 เช…เชฒเช— เชŸเชพเช‡เชฒเซเชธ เชเช•เชธเชพเชฅเซ‡ เชฎเซ‚เช•เชตเชพเชจเซเช‚ เชถเช•เซเชฏ เชนเชคเซเช‚. เชชเชฐเช‚เชคเซ เชชเช›เซ€ เชฎเชจเซ‡ เชธเชฎเชœเชพเชฏเซเช‚ เช•เซ‡ เชฎเชพเชคเซเชฐ เชฌเซ‡ เช…เชจเชจเซเชฏ เชŸเชพเช‡เชฒเซเชธเชจเซ€ เชœเชฐเซ‚เชฐ เชนเชคเซ€, เช…เชจเซ‡ เชคเซ‡เชจเซเช‚ เช•เชพเชฐเชฃ เช…เชนเซ€เช‚ เช›เซ‡.

เช•เซเชฒ เชฎเชณเซ€เชจเซ‡ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เช†เชตเซ€ เชฌเซ‡ เชŸเชพเช‡เชฒเซเชธ เช›เซ‡: 1 เช…เชจเซ‡ 2.

เช•เซ‹เชฐเซเชŸเชจเชพ เชฆเชฐเซ‡เช• เชตเชฟเชญเชพเช—เชฎเชพเช‚ เชŸเชพเช‡เชฒ 1 เช…เชฅเชตเชพ เชŸเชพเช‡เชฒ 2 เชนเซ‹เชฏ เช›เซ‡. เชคเซ‡เชจเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เช…เชฅเชตเชพ 180 เชกเชฟเช—เซเชฐเซ€ เชซเซเชฒเชฟเชช เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡.

24 เช•เชฒเชพเช•เชฎเชพเช‚ เชฐเชธเซเชŸ เชฐเชฎเชตเซเช‚: เชตเซเชฏเช•เซเชคเชฟเช—เชค เชตเชฟเช•เชพเชธ เช…เชจเซเชญเชต

เชฎเซ‚เชณเชญเซ‚เชค เชฌเชพเช‚เชงเช•เชพเชฎ (เชเชธเซ‡เชฎเซเชฌเชฒเซ€) เชฎเซ‹เชก

เชนเซเช‚ เชธเชพเช‡เชŸเซเชธ, เชฒเซ‹เช•เซ‹ เช…เชจเซ‡ เชจเช•เชถเชพเชจเซเช‚ เชฐเซ‡เชจเซเชกเชฐเชฟเช‚เช— เชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเชพเชฎเชพเช‚ เชธเชซเชณ เชฅเชฏเชพ เชชเช›เซ€, เชฎเชจเซ‡ เชธเชฎเชœเชพเชฏเซเช‚ เช•เซ‡ เชฎเซ‚เชณเชญเซ‚เชค เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เชฎเซ‹เชกเชจเซ€ เชชเชฃ เชœเชฐเซ‚เชฐ เช›เซ‡. เชฎเซ‡เช‚ เชคเซ‡เชจเซ‡ เช† เชฐเซ€เชคเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เซเชฏเซเช‚: เชœเซเชฏเชพเชฐเซ‡ เชฌเชŸเชจ เชฆเชฌเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชชเชธเช‚เชฆ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เช…เชจเซ‡ เช•เซเชฒเชฟเช• เชคเซ‡เชจเซ‡ เช‡เชšเซเช›เชฟเชค เชœเช—เซเชฏเชพเช เชฎเซ‚เช•เซ‡ เช›เซ‡. เชคเซ‡เชฅเซ€, เชฌเชŸเชจ 1 เชคเชฎเชจเซ‡ เช•เซ‹เชฐเซเชŸ เชชเชธเช‚เชฆ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡, เช…เชจเซ‡ เชฌเชŸเชจ 2 เชคเชฎเชจเซ‡ เช–เซ‡เชฒเชพเชกเซ€ เชชเชธเช‚เชฆ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡.

เชชเชฐเช‚เชคเซ เช†เชชเชฃเซ‡ เชนเชœเซ เชชเชฃ เชฏเชพเชฆ เชฐเชพเช–เชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เช•เซ‡ 1 เช…เชจเซ‡ 2 เชจเซ‹ เช…เชฐเซเชฅ เชถเซเช‚ เช›เซ‡, เชคเซ‡เชฅเซ€ เชฎเซ‡เช‚ เช•เชฏเซ‹ เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชชเชธเช‚เชฆ เช•เชฐเซเชฏเซ‹ เช›เซ‡ เชคเซ‡ เชธเซเชชเชทเซเชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชเช• เชตเชพเชฏเชฐเชซเซเชฐเซ‡เชฎ เช‰เชฎเซ‡เชฐเซเชฏเซเช‚. เช† เชคเซ‡ เชœเซ‡เชตเซ‹ เชฆเซ‡เช–เชพเชฏ เช›เซ‡.

24 เช•เชฒเชพเช•เชฎเชพเช‚ เชฐเชธเซเชŸ เชฐเชฎเชตเซเช‚: เชตเซเชฏเช•เซเชคเชฟเช—เชค เชตเชฟเช•เชพเชธ เช…เชจเซเชญเชต

เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ เช…เชจเซ‡ เชฐเชฟเชซเซ‡เช•เซเชŸเชฐเชฟเช‚เช— เชชเซเชฐเชถเซเชจเซ‹

เชนเชตเซ‡ เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เช˜เชฃเซ€ เชฐเชฎเชค เชตเชธเซเชคเซเช“ เช›เซ‡: เชฒเซ‹เช•เซ‹, เช•เซ‹เชฐเซเชŸ เช…เชจเซ‡ เชซเซเชฒเซ‹เชฐ. เชชเชฐเช‚เชคเซ เชตเชพเชฏเชฐเชซเซเชฐเซ‡เชฎเซเชธ เช•เชพเชฎ เช•เชฐเซ‡ เชคเซ‡ เชฎเชพเชŸเซ‡, เชฆเชฐเซ‡เช• เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชเชจเซเชŸเชฟเชŸเซ€เชจเซ‡ เชœเชฃเชพเชตเชตเซเช‚ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡ เช•เซ‡ เชถเซเช‚ เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธ เชชเซ‹เชคเซ‡ เชชเซเชฐเชฆเชฐเซเชถเชจ เชฎเซ‹เชกเชฎเชพเช‚ เช›เซ‡, เช…เชฅเชตเชพ เชถเซเช‚ เชซเซเชฐเซ‡เชฎ เชธเชฐเชณ เชฐเซ€เชคเซ‡ เชฆเซ‹เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡. เช† เช–เซ‚เชฌ เช…เชจเซเช•เซ‚เชณ เชจเชฅเซ€.

เชฎเชจเซ‡ เชเชตเซเช‚ เชฒเชพเช—เชคเซเช‚ เชนเชคเซเช‚ เช•เซ‡ เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐเชจเซ‡ เชเชตเซ€ เชฐเซ€เชคเซ‡ เชชเซเชจเชฐเซเชตเชฟเชšเชพเชฐ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เชœเซ‡ เช•เซ‡เชŸเชฒเซ€เช• เชฎเชฐเซเชฏเชพเชฆเชพเช“ เชœเชพเชนเซ‡เชฐ เช•เชฐเซ‡ เช›เซ‡:

  • เชเช• เชเชจเซเชŸเชฟเชŸเซ€ เช•เซ‡ เชœเซ‡ เชชเซ‹เชคเชพเชจเซ‡ เชฐเซ‡เชจเซเชกเชฐ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เช…เชชเชกเซ‡เชŸ เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡ เชเช• เชธเชฎเชธเซเชฏเชพ เช›เซ‡ เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡ เชเชจเซเชŸเชฟเชŸเซ€ "เชœเชพเชฃเชตเชพ" เชฎเชพเชŸเซ‡ เชธเชฎเชฐเซเชฅ เชนเชถเซ‡ เชจเชนเซ€เช‚ เช•เซ‡ เชคเซ‡ เชถเซเช‚ เชฐเซ‡เชจเซเชกเชฐ เช•เชฐเซ‡ เช›เซ‡ - เชเช• เช›เชฌเซ€ เช…เชจเซ‡ เชตเชพเชฏเชฐเชซเซเชฐเซ‡เชฎ;
  • เชตเซเชฏเช•เซเชคเชฟเช—เชค เชเช•เชฎเซ‹ (เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, is_build_mode เชฎเชฟเชฒเช•เชค เช…เชฅเชตเชพ เชตเชฐเซเชคเชจ เชฐเซ‡เชจเซเชกเชฐเชฟเช‚เช—) เชตเชšเซเชšเซ‡ เช—เซเชฃเชงเชฐเซเชฎเซ‹ เช…เชจเซ‡ เชตเชฐเซเชคเชจเชจเซ€ เช†เชชเชฒเซ‡ เชฎเชพเชŸเซ‡ เชธเชพเชงเชจเชจเซ‹ เช…เชญเชพเชต. เชตเชพเชฐเชธเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เชถเช•เซเชฏ เชฌเชจเชถเซ‡, เชœเซ‹ เช•เซ‡ เชฐเชธเซเชŸเชฎเชพเช‚ เชคเซ‡เชจเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพเชจเซ€ เช•เซ‹เชˆ เชฏเซ‹เช—เซเชฏ เชฐเซ€เชค เชจเชฅเซ€. เชฎเชพเชฐเซ‡ เช–เชฐเซ‡เช–เชฐ เชฒเซ‡เช†เช‰เชŸเชจเซ€ เชœเชฐเซ‚เชฐ เชนเชคเซ€;
  • เชฒเซ‹เช•เซ‹เชจเซ‡ เช…เชฆเชพเชฒเชคเซ‹เชฎเชพเช‚ เชธเซ‹เช‚เชชเชตเชพ เชฎเชพเชŸเซ‡ เชธเช‚เชธเซเชฅเชพเช“ เชตเชšเซเชšเซ‡ เช•เซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพ เชฎเชพเชŸเซ‡ เชเช• เชธเชพเชงเชจเชจเซ€ เชœเชฐเซ‚เชฐ เชนเชคเซ€;
  • เชธเช‚เชธเซเชฅเชพเช“ เชชเซ‹เชคเซ‡ เชกเซ‡เชŸเชพ เช…เชจเซ‡ เชคเชฐเซเช•เชจเซเช‚ เชฎเชฟเชถเซเชฐเชฃ เชนเชคเซเช‚ เชœเซ‡ เชเชกเชชเชฅเซ€ เชจเชฟเชฏเช‚เชคเซเชฐเชฃเชฎเชพเช‚เชฅเซ€ เชฌเชนเชพเชฐ เชจเซ€เช•เชณเซ€ เช—เชฏเซเช‚ เชนเชคเซเช‚.

เชฎเซ‡เช‚ เชฅเซ‹เชกเซเช‚ เชตเชงเซ เชธเช‚เชถเซ‹เชงเชจ เช•เชฐเซเชฏเซเช‚ เช…เชจเซ‡ เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐเชจเซ€ เชถเซ‹เชง เช•เชฐเซ€ ECS - เชเชจเซเชŸเชฟเชŸเซ€ เช•เชฎเซเชชเซ‹เชจเชจเซเชŸ เชธเชฟเชธเซเชŸเชฎ, เชœเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เชฐเชฎเชคเซ‹เชฎเชพเช‚ เชตเชชเชฐเชพเชฏ เช›เซ‡. เช…เชนเซ€เช‚ ECS เชจเชพ เชซเชพเชฏเชฆเชพ เช›เซ‡:

  • เชกเซ‡เชŸเชพเชจเซ‡ เชคเชฐเซเช•เชฅเซ€ เช…เชฒเช— เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡;
  • เชตเชพเชฐเชธเชพเชจเซ‡ เชฌเชฆเชฒเซ‡ เชฐเชšเชจเชพ;
  • เชกเซ‡เชŸเชพ-เช•เซ‡เชจเซเชฆเซเชฐเชฟเชค เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ.

ECS เชคเซเชฐเชฃ เชฎเซ‚เชณเชญเซ‚เชค เช–เซเชฏเชพเชฒเซ‹ เชฆเซเชตเชพเชฐเชพ เชตเชฐเซเช—เซ€เช•เซƒเชค เชฅเชฏเซ‡เชฒ เช›เซ‡:

  • เชเชจเซเชŸเชฟเชŸเซ€เช - เช‘เชฌเซเชœเซ‡เช•เซเชŸเชจเซ‹ เชชเซเชฐเช•เชพเชฐ เช•เซ‡ เชœเซ‡เชจเซ‹ เช“เชณเช–เช•เชฐเซเชคเชพ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซ‡ เช›เซ‡ (เชคเซ‡ เช–เซ‡เชฒเชพเชกเซ€, เชฌเซ‹เชฒ เช…เชฅเชตเชพ เชฌเซ€เชœเซเช‚ เช•เช‚เชˆเช• เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡);
  • เช˜เชŸเช•เซ‹ - เชธเช‚เชธเซเชฅเชพเช“ เชคเซ‡เชฎเชพเช‚เชฅเซ€ เชฌเชจเซ‡เชฒเซ€ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ - เชฐเซ‡เชจเซเชกเชฐเชฟเช‚เช— เช˜เชŸเช•, เชธเซเชฅเชพเชจเซ‹ เช…เชจเซ‡ เช…เชจเซเชฏ. เช† เชกเซ‡เชŸเชพ เชตเซ‡เชฐเชนเชพเช‰เชธ เช›เซ‡;
  • เชธเชฟเชธเซเชŸเชฎเซ‹ - เชคเซ‡เช“ เชฌเช‚เชจเซ‡ เชตเชธเซเชคเซเช“ เช…เชจเซ‡ เช˜เชŸเช•เซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡, เช‰เชชเชฐเชพเช‚เชค เช† เชกเซ‡เชŸเชพ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เชตเชฐเซเชคเชจ เช…เชจเซ‡ เชคเชฐเซเช• เชงเชฐเชพเชตเซ‡ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เช เชฐเซ‡เชจเซเชกเชฐเซ€เช‚เช— เชธเชฟเชธเซเชŸเชฎ เช›เซ‡ เชœเซ‡ เชฐเซ‡เชจเซเชกเชฐเซ€เช‚เช— เช˜เชŸเช•เซ‹ เชธเชพเชฅเซ‡เชจเซ€ เชคเชฎเชพเชฎ เชธเช‚เชธเซเชฅเชพเช“ เชฆเซเชตเชพเชฐเชพ เชชเซเชจเชฐเชพเชตเชฐเซเชคเชฟเชค เชฅเชพเชฏ เช›เซ‡ เช…เชจเซ‡ เชฐเซ‡เชจเซเชกเชฐเซ€เช‚เช— เช•เชฐเซ‡ เช›เซ‡.

เชคเซ‡เชจเซ‹ เช…เชญเซเชฏเชพเชธ เช•เชฐเซเชฏเชพ เชชเช›เซ€, เชคเซ‡ เชธเซเชชเชทเซเชŸ เชฅเชฏเซเช‚ เช•เซ‡ ECS เชจเซ€เชšเซ‡เชจเซ€ เชธเชฎเชธเซเชฏเชพเช“ เชนเชฒ เช•เชฐเซ‡ เช›เซ‡:

  • เชเช•เชฎเซ‹เชจเซ‡ เชตเซเชฏเชตเชธเซเชฅเชฟเชค เชฐเซ€เชคเซ‡ เช—เซ‹เช เชตเชตเชพ เชฎเชพเชŸเซ‡ เชตเชพเชฐเชธเชพเชจเซ‡ เชฌเชฆเชฒเซ‡ เชฒเซ‡เช†เช‰เชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹;
  • เชจเชฟเชฏเช‚เชคเซเชฐเชฃ เชธเชฟเชธเซเชŸเชฎเซ‹ เชฆเซเชตเชพเชฐเชพ เช•เซ‹เชก เช—เซ‚เช‚เชšเชตเชฃเชฎเชพเช‚เชฅเซ€ เช›เซเชŸเช•เชพเชฐเซ‹ เชฎเซ‡เชณเชตเชตเซ‹;
  • เชตเชพเชฏเชฐเชซเซเชฐเซ‡เชฎ เชฒเซ‹เชœเชฟเช•เชจเซ‡ เชคเซ‡ เชœ เชœเช—เซเชฏเชพเช เชฐเชพเช–เชตเชพ เชฎเชพเชŸเซ‡ is_build_mode เชœเซ‡เชตเซ€ เชชเชฆเซเชงเชคเชฟเช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ - เชฐเซ‡เชจเซเชกเชฐเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚.

ECS เชฒเชพเช—เซ เช•เชฐเซเชฏเชพ เชชเช›เซ€ เช†เชตเซเช‚ เชœ เชฅเชฏเซเช‚.

เชธเช‚เชธเชพเชงเชจเซ‹ -> เช† เชคเซ‡ เช›เซ‡ เชœเซเชฏเชพเช‚ เชฌเชงเซ€ เชธเช‚เชชเชคเซเชคเชฟเช“ เช›เซ‡ (เช›เชฌเซ€เช“)
เชธเซเชฐเซ‹เชค
- เช˜เชŸเช•เซ‹
โ€”position.rs
โ€” person.rs
โ€” tennis_court.rs
โ€” floor.rs
- wireframe.rs
โ€” mouse_tracked.rs
- เชธเช‚เชธเชพเชงเชจเซ‹
โ€”mouse.rs
- เชธเชฟเชธเซเชŸเชฎเซ‹
โ€” rendering.rs
โ€” constants.rs
โ€” utils.rs
โ€” world_factory.rs -> เชตเชฟเชถเซเชต เชซเซ‡เช•เซเชŸเชฐเซ€ เช•เชพเชฐเซเชฏเซ‹
โ€” main.rs -> เชฎเซเช–เซเชฏ เชฒเซ‚เชช

เช…เชฎเซ‡ เชฒเซ‹เช•เซ‹เชจเซ‡ เช…เชฆเชพเชฒเชคเซ‹เชฎเชพเช‚ เชธเซ‹เช‚เชชเซ€เช เช›เซ€เช

ECS เช เชœเซ€เชตเชจ เชธเชฐเชณ เชฌเชจเชพเชตเซเชฏเซเช‚ เช›เซ‡. เชนเชตเซ‡ เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชเชจเซเชŸเชฟเชŸเซ€เชฎเชพเช‚ เชกเซ‡เชŸเชพ เช‰เชฎเซ‡เชฐเชตเชพ เช…เชจเซ‡ เชคเซ‡ เชกเซ‡เชŸเชพเชจเชพ เช†เชงเชพเชฐเซ‡ เชคเชฐเซเช• เช‰เชฎเซ‡เชฐเชตเชพเชจเซ€ เชชเชฆเซเชงเชคเชฟเชธเชฐเชจเซ€ เชฐเซ€เชค เชนเชคเซ€. เช…เชจเซ‡ เช†เชจเชพเชฅเซ€, เชฌเชฆเชฒเชพเชฎเชพเช‚, เช…เชฆเชพเชฒเชคเซ‹เชฎเชพเช‚ เชฒเซ‹เช•เซ‹เชจเซเช‚ เชตเชฟเชคเชฐเชฃ เช—เซ‹เช เชตเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เชฌเชจเซเชฏเซเช‚.

เชฎเซ‡เช‚ เชถเซเช‚ เช•เชฐเซเชฏเซเช‚ เช›เซ‡:

  • เชตเซเชฏเช•เซเชคเชฟเชจเซ‡ เชธเซ‹เช‚เชชเชพเชฏเซ‡เชฒ เช…เชฆเชพเชฒเชคเซ‹ เชตเชฟเชถเซ‡เชจเซ‹ เชกเซ‡เชŸเชพ เช‰เชฎเซ‡เชฐเซเชฏเซ‹;
  • Tenniscourt เชฎเชพเช‚ เชตเชฟเชคเชฐเชฟเชค เชฒเซ‹เช•เซ‹ เชตเชฟเชถเซ‡ เชกเซ‡เชŸเชพ เช‰เชฎเซ‡เชฐเซเชฏเซ‹;
  • เช•เซ‹เชฐเซเชŸเชšเซ‚เชเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎ เช‰เชฎเซ‡เชฐเซเชฏเซเช‚, เชœเซ‡ เชคเชฎเชจเซ‡ เชฒเซ‹เช•เซ‹ เช…เชจเซ‡ เช…เชฆเชพเชฒเชคเซ‹เชจเซเช‚ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช•เชฐเชตเชพ, เช‰เชชเชฒเชฌเซเชง เช…เชฆเชพเชฒเชคเซ‹ เชถเซ‹เชงเชตเชพ เช…เชจเซ‡ เชคเซ‡เชฎเชจเซ‡ เช–เซ‡เชฒเชพเชกเซ€เช“เชจเซเช‚ เชตเชฟเชคเชฐเชฃ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡;
  • เชชเชฐเซเชธเชจ เชฎเซ‚เชตเชฎเซ‡เชจเซเชŸเชธเชฟเชธเซเชŸเชฎ เช‰เชฎเซ‡เชฐเซเชฏเซเช‚, เชœเซ‡ เช•เซ‹เชฐเซเชŸเชจเซ‡ เชธเซ‹เช‚เชชเซ‡เชฒ เชฒเซ‹เช•เซ‹เชจเซ‡ เชถเซ‹เชงเซ‡ เช›เซ‡, เช…เชจเซ‡ เชœเซ‹ เชคเซ‡เช“ เชคเซเชฏเชพเช‚ เชจ เชนเซ‹เชฏ, เชคเซ‹ เชชเช›เซ€ เชฒเซ‹เช•เซ‹เชจเซ‡ เชœเซเชฏเชพเช‚ เชคเซ‡เช“เชจเซ€ เชœเชฐเซ‚เชฐ เชนเซ‹เชฏ เชคเซเชฏเชพเช‚ เชฎเซ‹เช•เชฒเซ‡ เช›เซ‡.

24 เช•เชฒเชพเช•เชฎเชพเช‚ เชฐเชธเซเชŸ เชฐเชฎเชตเซเช‚: เชตเซเชฏเช•เซเชคเชฟเช—เชค เชตเชฟเช•เชพเชธ เช…เชจเซเชญเชต

เชเช•เชคเซเชฐ เช•เชฐเชตเซเช‚

เชฎเชจเซ‡ เช† เชธเชฐเชณ เชฐเชฎเชค เชชเชฐ เช•เชพเชฎ เช•เชฐเชตเชพเชฎเชพเช‚ เช–เชฐเซ‡เช–เชฐ เช†เชจเช‚เชฆ เชฅเชฏเซ‹. เชคเชฆเซเชชเชฐเชพเช‚เชค, เชฎเชจเซ‡ เช†เชจเช‚เชฆ เช›เซ‡ เช•เซ‡ เชฎเซ‡เช‚ เชคเซ‡เชจเซ‡ เชฒเช–เชตเชพ เชฎเชพเชŸเซ‡ เชฐเชธเซเชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเชฏเซ‹, เช•เชพเชฐเชฃ เช•เซ‡:

  • เชฐเชธเซเชŸ เชคเชฎเชจเซ‡ เชœเซ‡ เชœเซ‹เชˆเช เช›เซ‡ เชคเซ‡ เช†เชชเซ‡ เช›เซ‡;
  • เชคเซ‡เชจเซ€ เชชเชพเชธเซ‡ เช‰เชคเซเชคเชฎ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃ เช›เซ‡, เชฐเชธเซเชŸ เชเช•เชฆเชฎ เชญเชตเซเชฏ เช›เซ‡;
  • เชธเซเชธเช‚เช—เชคเชคเชพ เช เช‚เชกเซ€ เช›เซ‡;
  • เชคเชฎเชพเชฐเซ‡ เช•เซเชฒเซ‹เชจเชฟเช‚เช—, เชจเช•เชฒ เช…เชฅเชตเชพ เช…เชจเซเชฏ เชธเชฎเชพเชจ เช•เซเชฐเชฟเชฏเชพเช“เชจเซ‹ เช†เชถเชฐเซ‹ เชฒเซ‡เชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€, เชœเซ‡ เชฎเซ‡เช‚ เช˜เชฃเซ€เชตเชพเชฐ C++ เชฎเชพเช‚ เช•เชฐเซเชฏเซเช‚ เช›เซ‡;
  • เชตเชฟเช•เชฒเซเชชเซ‹ เชตเชพเชชเชฐเชตเชพ เชฎเชพเชŸเซ‡ เช–เซ‚เชฌ เชœ เชธเชฐเชณ เช›เซ‡ เช…เชจเซ‡ เชญเซ‚เชฒเซ‹เชจเซ‡ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เชนเซ‡เชจเซเชกเชฒ เช•เชฐเซ‡ เช›เซ‡;
  • เชœเซ‹ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เช•เชฎเซเชชเชพเชˆเชฒ เช•เชฐเชตเชพเชฎเชพเช‚ เชธเช•เซเชทเชฎ เชนเชคเซ‹, เชคเซ‹ 99% เชธเชฎเชฏ เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡, เช…เชจเซ‡ เชฌเชฐเชพเชฌเชฐ เชคเซ‡ เชœเซ‹เชˆเช. เชฎเชจเซ‡ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เช•เชฎเซเชชเชพเชˆเชฒเชฐ เชญเซ‚เชฒ เชธเช‚เชฆเซ‡เชถเชพเช“ เชฎเซ‡เช‚ เชœเซ‹เชฏเซ‡เชฒเชพ เชถเซเชฐเซ‡เชทเซเช  เช›เซ‡.

เชฐเชธเซเชŸเชฎเชพเช‚ เชฐเชฎเชค เชตเชฟเช•เชพเชธ เชฎเชพเชคเซเชฐ เชถเชฐเซ‚เช†เชค เช›เซ‡. เชชเชฐเช‚เชคเซ เชคเซเชฏเชพเช‚ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เชเช• เชธเซเชฅเชฟเชฐ เช…เชจเซ‡ เชเช•เชฆเชฎ เชฎเซ‹เชŸเซ‹ เชธเชฎเซเชฆเชพเชฏ เช›เซ‡ เชœเซ‡ เชฐเชธเซเชŸเชจเซ‡ เชฆเชฐเซ‡เช• เชฎเชพเชŸเซ‡ เช–เซ‹เชฒเชตเชพ เชฎเชพเชŸเซ‡ เช•เชพเชฎ เช•เชฐเซ€ เชฐเชนเซเชฏเซ‹ เช›เซ‡. เชคเซ‡เชฅเซ€, เชนเซเช‚ เชญเชพเชทเชพเชจเชพ เชญเชตเชฟเชทเซเชฏเชจเซ‡ เช†เชถเชพเชตเชพเชฆ เชธเชพเชฅเซ‡ เชœเซ‹เช‰เช‚ เช›เซเช‚, เช…เชฎเชพเชฐเชพ เชธเชพเชฎเชพเชจเซเชฏ เช•เชพเชฐเซเชฏเชจเชพ เชชเชฐเชฟเชฃเชพเชฎเซ‹เชจเซ€ เชฐเชพเชน เชœเซ‹เช‰เช‚ เช›เซเช‚.

เชธเซเช•เชฟเชฒเชฌเซ‹เช•เซเชธ เชญเชฒเชพเชฎเชฃ เช•เชฐเซ‡ เช›เซ‡:

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹