DevOps C++ рдЖрдгрд┐ "рдХрд┐рдЪрди рд╡реЙрд░реНрд╕", рдХрд┐рдВрд╡рд╛ рдореА рдЬреЗрд╡рддрд╛рдирд╛ рдЧреЗрдо рдХрд╕реЗ рд▓рд┐рд╣рд╛рдпрд▓рд╛ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА

"рдорд▓рд╛ рдорд╛рд╣рд┐рдд рдЖрд╣реЗ рдХреА рдорд▓рд╛ рдХрд╛рд╣реАрд╣реА рдорд╛рд╣рд┐рдд рдирд╛рд╣реА" рд╕реЙрдХреНрд░реЗрдЯрд┐рд╕

рдХреЛрдгрд╛рд╕рд╛рдареА: рдЖрдпрдЯреА рд▓реЛрдХрд╛рдВрд╕рд╛рдареА рдЬреЗ рд╕рд░реНрд╡ рд╡рд┐рдХрд╕рдХрд╛рдВрдЪреА рдХрд╛рд│рдЬреА рдШреЗрдд рдирд╛рд╣реАрдд рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреЗ рдЧреЗрдо рдЦреЗрд│реВ рдЗрдЪреНрдЫрд┐рддрд╛рдд!

рдХрд╢рд╛рдмрджреНрджрд▓: рддреБрдореНрд╣рд╛рд▓рд╛ рдЕрдЪрд╛рдирдХ рдЧрд░рдЬ рдкрдбрд▓реНрдпрд╛рд╕ C/C++ рдордзреНтАНрдпреЗ рдЧреЗрдо рдХрд╕реЗ рд▓рд┐рд╣рд╛рдпрдЪреЗ рдпрд╛рдмрджреНрджрд▓!

рдЖрдкрдг рд╣реЗ рдХрд╛ рд╡рд╛рдЪрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ: рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯ рд╣реЗ рдорд╛рдЭреНрдпрд╛ рдХреМрд╢рд▓реНрдпрд╛рдЪреЗ рдХреНрд╖реЗрддреНрд░ рдирд╛рд╣реА, рдкрд░рдВрддреБ рдореА рджрд░ рдЖрдард╡рдбреНрдпрд╛рд▓рд╛ рдХреЛрдб рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рддреЛ. рдХрд╛рд░рдг рдорд▓рд╛ рдЦреЗрд│ рдЖрд╡рдбрддрд╛рдд!

рд╣реЕрд▓реЛ рдорд╛рдЭреЗ рдирд╛рд╡ рдЖрд╣реЗ рдЖрдВрджреНрд░реЗ рдЧреНрд░рдБрдХрд┐рди, рдореА Luxoft рдпреЗрдереЗ DevOps рдЖрд╣реЗ. рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯ рд╣реА рдорд╛рдЭреА рдЦрд╛рд╕рд┐рдпрдд рдирд╛рд╣реА, рдкрдг рдореА рджрд░ рдЖрдард╡рдбреНрдпрд╛рд▓рд╛ рдХреЛрдб рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рддреЛ. рдХрд╛рд░рдг рдорд▓рд╛ рдЦреЗрд│ рдЖрд╡рдбрддрд╛рдд!

рд╕рдВрдЧрдгрдХ рдЧреЗрдорд┐рдВрдЧ рдЙрджреНрдпреЛрдЧ рдЦреВрдк рдореЛрдард╛ рдЖрд╣реЗ, рдЖрдЬрдЪреНрдпрд╛ рдЪрд┐рддреНрд░рдкрдЯ рдЙрджреНрдпреЛрдЧрд╛рдкреЗрдХреНрд╖рд╛рд╣реА рдореЛрдард╛ рдЖрд╣реЗ. рдЖрдзреБрдирд┐рдХ рдорд╛рдирдХреЗ, рдЬрдЯрд┐рд▓ рдЖрдгрд┐ рдореВрд▓рднреВрдд рд╡рд┐рдХрд╛рд╕ рдкрджреНрдзрддреА рд╡рд╛рдкрд░реВрди, рд╕рдВрдЧрдгрдХрд╛рдЪреНрдпрд╛ рд╕реБрд░реБрд╡рд╛рддреАрдкрд╛рд╕реВрди рдЦреЗрд│ рд▓рд┐рд╣рд┐рд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗрдд. рдХрд╛рд▓рд╛рдВрддрд░рд╛рдиреЗ, рдЖрдзреАрдЪ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗрд▓реЗрд▓реЗ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕, рднреМрддрд┐рдХрд╢рд╛рд╕реНрддреНрд░ рдЖрдгрд┐ рдзреНрд╡рдиреА рдЕрд╕рд▓реЗрд▓реЗ рдЧреЗрдо рдЗрдВрдЬрд┐рди рджрд┐рд╕реВ рд▓рд╛рдЧрд▓реЗ. рддреЗ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдЧреЗрдо рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреНрдпрд╛рд╡рд░ рд▓рдХреНрд╖ рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддрд╛рдд рдЖрдгрд┐ рддреНрдпрд╛рдЪреНрдпрд╛ рдкрд╛рдпрд╛рдмрджреНрджрд▓ рдХрд╛рд│рдЬреА рдХрд░реВ рдирдХрд╛. рдкрд░рдВрддреБ рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╕рд╣, рдЗрдВрдЬрд┐рдирд╕рд╣, рд╡рд┐рдХрд╛рд╕рдХ "рдЖрдВрдзрд│реЗ рд╣реЛрддрд╛рдд" рдЖрдгрд┐ рдЕрдзреЛрдЧрддреА рдХрд░рддрд╛рдд. рдЦреЗрд│рд╛рдВрдЪреЗ рдЙрддреНрдкрд╛рджрди рд╕реНрд╡рддрдГ рдХрдиреНрд╡реНрд╣реЗрдпрд░ рдмреЗрд▓реНрдЯрд╡рд░ рдареЗрд╡рд▓реЗ рдЬрд╛рддреЗ. рдЖрдгрд┐ рдЙрддреНрдкрд╛рджрдирд╛рдВрдЪреЗ рдкреНрд░рдорд╛рдг рддреНрдпрд╛рдЪреНрдпрд╛ рдЧреБрдгрд╡рддреНрддреЗрд╡рд░ рд╡рд░реНрдЪрд╕реНрд╡ рдЧрд╛рдЬрд╡реВ рд▓рд╛рдЧрддреЗ.

рддреНрдпрд╛рдЪ рд╡реЗрд│реА, рдЗрддрд░ рд▓реЛрдХрд╛рдВрдЪреЗ рдЧреЗрдо рдЦреЗрд│рддрд╛рдирд╛, рдЖрдореНрд╣реА рд╕рддрдд рд╕реНрдерд╛рдиреЗ, рдХрдерд╛рдирдХ, рдкрд╛рддреНрд░реЗ рдЖрдгрд┐ рдЧреЗрдо рдореЗрдХреЕрдирд┐рдХрджреНрд╡рд╛рд░реЗ рдорд░реНрдпрд╛рджрд┐рдд рдЕрд╕рддреЛ рдЬреЗ рдЗрддрд░ рд▓реЛрдХ рдЖрд▓реЗ. рддреНрдпрд╛рдореБрд│реЗ рдорд▓рд╛ рдХрд│рд▓реЗ рдХреА...

... рдорд╛рдЭреА рд╕реНрд╡рддрдГрдЪреА рдЬрдЧреЗ рдирд┐рд░реНрдорд╛рдг рдХрд░рдгреНрдпрд╛рдЪреА рд╡реЗрд│ рдЖрд▓реА рдЖрд╣реЗ, рдлрдХреНрдд рдорд╛рдЭреНрдпрд╛ рдЕрдзреАрди рдЖрд╣реЗ. рдЬрдЧ рдЬреЗрдереЗ рдореА рдкрд┐рддрд╛, рдкреБрддреНрд░ рдЖрдгрд┐ рдкрд╡рд┐рддреНрд░ рдЖрддреНрдорд╛ рдЖрд╣реЗ!

рдЖрдгрд┐ рдорд╛рдЭрд╛ рдкреНрд░рд╛рдорд╛рдгрд┐рдХрдкрдгреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЖрд╣реЗ рдХреА рддреБрдордЪреЗ рд╕реНрд╡рддрдГрдЪреЗ рдЧреЗрдо рдЗрдВрдЬрд┐рди рд▓рд┐рд╣реВрди рдЖрдгрд┐ рддреНрдпрд╛рд╡рд░ рдЦреЗрд│реВрди, рддреБрдореНрд╣реА рддреБрдордЪреЗ рд╢реВрдЬ рдХрд╛рдвреВ рд╢рдХрд╛рд▓, рдЦрд┐рдбрдХреНрдпрд╛ рдкреБрд╕реВрди рдЖрдгрд┐ рддреБрдордЪреА рдХреЗрдмрд┐рди рдЕрдкрдЧреНрд░реЗрдб рдХрд░реВ рд╢рдХрд╛рд▓, рдЕрдзрд┐рдХ рдЕрдиреБрднрд╡реА рдЖрдгрд┐ рдкреВрд░реНрдг рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдмрдиреВ рд╢рдХрд╛рд▓.

рдпрд╛ рд▓реЗрдЦрд╛рдд рдореА рддреБрдореНрд╣рд╛рд▓рд╛ C/C++ рдордзреНрдпреЗ рдЫреЛрдЯреЗ рдЦреЗрд│ рдХрд╕реЗ рд▓рд┐рд╣рд╛рдпрд▓рд╛ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА, рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╢реА рдЖрд╣реЗ рдЖрдгрд┐ рд╡реНрдпрд╕реНрдд рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдд рдорд▓рд╛ рдЫрдВрджрд╛рд╕рд╛рдареА рд╡реЗрд│ рдХреБрдареЗ рдорд┐рд│рддреЛ рд╣реЗ рд╕рд╛рдВрдЧрдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реЗрди. рд╣реЗ рд╡реНрдпрдХреНрддрд┐рдирд┐рд╖реНрда рдЖрд╣реЗ рдЖрдгрд┐ рд╡реИрдпрдХреНрддрд┐рдХ рдкреНрд░рд╛рд░рдВрднрд╛рдЪреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреЗ рд╡рд░реНрдгрди рдХрд░рддреЗ. рдЕрдЬреНрдЮрд╛рди рдЖрдгрд┐ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдпрд╛рдмрджреНрджрд▓рдЪреА рд╕рд╛рдордЧреНрд░реА, рдпрд╛ рдХреНрд╖рдгреА рдЬрдЧрд╛рдЪреНрдпрд╛ рдорд╛рдЭреНрдпрд╛ рд╡реИрдпрдХреНрддрд┐рдХ рдЪрд┐рддреНрд░рд╛рдмрджреНрджрд▓. рджреБрд╕рд▒реНрдпрд╛ рд╢рдмреНрджрд╛рдВрдд, "рдкреНрд░рд╢рд╛рд╕рди рддреБрдордЪреНрдпрд╛ рд╡реИрдпрдХреНрддрд┐рдХ рдореЗрдВрджреВрд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░ рдирд╛рд╣реА!"

рд╕рд░рд╛рд╡

"рдЕрднреНрдпрд╛рд╕рд╛рд╢рд┐рд╡рд╛рдп рдЬреНрдЮрд╛рди рдирд┐рд░реБрдкрдпреЛрдЧреА рдЖрд╣реЗ, рдЬреНрдЮрд╛рдирд╛рд╢рд┐рд╡рд╛рдп рд╕рд░рд╛рд╡ рдзреЛрдХрд╛рджрд╛рдпрдХ рдЖрд╣реЗ." рдХрдиреНрдлреНрдпреВрд╢рд┐рдпрд╕

рдорд╛рдЭреА рдиреЛрдЯрдмреБрдХ рдорд╛рдЭреЗ рдЬреАрд╡рди рдЖрд╣реЗ!


рдореНрд╣рдгреВрди, рд╕рд░рд╛рд╡ рдордзреНрдпреЗ, рдореА рдЕрд╕реЗ рдореНрд╣рдгреВ рд╢рдХрддреЛ рдХреА рдорд╛рдЭреНрдпрд╛рд╕рд╛рдареА рд╕рд░реНрд╡рдХрд╛рд╣реА рдиреЛрдЯрдкреЕрдбрдкрд╛рд╕реВрди рд╕реБрд░реВ рд╣реЛрддреЗ. рдореА рддрд┐рдереЗ рдорд╛рдЭреА рджреИрдирдВрджрд┐рди рдХрд╛рдореЗ рд▓рд┐рд╣реВрди рдареЗрд╡рдд рдирд╛рд╣реА, рддрд░ рдореА рдХрд╛рдврддреЛ, рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рддреЛ, рдлреНрд▓реЛрдЪрд╛рд░реНрдЯ рддрдпрд╛рд░ рдХрд░рддреЛ рдЖрдгрд┐ рдЧрдгрд┐рддрд╛рдЪреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рддреЛ. рдиреЗрд╣рдореА рдиреЛрдЯрдкреЕрдб рд╡рд╛рдкрд░рд╛ рдЖрдгрд┐ рдлрдХреНрдд рдкреЗрдиреНрд╕рд┐рд▓рдордзреНрдпреЗ рд▓рд┐рд╣рд╛. рд╣реЗ рд╕реНрд╡рдЪреНрдЫ, рд╕реЛрдпреАрд╕реНрдХрд░ рдЖрдгрд┐ рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣ рдЖрд╣реЗ, IMHO.

DevOps C++ рдЖрдгрд┐ "рдХрд┐рдЪрди рд╡реЙрд░реНрд╕", рдХрд┐рдВрд╡рд╛ рдореА рдЬреЗрд╡рддрд╛рдирд╛ рдЧреЗрдо рдХрд╕реЗ рд▓рд┐рд╣рд╛рдпрд▓рд╛ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА
рдорд╛рдЭреА (рдЖрдзреАрдЪ рднрд░рд▓реЗрд▓реА) рд╡рд╣реА. рддреЛ рдЕрд╕рд╛рдЪ рджрд┐рд╕рддреЛ. рддреНрдпрд╛рдд рджреИрдирдВрджрд┐рди рдХрд╛рдореЗ, рдХрд▓реНрдкрдирд╛, рд░реЗрдЦрд╛рдЪрд┐рддреНрд░реЗ, рдЖрдХреГрддреНрдпрд╛, рдЙрдкрд╛рдп, рдмреНрд▓реЕрдХ рдмреБрдХрдХреАрдкрд┐рдВрдЧ, рдХреЛрдб рдЗрддреНрдпрд╛рджреАрдВрдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЖрд╣реЗ.

рдпрд╛ рдЯрдкреНрдкреНрдпрд╛рд╡рд░, рдореА рддреАрди рдкреНрд░рдХрд▓реНрдк рдкреВрд░реНрдг рдХрд░рдгреНрдпрд╛рдд рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ (рд╣реЗ рдорд╛рдЭреНрдпрд╛ "рдкреВрд░реНрдгрддреЗрдЪреНрдпрд╛" рд╕рдордЬрд╛рдиреБрд╕рд╛рд░ рдЖрд╣реЗ, рдХрд╛рд░рдг рдХреЛрдгрддреЗрд╣реА рдЙрддреНрдкрд╛рджрди рддреБрд▓рдиреЗрдиреЗ рдЕрд╡рд┐рд░рддрдкрдгреЗ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ).

  • рдкреНрд░рдХрд▓реНрдк реи: рд╣реЗ рдпреБрдирд┐рдЯреА рдЧреЗрдо рдЗрдВрдЬрд┐рди рд╡рд╛рдкрд░реВрди C# рдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓реЗ 3D рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЯ рдбреЗрдореЛ рд╕реАрди рдЖрд╣реЗ. macOS рдЖрдгрд┐ Windows рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╕рд╛рдареА.
  • рдЧреЗрдо 1: рд╡рд┐рдВрдбреЛрдЬрд╕рд╛рдареА рдХрдиреНрд╕реЛрд▓ рдЧреЗрдо рд╕рд┐рдВрдкрд▓ рд╕реНрдиреЗрдХ (рдкреНрд░рддреНрдпреЗрдХрд╛рд▓рд╛ "рд╕рд╛рдк" рдореНрд╣рдгреВрди рдУрд│рдЦрд▓реЗ рдЬрд╛рддреЗ). рд╕реА рдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓реЗ.
  • рдЧреЗрдо 2: рдХрдиреНрд╕реЛрд▓ рдЧреЗрдо Crazy Tanks (рдкреНрд░рддреНрдпреЗрдХрд╛рд▓рд╛ тАЬTanksтАЭ рдореНрд╣рдгреВрди рдУрд│рдЦрд▓реЗ рдЬрд╛рддреЗ), C++ рдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓реЗ (рд╡рд░реНрдЧ рд╡рд╛рдкрд░реВрди) рдЖрдгрд┐ Windows рд╕рд╛рдареА рджреЗрдЦреАрд▓.

рдкреНрд░рдХрд▓реНрдк 0. рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЯ рдбреЗрдореЛ

DevOps C++ рдЖрдгрд┐ "рдХрд┐рдЪрди рд╡реЙрд░реНрд╕", рдХрд┐рдВрд╡рд╛ рдореА рдЬреЗрд╡рддрд╛рдирд╛ рдЧреЗрдо рдХрд╕реЗ рд▓рд┐рд╣рд╛рдпрд▓рд╛ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА
3D рд╕реАрди рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЯ рдбреЗрдореЛ

рдкрд╣рд┐рд▓рд╛ рдкреНрд░рдХрд▓реНрдк C/C++ рдордзреНрдпреЗ рдирд╛рд╣реА рддрд░ C# рдордзреНрдпреЗ рдпреБрдирд┐рдЯреА рдЧреЗрдо рдЗрдВрдЬрд┐рди рд╡рд╛рдкрд░реВрди рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рдд рдЖрд▓рд╛. рдпрд╛ рдЗрдВрдЬрд┐рдирд▓рд╛ рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рдкреНрд░рдорд╛рдгреЗ рдорд╛рдЧрдгреА рдирд╡реНрд╣рддреА рдЕрд╡рд╛рд╕реНрддрд╡ рдЗрдВрдЬрд┐рди, рдЖрдгрд┐ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ рдЖрдгрд┐ рд╡рд╛рдкрд░рдгреЗ рджреЗрдЦреАрд▓ рд╕реЛрдкреЗ рдЖрд╣реЗ. рдореА рдЗрддрд░ рдЗрдВрдЬрд┐рдирд╛рдВрдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХреЗрд▓рд╛ рдирд╛рд╣реА.

рдпреБрдирд┐рдЯреАрдордзреНрдпреЗ рдорд╛рдЭреЗ рдзреНрдпреЗрдп рдЦреЗрд│ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреЗ рд╣реЗ рдирд╡реНрд╣рддреЗ. рдорд▓рд╛ рдХрд╛рд╣реА рдкрд╛рддреНрд░рд╛рдВрд╕рд╣ 3D рд╕реАрди рддрдпрд╛рд░ рдХрд░рд╛рдпрдЪрд╛ рд╣реЛрддрд╛. рддреНрдпрд╛рд▓рд╛, рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛рдРрд╡рдЬреА рддрд┐рд▓рд╛ (рдореА рдЬреНрдпрд╛ рдореБрд▓реАрдЪреНрдпрд╛ рдкреНрд░реЗрдорд╛рдд рд╣реЛрддреЗ рддреНрдпрд╛ рдореБрд▓реАрдЪреЗ рдореЙрдбреЗрд▓ рдмрдирд╡рд▓реЗ =) рддреНрдпрд╛рд▓рд╛ рддреНрдпрд╛рдЪреНрдпрд╛ рд╕рднреЛрд╡рддрд╛рд▓рдЪреНрдпрд╛ рдЬрдЧрд╛рд╢реА рд╣рд▓рд╡рд╛рд╡реЗ рдЖрдгрд┐ рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрд╛рд╡рд╛ рд▓рд╛рдЧрд▓рд╛. рдпреБрдирд┐рдЯреА рдореНрд╣рдгрдЬреЗ рдХрд╛рдп, рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореНрд╣рдгрдЬреЗ рдХрд╛рдп рдЖрдгрд┐ рдПрдЦрд╛рджреА рдЧреЛрд╖реНрдЯ рдШрдбрд╡рдгреНрдпрд╛рд╕рд╛рдареА рдХрд┐рддреА рдкреНрд░рдпрддреНрди рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧрддрд╛рдд, рд╣реЗ рд╕рдордЬреВрди рдШреЗрдгреЗ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рд╣реЛрддреЗ. рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЯ рдбреЗрдореЛ рдкреНрд░рдХрд▓реНрдкрд╛рдЪрд╛ рдЬрдиреНрдо рдЭрд╛рд▓рд╛ (рдирд╛рд╡ рдЬрд╡рд│рдЬрд╡рд│ рдХреЛрдареЗрд╣реА рд╢реЛрдзрд▓реЗ рдЧреЗрд▓реЗ рдирд╛рд╣реА). рдкреНрд░реЛрдЧреНрд░реЕрдорд┐рдВрдЧ, рдореЙрдбреЗрд▓рд┐рдВрдЧ, рдЕреЕрдирд┐рдореЗрд╢рди, рдЯреЗрдХреНрд╕рдЪрд░рд┐рдВрдЧ рдорд▓рд╛ рджреИрдирдВрджрд┐рди рдХрд╛рдорд╛рдд рджреЛрди рдорд╣рд┐рдиреЗ рд▓рд╛рдЧрд▓реЗ.

рдордзреНрдпреЗ 3D рдореЙрдбреЗрд▓реНрд╕ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдореА YouTube рд╡рд░ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╡реНрд╣рд┐рдбрд┐рдУрдВрд╕рд╣ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА рдмреНрд▓реЗрдВрдбрд░. рдмреНрд▓реЗрдВрдбрд░ рд╣реЗ 3D рдореЙрдбреЗрд▓рд┐рдВрдЧ (рдЖрдгрд┐ рдЕрдзрд┐рдХ) рд╕рд╛рдареА рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рд╡рд┐рдирд╛рдореВрд▓реНрдп рд╕рд╛рдзрди рдЖрд╣реЗ рдЬреНрдпрд╛рд╕ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рдирдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА. рдЖрдгрд┐ рдЗрдереЗ рдорд▓рд╛ рдПрдХ рдзрдХреНрдХрд╛ рдмрд╕рд▓рд╛... рдЕрд╕реЗ рджрд┐рд╕реВрди рдЖрд▓реЗ рдХреА рдореЙрдбреЗрд▓рд┐рдВрдЧ, рдЕреЕрдирд┐рдореЗрд╢рди, рдЯреЗрдХреНрд╕рдЪрд░рд┐рдВрдЧ рд╣реЗ рдЦреВрдк рд╡реЗрдЧрд│реЗ рд╡рд┐рд╖рдп рдЖрд╣реЗрдд рдЬреНрдпрд╛рд╡рд░ рддреБрдореНрд╣реА рдкреБрд╕реНрддрдХреЗ рд▓рд┐рд╣реВ рд╢рдХрддрд╛. рд╣реЗ рдкрд╛рддреНрд░рд╛рдВрд╕рд╛рдареА рд╡рд┐рд╢реЗрд╖рддрдГ рдЦрд░реЗ рдЖрд╣реЗ. рдмреЛрдЯреЗ, рджрд╛рдд, рдбреЛрд│реЗ рдЖрдгрд┐ рд╢рд░реАрд░рд╛рдЪреНрдпрд╛ рдЗрддрд░ рдЕрд╡рдпрд╡рд╛рдВрдЪреЗ рдореЙрдбреЗрд▓ рдмрдирд╡рдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣рд╛рд▓рд╛ рд╢рд░реАрд░рд╢рд╛рд╕реНрддреНрд░рд╛рдЪреЗ рдЬреНрдЮрд╛рди рдЖрд╡рд╢реНрдпрдХ рдЕрд╕реЗрд▓. рдЪреЗрд╣рд▒реНрдпрд╛рдЪреНрдпрд╛ рд╕реНрдирд╛рдпреВрдВрдЪреА рд░рдЪрдирд╛ рдХрд╢реА рдЕрд╕рддреЗ? рд▓реЛрдХ рдХрд╕реЗ рд╣рд▓рддрд╛рдд? рдорд▓рд╛ рдкреНрд░рддреНрдпреЗрдХ рд╣рд╛рдд, рдкрд╛рдп, рдмреЛрдЯ, рдмреЛрдЯрд╛рдВрдЪреНрдпрд╛ рдлреЕрд▓реЗрдВрдЬреЗрд╕рдордзреНрдпреЗ рд╣рд╛рдбреЗ "рдШрд╛рд╡рд╛рдпрдЪреА" рд╣реЛрддреА!

рдЕреЕрдирд┐рдореЗрд╢рди рдиреИрд╕рд░реНрдЧрд┐рдХ рджрд┐рд╕рдгреНрдпрд╛рд╕рд╛рдареА рдХреЙрд▓рд░рдмреЛрдиреНрд╕ рдЖрдгрд┐ рдЕрддрд┐рд░рд┐рдХреНрдд рд▓реАрд╡реНрд╣рд░ рд╣рд╛рдбреЗ рдореЙрдбреЗрд▓ рдХрд░рд╛. рдЕрд╢рд╛ рдзрдбреНрдпрд╛рдВрдирдВрддрд░, рдЕреЕрдирд┐рдореЗрдЯреЗрдб рдЪрд┐рддреНрд░рдкрдЯрд╛рдВрдЪреЗ рдирд┐рд░реНрдорд╛рддреЗ рдлрдХреНрдд 30 рд╕реЗрдХрдВрджрд╛рдВрдЪрд╛ рд╡реНрд╣рд┐рдбрд┐рдУ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд┐рддреА рдХрд╛рдо рдХрд░рддрд╛рдд рд╣реЗ рддреБрдордЪреНрдпрд╛ рд▓рдХреНрд╖рд╛рдд рдпреЗрддреЗ. рдкрдг рдереНрд░реАрдбреА рдЪрд┐рддреНрд░рдкрдЯ рддрд╛рд╕рдиреНрддрд╛рд╕ рдЯрд┐рдХрддрд╛рдд! рдЖрдгрд┐ рдордЧ рдЖрдореНрд╣реА рд╕рд┐рдиреЗрдорд╛ рд╕реЛрдбрддреЛ рдЖрдгрд┐ рдЕрд╕реЗ рдХрд╛рд╣реАрддрд░реА рдореНрд╣рдгрддреЛ: тАЬрд╣реЗ рдПрдХ рдмрдХрд╡рд╛рд╕ рдХрд╛рд░реНрдЯреВрди/рдЪрд┐рддреНрд░рдкрдЯ рдЖрд╣реЗ! рддреЗ рдЕрдзрд┐рдХ рдЪрд╛рдВрдЧрд▓реЗ рдХрд░реВ рд╢рдХрд▓реЗ рдЕрд╕рддреЗ..." рдореВрд░реНрдЦрд╛рдВрдиреЛ!

рдЖрдгрд┐ рдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рддреАрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЖрдгрдЦреА рдПрдХ рдЧреЛрд╖реНрдЯ. рдЕрд╕реЗ рдЭрд╛рд▓реЗ рдХреА, рдорд╛рдЭреНрдпрд╛рд╕рд╛рдареА рд╕рд░реНрд╡рд╛рдд рдордиреЛрд░рдВрдЬрдХ рднрд╛рдЧ рдЧрдгрд┐рддрд╛рдЪрд╛ рд╣реЛрддрд╛. рддреБрдореНрд╣реА рд╕реАрди рдЪрд╛рд▓рд╡рд▓реНрдпрд╛рд╕ (рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╡рд░реНрдгрдирд╛рддреАрд▓ рд░рд┐рдкреЙрдЭрд┐рдЯрд░реАрд╢реА рд▓рд┐рдВрдХ), рддреБрдордЪреНрдпрд╛ рд▓рдХреНрд╖рд╛рдд рдпреЗрдИрд▓ рдХреА рдХреЕрдореЗрд░рд╛ рдПрдХрд╛ рдЧреЛрд▓рд╛рдордзреНрдпреЗ рдореБрд▓реАрдЪреНрдпрд╛ рдкрд╛рддреНрд░рд╛рднреЛрд╡рддреА рдлрд┐рд░рдд рдЖрд╣реЗ. рдХреЕрдореЗрд░реНтАНрдпрд╛рдЪреЗ рдЕрд╕реЗ рд░реЛрдЯреЗрд╢рди рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдорд▓рд╛ рдкреНрд░рдердо рд╡рд░реНрддреБрд│рд╛рд╡рд░ (2D) рдЖрдгрд┐ рдирдВрддрд░ рдЧреЛрд▓рд╛рд╡рд░ (3D) рд╕реНрдерд┐рддреА рдмрд┐рдВрджреВрдЪреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдореЛрдЬрд╛рд╡реЗ рд▓рд╛рдЧрд▓реЗ. рдЧрдВрдордд рдореНрд╣рдгрдЬреЗ рдорд▓рд╛ рд╢рд╛рд│реЗрдд рдЧрдгрд┐рддрд╛рдЪрд╛ рддрд┐рдЯрдХрд╛рд░рд╛ рд╣реЛрддрд╛ рдЖрдгрд┐ рддреЗ C-minus рдиреЗ рдХрд│рдд рдЕрд╕реЗ. рдЕрдВрд╢рддрдГ, рдмрд╣реБрдзрд╛, рдХрд╛рд░рдг рд╢рд╛рд│реЗрдд рд╣реЗ рдЧрдгрд┐рдд рдЬреАрд╡рдирд╛рдд рдХрд╕реЗ рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЬрд╛рддреЗ рддреЗ рддреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдд рдирд╛рд╣реАрдд. рдкрдг рдЬреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣рд╛рд▓рд╛ рддреБрдордЪреНрдпрд╛ рдзреНрдпреЗрдпрд╛рдЪреЗ рд╡реЗрдб рдЕрд╕рддреЗ, рддреЗрд╡реНрд╣рд╛ рддреБрдордЪреЗ рд╕реНрд╡рдкреНрди, рддреБрдордЪреЗ рдорди рд╕реНрд╡рдЪреНрдЫ рд╣реЛрддреЗ рдЖрдгрд┐ рдЦреБрд▓рддреЗ! рдЖрдгрд┐ рддреБрдореНрд╣рд╛рд▓рд╛ рдХрдареАрдг рдХрд╛рд░реНрдпреЗ рдПрдХ рд░реЛрдорд╛рдВрдЪрдХ рд╕рд╛рд╣рд╕ рдореНрд╣рдгреВрди рд╕рдордЬреВ рд▓рд╛рдЧрддрд╛рдд. рдЖрдгрд┐ рдордЧ рддреБрдореНрд╣реА рд╡рд┐рдЪрд╛рд░ рдХрд░рддрд╛: "рдмрд░рдВ, рддреБрдордЪрд╛ *рдЖрд╡рдбрддрд╛* рдЧрдгрд┐рддрдЬреНрдЮ рддреБрдореНрд╣рд╛рд▓рд╛ рд╣реЗ рд╕реВрддреНрд░ рдХреБрдареЗ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рдпреЗрдИрд▓ рд╣реЗ рд╕рд╛рдорд╛рдиреНрдпрдкрдгреЗ рдХрд╛ рд╕рд╛рдВрдЧреВ рд╢рдХрдд рдирд╛рд╣реА?"

DevOps C++ рдЖрдгрд┐ "рдХрд┐рдЪрди рд╡реЙрд░реНрд╕", рдХрд┐рдВрд╡рд╛ рдореА рдЬреЗрд╡рддрд╛рдирд╛ рдЧреЗрдо рдХрд╕реЗ рд▓рд┐рд╣рд╛рдпрд▓рд╛ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА
рд╡рд░реНрддреБрд│рд╛рд╡рд░реАрд▓ рдЖрдгрд┐ рдЧреЛрд▓рд╛рд╡рд░реАрд▓ рдмрд┐рдВрджреВрдЪреНрдпрд╛ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХрд╛рдВрдЪреА рдЧрдгрдирд╛ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реВрддреНрд░рд╛рдВрдЪреА рдЧрдгрдирд╛ (рдорд╛рдЭреНрдпрд╛ рдиреЛрдЯрдмреБрдХрдордзреВрди)

рдЦреЗрд│ 1. рд╕рд╛рдзрд╛ рд╕рд╛рдк

  • рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо: Windows (Windows 7, 10 рд╡рд░ рдЪрд╛рдЪрдгреА рдХреЗрд▓реА рдЖрд╣реЗ)
  • рднрд╛рд╖рд╛: рдорд▓рд╛ рд╡рд╛рдЯрддреЗ рдореА рддреЗ рд╢реБрджреНрдз C рдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗ рдЖрд╣реЗ
  • рдЧреЗрдо рдЗрдВрдЬрд┐рди: рд╡рд┐рдВрдбреЛрдЬ рдХрдиреНрд╕реЛрд▓
  • рдкреНрд░реЗрд░рдгрд╛: javidx9
  • рднрд╛рдВрдбрд╛рд░: GitHub

DevOps C++ рдЖрдгрд┐ "рдХрд┐рдЪрди рд╡реЙрд░реНрд╕", рдХрд┐рдВрд╡рд╛ рдореА рдЬреЗрд╡рддрд╛рдирд╛ рдЧреЗрдо рдХрд╕реЗ рд▓рд┐рд╣рд╛рдпрд▓рд╛ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА
рд╕рд╛рдзрд╛ рд╕рд╛рдк рдЦреЗрд│

рдереНрд░реАрдбреА рд╕реАрди рд╣рд╛ рдЦреЗрд│ рдирд╛рд╣реА. рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, 3D рд╡рд╕реНрддреВрдВрдЪреЗ рдореЙрдбреЗрд▓рд┐рдВрдЧ рдЖрдгрд┐ рдЕреЕрдирд┐рдореЗрдЯ рдХрд░рдгреЗ (рд╡рд┐рд╢реЗрд╖рдд: рд╡рд░реНрдг) рд╡реЗрд│ рдШреЗрдгрд╛рд░реЗ рдЖрдгрд┐ рдХрдареАрдг рдЖрд╣реЗ. рдпреБрдирд┐рдЯреАрдмрд░реЛрдмрд░ рдЦреЗрд│рд▓реНрдпрд╛рдирдВрддрд░, рдорд▓рд╛ рдЬрд╛рдгреАрд╡ рдЭрд╛рд▓реА рдХреА рдорд▓рд╛ рдореВрд▓рднреВрдд рдЧреЛрд╖реНрдЯреАрдВрдкрд╛рд╕реВрди рд╕реБрд░реВ рдареЗрд╡рдгреНрдпрд╛рдЪреА рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛рдРрд╡рдЬреА рд╕реБрд░реБрд╡рд╛рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЧреЗрдордЪреА рд░рдЪрдирд╛ рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рд╣реАрддрд░реА рд╕реЛрдкреЗ рдЖрдгрд┐ рдЬрд▓рдж, рдкрд░рдВрддреБ рддреНрдпрд╛рдЪ рд╡реЗрд│реА рдЬрд╛рдЧрддрд┐рдХ.

рд╕реЛрдкреЗ рдЖрдгрд┐ рдЬрд▓рдж рдХрд╛рдп рдЖрд╣реЗ? рддреЗ рдмрд░реЛрдмрд░ рдЖрд╣реЗ, рдХрдиреНрд╕реЛрд▓ рдЖрдгрд┐ 2D. рдЕрдзрд┐рдХ рддрдВрддреЛрддрдВрдд, рдЕрдЧрджреА рдХрдиреНрд╕реЛрд▓ рдЖрдгрд┐ рдЪрд┐рдиреНрд╣реЗ. рдкреБрдиреНрд╣рд╛ рдореА рдЗрдВрдЯрд░рдиреЗрдЯрд╡рд░ рдкреНрд░реЗрд░рдгрд╛ рд╢реЛрдзрдд рдЧреЗрд▓реЛ (рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, рдорд▓рд╛ рд╡рд╛рдЯрддреЗ рдХреА рдЗрдВрдЯрд░рдиреЗрдЯ рд╣рд╛ XNUMX рд╡реНрдпрд╛ рд╢рддрдХрд╛рддреАрд▓ рд╕рд░реНрд╡рд╛рдд рдХреНрд░рд╛рдВрддрд┐рдХрд╛рд░реА рдЖрдгрд┐ рдзреЛрдХрд╛рджрд╛рдпрдХ рд╢реЛрдз рдЖрд╣реЗ). рдореА рдПрдХрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рдЪрд╛ рд╡реНрд╣рд┐рдбрд┐рдУ рдЦреЛрджрд▓рд╛ рдЬреНрдпрд╛рдиреЗ рдХрдиреНрд╕реЛрд▓ рдЯреЗрдЯреНрд░рд┐рд╕ рдмрдирд╡рд▓реЗ. рдЖрдгрд┐ рддреНрдпрд╛рдЪреНрдпрд╛ рдЦреЗрд│рд╛рдЪреНрдпрд╛ рд░реВрдкрд╛рдд рдореА "рд╕рд╛рдк" рдмрдирд╡рдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрддрд▓рд╛. рд╡реНрд╣рд┐рдбрд┐рдУрд╡рд░реВрди рдореА рджреЛрди рдореВрд▓рднреВрдд рдЧреЛрд╖реНрдЯреА рд╢рд┐рдХрд▓реЛ - рдЧреЗрдо рд▓реВрдк (рддреАрди рдореВрд▓рднреВрдд рдХрд╛рд░реНрдпреЗ/рднрд╛рдЧрд╛рдВрд╕рд╣) рдЖрдгрд┐ рдмрдлрд░рд▓рд╛ рдЖрдЙрдЯрдкреБрдЯ.

рдЧреЗрдо рд▓реВрдк рдпрд╛рд╕рд╛рд░рдЦреЗ рдХрд╛рд╣реАрддрд░реА рджрд┐рд╕реВ рд╢рдХрддреЗ:

int main()
   {
      Setup();
      // a game loop
      while (!quit)
      {
          Input();
          Logic();
          Draw();
          Sleep(gameSpeed);  // game timing
      }
      return 0;
   }

рдХреЛрдб рд╕рдВрдкреВрд░реНрдг рдореБрдЦреНрдп() рдлрдВрдХреНрд╢рди рдПрдХрд╛рдЪ рд╡реЗрд│реА рд╕рд╛рджрд░ рдХрд░рддреЛ. рдЖрдгрд┐ рдпреЛрдЧреНрдп рдЯрд┐рдкреНрдкрдгреАрдирдВрддрд░ рдЧреЗрдо рд╕рд╛рдпрдХрд▓ рд╕реБрд░реВ рд╣реЛрддреЗ. рд▓реВрдкрдордзреНрдпреЗ рддреАрди рдореВрд▓рднреВрдд рдХрд╛рд░реНрдпреЗ рдЖрд╣реЗрдд: рдЗрдирдкреБрдЯ(), рд▓реЙрдЬрд┐рдХ(), рдбреНрд░реЙ(). рдкреНрд░рдердо, рдбреЗрдЯрд╛ рдЗрдирдкреБрдЯ рдЗрдирдкреБрдЯ (рдореБрдЦреНрдпрддрдГ рдХреАрд╕реНрдЯреНрд░реЛрдХрдЪреЗ рдирд┐рдпрдВрддреНрд░рдг), рдирдВрддрд░ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдбреЗрдЯрд╛рд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреЗ рд▓реЙрдЬрд┐рдХ, рдирдВрддрд░ рд╕реНрдХреНрд░реАрдирд╡рд░ рдЖрдЙрдЯрдкреБрдЯ - рдХрд╛рдврд╛. рдЖрдгрд┐ рдкреНрд░рддреНрдпреЗрдХ рдлреНрд░реЗрдорд╡рд░. рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рдЕреЕрдирд┐рдореЗрд╢рди рддрдпрд╛рд░ рд╣реЛрддреЗ. рд╣реЗ рд╡реНрдпрдВрдЧрдЪрд┐рддреНрд░рд╛рдВрд╕рд╛рд░рдЦреЗ рдЖрд╣реЗ. рд╕рд╛рдорд╛рдиреНрдпрддрдГ, рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдбреЗрдЯрд╛рд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рд░реНрд╡рд╛рдд рдЬрд╛рд╕реНрдд рд╡реЗрд│ рд▓рд╛рдЧрддреЛ рдЖрдгрд┐, рдорд╛рдЭреНрдпрд╛ рдорд╛рд╣рд┐рддреАрдиреБрд╕рд╛рд░, рдЧреЗрдордЪрд╛ рдлреНрд░реЗрдо рджрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ. рдкрдг рдЗрдереЗ Logic() рдлрдВрдХреНрд╢рди рдЦреВрдк рд▓рд╡рдХрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рд╣реЛрддреЗ. рдореНрд╣рдгреВрди, рддреБрдореНрд╣рд╛рд▓рд╛ рдЧреЗрдорд╕реНрдкреАрдб рдкреЕрд░рд╛рдореАрдЯрд░рд╕рд╣ рд╕реНрд▓реАрдк() рдлрдВрдХреНрд╢рди рд╡рд╛рдкрд░реВрди рдлреНрд░реЗрдо рд░реЗрдЯ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рд╛рд╡рд╛ рд▓рд╛рдЧреЗрд▓, рдЬреЛ рд╣рд╛ рд╡реЗрдЧ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЛ.

DevOps C++ рдЖрдгрд┐ "рдХрд┐рдЪрди рд╡реЙрд░реНрд╕", рдХрд┐рдВрд╡рд╛ рдореА рдЬреЗрд╡рддрд╛рдирд╛ рдЧреЗрдо рдХрд╕реЗ рд▓рд┐рд╣рд╛рдпрд▓рд╛ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА
рдЦреЗрд│ рд╕рд╛рдпрдХрд▓. рдиреЛрдЯрдкреЕрдбрдордзреНрдпреЗ "рд╕рд╛рдк" рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рдгреЗ

рдЬрд░ рддреБрдореНрд╣реА рдХреЕрд░реЗрдХреНрдЯрд░-рдЖрдзрд╛рд░рд┐рдд рдХрдиреНрд╕реЛрд▓ рдЧреЗрдо рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдд рдЕрд╕рд╛рд▓, рддрд░ рддреБрдореНрд╣реА рдирд┐рдпрдорд┐рдд 'рдХрд╛рдЙрдЯ' рд╕реНрдЯреНрд░реАрдо рдЖрдЙрдЯрдкреБрдЯ рд╡рд╛рдкрд░реВрди рд╕реНрдХреНрд░реАрдирд╡рд░ рдбреЗрдЯрд╛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реВ рд╢рдХрдгрд╛рд░ рдирд╛рд╣реА - рддреЗ рдЦреВрдк рдордВрдж рдЖрд╣реЗ. рдореНрд╣рдгреВрди, рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдХреНрд░реАрди рдмрдлрд░рд╡рд░ рдкрд╛рдард╡рд┐рд▓реЗ рдЬрд╛рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рд╣реЗ рдЦреВрдк рд╡реЗрдЧрд╡рд╛рди рдЖрд╣реЗ рдЖрдгрд┐ рдЧреЗрдо рдХреЛрдгрддреНрдпрд╛рд╣реА рддреНрд░реБрдЯреАрд╢рд┐рд╡рд╛рдп рдЪрд╛рд▓реЗрд▓. рдЦрд░реЗ рд╕рд╛рдВрдЧрд╛рдпрдЪреЗ рддрд░, рдорд▓рд╛ рд╕реНрдХреНрд░реАрди рдмрдлрд░ рдореНрд╣рдгрдЬреЗ рдХрд╛рдп рдЖрдгрд┐ рддреЗ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реЗ рд╕рдордЬрдд рдирд╛рд╣реА. рдкрд░рдВрддреБ рдореА рдпреЗрдереЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЛрдб рджреЗрдИрди рдЖрдгрд┐ рдХрджрд╛рдЪрд┐рдд рдХреЛрдгреАрддрд░реА рдЯрд┐рдкреНрдкрдгреНрдпрд╛рдВрдордзреНрдпреЗ рдкрд░рд┐рд╕реНрдерд┐рддреА рд╕реНрдкрд╖реНрдЯ рдХрд░реВ рд╢рдХреЗрд▓.

рд╕реНрдХреНрд░реАрди рдмрдлрд░ рдорд┐рд│рд╡рдгреЗ (рдореНрд╣рдгреВрди рдмреЛрд▓рд╛рдпрдЪреЗ рддрд░):

// create screen buffer for drawings
   HANDLE hConsole = CreateConsoleScreenBuffer(GENERIC_READ | GENERIC_WRITE, 0,
 							   NULL, CONSOLE_TEXTMODE_BUFFER, NULL);
   DWORD dwBytesWritten = 0;
   SetConsoleActiveScreenBuffer(hConsole);

рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реНрдХреЛрд░рд▓рд╛рдЗрдирдЪреЗ рдереЗрдЯ рдкреНрд░рджрд░реНрд╢рди (рд╕реНрдХреЛрдЕрд░ рдбрд┐рд╕реНрдкреНрд▓реЗ рд▓рд╛рдЗрди):

// draw the score
   WriteConsoleOutputCharacter(hConsole, scoreLine, GAME_WIDTH, {2,3}, &dwBytesWritten);

рд╕рд┐рджреНрдзрд╛рдВрддрд╛рдиреБрд╕рд╛рд░, рдпрд╛ рдЧреЗрдордордзреНрдпреЗ рдХрд╛рд╣реАрд╣реА рдХреНрд▓рд┐рд╖реНрдЯ рдирд╛рд╣реА; рдорд▓рд╛ рд╡рд╛рдЯрддреЗ рдХреА рд╣реЗ рдПрдХ рдЪрд╛рдВрдЧрд▓реЗ рдПрдВрдЯреНрд░реА-рд▓реЗрд╡реНрд╣рд▓ рдЙрджрд╛рд╣рд░рдг рдЖрд╣реЗ. рдХреЛрдб рдПрдХрд╛ рдлрд╛рдИрд▓рдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓рд╛ рдЬрд╛рддреЛ рдЖрдгрд┐ рдЕрдиреЗрдХ рдлрдВрдХреНрд╢рдиреНрд╕рдордзреНрдпреЗ рдлреЙрд░рдореЕрдЯ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. рд╡рд░реНрдЧ рдирд╛рд╣реА, рд╡рд╛рд░рд╕рд╛ рдирд╛рд╣реА. GitHub рд╡рд░реАрд▓ рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдордзреНрдпреЗ рдЬрд╛рдКрди рддреБрдореНрд╣реА рдЧреЗрдордЪреНрдпрд╛ рд╕реЛрд░реНрд╕ рдХреЛрдбрдордзреНрдпреЗ рд╕рд░реНрд╡рдХрд╛рд╣реА рд╕реНрд╡рддрдГ рдкрд╛рд╣реВ рд╢рдХрддрд╛.

рдЦреЗрд│ 2. рд╡реЗрдбрд╛ рдЯрд╛рдХреНрдпрд╛

DevOps C++ рдЖрдгрд┐ "рдХрд┐рдЪрди рд╡реЙрд░реНрд╕", рдХрд┐рдВрд╡рд╛ рдореА рдЬреЗрд╡рддрд╛рдирд╛ рдЧреЗрдо рдХрд╕реЗ рд▓рд┐рд╣рд╛рдпрд▓рд╛ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА
рдЦреЗрд│ рд╡реЗрдбрд╛ рдЯрд╛рдХреНрдпрд╛

рдХрдиреНрд╕реЛрд▓рд╡рд░ рдЕрдХреНрд╖рд░реЗ рдореБрджреНрд░рд┐рдд рдХрд░рдгреЗ рд╣реА рдХрджрд╛рдЪрд┐рдд рд╕рд░реНрд╡рд╛рдд рд╕реЛрдкреА рдЧреЛрд╖реНрдЯ рдЖрд╣реЗ рдЬреА рддреБрдореНрд╣реА рдЧреЗрдордордзреНрдпреЗ рдмрджрд▓реВ рд╢рдХрддрд╛. рдкрд░рдВрддреБ рдирдВрддрд░ рдПрдХ рд╕рдорд╕реНрдпрд╛ рджрд┐рд╕реВрди рдпреЗрддреЗ: рдЪрд┐рдиреНрд╣рд╛рдВрдЪреА рдЙрдВрдЪреА рдЖрдгрд┐ рд░реБрдВрджреА рднрд┐рдиреНрди рдЖрд╣реЗ (рдЙрдВрдЪреА рд░реБрдВрджреАрдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдЖрд╣реЗ). рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рд╕рд░реНрд╡ рдХрд╛рд╣реА рдкреНрд░рдорд╛рдгрд╛рдмрд╛рд╣реЗрд░ рджрд┐рд╕реЗрд▓ рдЖрдгрд┐ рдбрд╛рд╡реАрдХрдбреЗ рдХрд┐рдВрд╡рд╛ рдЙрдЬрд╡реАрдХрдбреЗ рд╣рд▓рд╡рдгреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдЦрд╛рд▓реА рдХрд┐рдВрд╡рд╛ рд╡рд░ рдЬрд╛рдгреЗ рдЦреВрдк рдЬрд▓рдж рджрд┐рд╕реЗрд▓. рд╕реНрдиреЗрдХ (рдЧреЗрдо 1) рдордзреНрдпреЗ рд╣рд╛ рдкреНрд░рднрд╛рд╡ рдЦреВрдкрдЪ рд▓рдХреНрд╖рдгреАрдп рдЖрд╣реЗ. "рдЯрдБрдХреНрд╕" (рдЧреЗрдо 2) рдордзреНрдпреЗ рд╣реА рдХрдорддрд░рддрд╛ рдирд╛рд╣реА, рдХрд╛рд░рдг рддреЗрдереАрд▓ рдЖрдЙрдЯрдкреБрдЯ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рд░рдВрдЧрд╛рдВрдиреА рд╕реНрдХреНрд░реАрди рдкрд┐рдХреНрд╕реЗрд▓ рдкреЗрдВрдЯрд┐рдВрдЧрджреНрд╡рд╛рд░реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддреЗ. рддреБрдореНрд╣реА рдореНрд╣рдгреВ рд╢рдХрддрд╛ рдХреА рдореА рд░реЗрдВрдбрд░рд░ рд▓рд┐рд╣рд┐рд▓реЗ рдЖрд╣реЗ. рдЦрд░реЗ рдЖрд╣реЗ, рд╣реЗ рдереЛрдбреЗ рдЕрдзрд┐рдХ рдХреНрд▓рд┐рд╖реНрдЯ рдЖрд╣реЗ, рдЬрд░реА рдмрд░реЗрдЪ рдордиреЛрд░рдВрдЬрдХ рдЖрд╣реЗ.

рдпрд╛ рдЧреЗрдорд╕рд╛рдареА, рд╕реНрдХреНрд░реАрдирд╡рд░ рдкрд┐рдХреНрд╕реЗрд▓ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдорд╛рдЭреНрдпрд╛ рд╕рд┐рд╕реНрдЯрдордЪреЗ рд╡рд░реНрдгрди рдХрд░рдгреЗ рдкреБрд░реЗрд╕реЗ рдЕрд╕реЗрд▓. рдореА рд╣рд╛ рдЦреЗрд│рд╛рдЪрд╛ рдореБрдЦреНрдп рднрд╛рдЧ рдорд╛рдирддреЛ. рдЖрдгрд┐ рдЖрдкрдг рд╕реНрд╡рддрдГрдЪ рдЗрддрд░ рд╕рд░реНрд╡ рдЧреЛрд╖реНрдЯреАрдВрд╕рд╣ рдпреЗрдК рд╢рдХрддрд╛.

рддрд░, рддреБрдореНрд╣реА рд╕реНрдХреНрд░реАрдирд╡рд░ рдЬреЗ рдкрд╛рд╣рддрд╛ рддреЗ рдлрдХреНрдд рд╣рд▓рддреНрдпрд╛ рдмрд╣реБ-рд░рдВрдЧреАрдд рдЖрдпрддрд╛рдВрдЪрд╛ рд╕рдВрдЪ рдЖрд╣реЗ.

DevOps C++ рдЖрдгрд┐ "рдХрд┐рдЪрди рд╡реЙрд░реНрд╕", рдХрд┐рдВрд╡рд╛ рдореА рдЬреЗрд╡рддрд╛рдирд╛ рдЧреЗрдо рдХрд╕реЗ рд▓рд┐рд╣рд╛рдпрд▓рд╛ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА
рдЖрдпрддрд╛рдВрдЪрд╛ рд╕рдВрдЪ

рдкреНрд░рддреНрдпреЗрдХ рдЖрдпрдд рд╕рдВрдЦреНрдпрд╛рдВрдиреА рднрд░рд▓реЗрд▓реНрдпрд╛ рдореЕрдЯреНрд░рд┐рдХреНрд╕рджреНрд╡рд╛рд░реЗ рджрд░реНрд╢рд╡рд┐рд▓рд╛ рдЬрд╛рддреЛ. рддрд╕реЗ, рдореА рдПрдХ рдордиреЛрд░рдВрдЬрдХ рд╕реВрдХреНрд╖реНрдорддрд╛ рд╣рд╛рдпрд▓рд╛рдЗрдЯ рдХрд░реВ рд╢рдХрддреЛ - рдЧреЗрдордордзреАрд▓ рд╕рд░реНрд╡ рдореЕрдЯреНрд░рд┐рдХреНрд╕ рдПрдХ-рдЖрдпрд╛рдореА рдЕреЕрд░реЗ рдореНрд╣рдгреВрди рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗрд▓реЗрд▓реЗ рдЖрд╣реЗрдд. рджреНрд╡рд┐рдорд┐рддреАрдп рдирд╛рд╣реА, рддрд░ рдПрдХ-рдЖрдпрд╛рдореА! рдПрдХ-рдЖрдпрд╛рдореА рдЕтАНреЕрд░реЗ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЦреВрдк рд╕реЛрдкреЗ рдЖрдгрд┐ рдЬрд▓рдж рдЖрд╣реЗрдд.

DevOps C++ рдЖрдгрд┐ "рдХрд┐рдЪрди рд╡реЙрд░реНрд╕", рдХрд┐рдВрд╡рд╛ рдореА рдЬреЗрд╡рддрд╛рдирд╛ рдЧреЗрдо рдХрд╕реЗ рд▓рд┐рд╣рд╛рдпрд▓рд╛ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА
рдЧреЗрдо рдЯрдБрдХ рдореЕрдЯреНрд░рд┐рдХреНрд╕рдЪреЗ рдЙрджрд╛рд╣рд░рдг

DevOps C++ рдЖрдгрд┐ "рдХрд┐рдЪрди рд╡реЙрд░реНрд╕", рдХрд┐рдВрд╡рд╛ рдореА рдЬреЗрд╡рддрд╛рдирд╛ рдЧреЗрдо рдХрд╕реЗ рд▓рд┐рд╣рд╛рдпрд▓рд╛ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА
рдЧреЗрдо рдЯрдБрдХ рдореЕрдЯреНрд░рд┐рдХреНрд╕рдЪреЗ рдПрдХ-рдЖрдпрд╛рдореА рдЕреЕрд░реЗ рдореНрд╣рдгреВрди рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡

DevOps C++ рдЖрдгрд┐ "рдХрд┐рдЪрди рд╡реЙрд░реНрд╕", рдХрд┐рдВрд╡рд╛ рдореА рдЬреЗрд╡рддрд╛рдирд╛ рдЧреЗрдо рдХрд╕реЗ рд▓рд┐рд╣рд╛рдпрд▓рд╛ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА
рдПрдХ-рдЖрдпрд╛рдореА рдЕреЕрд░реЗ рдореНрд╣рдгреВрди рдореЕрдЯреНрд░рд┐рдХреНрд╕рдЪреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдгреНрдпрд╛рдЪреЗ рдЕрдзрд┐рдХ рджреГрд╢реНрдп рдЙрджрд╛рд╣рд░рдг

рдкрд░рдВрддреБ рдЕреЕрд░реЗрдЪреНрдпрд╛ рдШрдЯрдХрд╛рдВрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рджреБрд╣реЗрд░реА рд▓реВрдкрдордзреНрдпреЗ рд╣реЛрддреЛ, рдЬрдгреВ рддреЛ рдПрдХ-рдЖрдпрд╛рдореА рдЕреЕрд░реЗ рдирд╕реВрди рджреНрд╡рд┐рдорд┐рддреАрдп рдЕреЕрд░реЗ рдЖрд╣реЗ. рд╣реЗ рдХреЗрд▓реЗ рдЬрд╛рддреЗ рдХрд╛рд░рдг рдЖрдореНрд╣реА рдЕрдЬреВрдирд╣реА рдореЕрдЯреНрд░рд┐рдХрд╕рд╣ рдХрд╛рдо рдХрд░рддреЛ.

DevOps C++ рдЖрдгрд┐ "рдХрд┐рдЪрди рд╡реЙрд░реНрд╕", рдХрд┐рдВрд╡рд╛ рдореА рдЬреЗрд╡рддрд╛рдирд╛ рдЧреЗрдо рдХрд╕реЗ рд▓рд┐рд╣рд╛рдпрд▓рд╛ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА
рджреБрд╣реЗрд░реА рд▓реВрдкрдордзреНрдпреЗ рдПрдХ-рдЖрдпрд╛рдореА рдЕтАНреЕрд░реЗ рдкрд╛рд░ рдХрд░рдгреЗ. Y - рдкрдВрдХреНрддреА рдЕрднрд┐рдЬреНрдЮрд╛рдкрдХ, X - рд╕реНрддрдВрдн рдЕрднрд┐рдЬреНрдЮрд╛рдкрдХ

рдХреГрдкрдпрд╛ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рд╛: рдиреЗрд╣рдореАрдЪреНрдпрд╛ рдореЕрдЯреНрд░рд┐рдХреНрд╕ рдЖрдпрдбреЗрдВрдЯрд┐рдлрд╛рдпрд░ i, j рдРрд╡рдЬреА, рдореА x рдЖрдгрд┐ y рдЖрдпрдбреЗрдВрдЯрд┐рдлрд╛рдпрд░ рд╡рд╛рдкрд░рддреЛ. рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рдорд▓рд╛ рдЕрд╕реЗ рд╡рд╛рдЯрддреЗ рдХреА рддреЗ рдбреЛрд│реНрдпрд╛рдВрдирд╛ рдЕрдзрд┐рдХ рдЖрдирдВрджрджрд╛рдпрдХ рдЖрдгрд┐ рдореЗрдВрджреВрд▓рд╛ рдЕрдзрд┐рдХ рд╕рдордЬрдгреНрдпрд╛рд╕рд╛рд░рдЦреЗ рдЖрд╣реЗ. рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдЕрд╢рд╛ рдиреЛрдЯреЗрд╢рдирдореБрд│реЗ рджреНрд╡рд┐-рдЖрдпрд╛рдореА рдкреНрд░рддрд┐рдореЗрдЪреНрдпрд╛ рд╕рдордиреНрд╡рдп рдЕрдХреНрд╖рд╛рдВрд╡рд░ рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд░реНтАНрдпрд╛ рдореЕрдЯреНрд░рд┐рдХреНрд╕рд▓рд╛ рд╕реЛрдпреАрд╕реНрдХрд░рдкрдгреЗ рдкреНрд░рдХреНрд╖реЗрдкрд┐рдд рдХрд░рдгреЗ рд╢рдХреНрдп рд╣реЛрддреЗ.

рдЖрддрд╛ рдкрд┐рдХреНрд╕реЗрд▓, рд░рдВрдЧ рдЖрдгрд┐ рд╕реНрдХреНрд░реАрди рдЖрдЙрдЯрдкреБрдЯ рдмрджреНрджрд▓. StretchDIBits рдлрдВрдХреНрд╢рди рдЖрдЙрдЯрдкреБрдЯрд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ (рд╢реАрд░реНрд╖рд▓реЗрдЦ: windows.h; рд▓рд╛рдпрдмреНрд░рд░реА: gdi32.lib). рд╣реЗ рдлрдВрдХреНрд╢рди, рдЗрддрд░ рдЧреЛрд╖реНрдЯреАрдВрд╕рд╣, рдЦрд╛рд▓реАрд▓ рдЧреЛрд╖реНрдЯреА рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ: рдЬреНрдпрд╛ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕рд╡рд░ рдкреНрд░рддрд┐рдорд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреЗрд▓реА рдЬрд╛рддреЗ (рдорд╛рдЭреНрдпрд╛ рдмрд╛рдмрддреАрдд, рддреЗ рд╡рд┐рдВрдбреЛрдЬ рдХрдиреНрд╕реЛрд▓ рдЖрд╣реЗ), рдкреНрд░рддрд┐рдорд╛ рдкреНрд░рджрд░реНрд╢рдирд╛рдЪреЗ рдкреНрд░рд╛рд░рдВрдн рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ, рддреНрдпрд╛рдЪреА рд░реБрдВрджреА/рдЙрдВрдЪреА рдЖрдгрд┐ рдкреНрд░рддрд┐рдорд╛ рд╕реНрд╡рддрдГ рдмрд┐рдЯрдореЕрдкрдЪреЗ рд╕реНрд╡рд░реВрдк, рдмрд╛рдЗрдЯреНрд╕рдЪреНрдпрд╛ рдЕреЕрд░реЗрджреНрд╡рд╛рд░реЗ рдкреНрд░рд╕реНрддреБрдд рдХреЗрд▓реЗ рдЬрд╛рддреЗ. рдмрд┐рдЯрдореЕрдк рдмрд╛рдЗрдЯ рдЕреЕрд░реЗ рдореНрд╣рдгреВрди!

StretchDIBits() рдлрдВрдХреНрд╢рди рдХреГрддреАрдд рдЖрд╣реЗ:

// screen output for game field
   StretchDIBits(
               deviceContext,
               OFFSET_LEFT, OFFSET_TOP,
               PMATRIX_WIDTH, PMATRIX_HEIGHT,
               0, 0,
               PMATRIX_WIDTH, PMATRIX_HEIGHT,
               m_p_bitmapMemory, &bitmapInfo,
               DIB_RGB_COLORS,
               SRCCOPY
               );

VirtualAlloc() рдлрдВрдХреНрд╢рди рд╡рд╛рдкрд░реВрди рдпрд╛ рдмрд┐рдЯрдореЕрдкрд╕рд╛рдареА рдореЗрдорд░реА рдЖрдЧрд╛рдК рд╡рд╛рдЯрдк рдХреЗрд▓реА рдЬрд╛рддреЗ. рдореНрд╣рдгрдЬреЗрдЪ, рд╕рд░реНрд╡ рдкрд┐рдХреНрд╕реЗрд▓рдЪреА рдорд╛рд╣рд┐рддреА рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ рд╕рдВрдЦреНрдпреЗрдиреЗ рдмрд╛рдЗрдЯреНрд╕ рдЖрд░рдХреНрд╖рд┐рдд рдЖрд╣реЗрдд, рдЬреЗ рдирдВрддрд░ рд╕реНрдХреНрд░реАрдирд╡рд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддреАрд▓.

m_p_bitmapрдореЗрдорд░реА рдмрд┐рдЯрдореЕрдк рддрдпрд╛рд░ рдХрд░рдгреЗ:

// create bitmap
   int bitmapMemorySize = (PMATRIX_WIDTH * PMATRIX_HEIGHT) * BYTES_PER_PIXEL;
   void* m_p_bitmapMemory = VirtualAlloc(0, bitmapMemorySize, MEM_COMMIT, PAGE_READWRITE);

рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ рдмреЛрд▓рд╛рдпрдЪреЗ рдЭрд╛рд▓реНрдпрд╛рд╕, рдмрд┐рдЯрдореЕрдкрдордзреНрдпреЗ рдкрд┐рдХреНрд╕реЗрд▓рдЪрд╛ рд╕рдВрдЪ рдЕрд╕рддреЛ. рдЕреЕрд░реЗрдордзреАрд▓ рдкреНрд░рддреНрдпреЗрдХ рдЪрд╛рд░ рдмрд╛рдЗрдЯреНрд╕ рдПрдХ RGB рдкрд┐рдХреНрд╕реЗрд▓ рдЖрд╣реЗ. рдПрдХ рдмрд╛рдЗрдЯ рдкреНрд░рддрд┐ рд▓рд╛рд▓ рд░рдВрдЧ рдореВрд▓реНрдп, рдПрдХ рдмрд╛рдЗрдЯ рдкреНрд░рддрд┐ рд╣рд┐рд░рд╡рд╛ рд░рдВрдЧ рдореВрд▓реНрдп (G), рдЖрдгрд┐ рдПрдХ рдмрд╛рдЗрдЯ рдкреНрд░рддрд┐ рдирд┐рд│рд╛ рд░рдВрдЧ рдореВрд▓реНрдп (B). рд╢рд┐рд╡рд╛рдп рдЗрдВрдбреЗрдВрдЯреЗрд╢рдирд╕рд╛рдареА рдПрдХ рдмрд╛рдЗрдЯ рд╢рд┐рд▓реНрд▓рдХ рдЖрд╣реЗ. рд╣реЗ рддреАрди рд░рдВрдЧ - рд▓рд╛рд▓/рд╣рд┐рд░рд╡рд╛/рдирд┐рд│рд╛ (RGB) - рдкрд░рд┐рдгрд╛рдореА рдкрд┐рдХреНрд╕реЗрд▓ рд░рдВрдЧ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХрдореЗрдХрд╛рдВрд╢реА рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рдорд┐рд╕рд│рд▓реЗ рдЬрд╛рддрд╛рдд.

рдЖрддрд╛, рдкреБрдиреНрд╣рд╛, рдкреНрд░рддреНрдпреЗрдХ рдЖрдпрдд, рдХрд┐рдВрд╡рд╛ рдЧреЗрдо рдСрдмреНрдЬреЗрдХреНрдЯ, рдЕрдВрдХреАрдп рдореЕрдЯреНрд░рд┐рдХреНрд╕рджреНрд╡рд╛рд░реЗ рджрд░реНрд╢рд╡рд┐рд▓реЗ рдЬрд╛рддреЗ. рдпрд╛ рд╕рд░реНрд╡ рдЧреЗрдо рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рд╕рдВрдЧреНрд░рд╣рд╛рдд рдареЗрд╡рд▓реНрдпрд╛ рдЖрд╣реЗрдд. рдЖрдгрд┐ рдордЧ рддреЗ рдЦреЗрд│рд╛рдЪреНрдпрд╛ рдореИрджрд╛рдирд╛рд╡рд░ рдареЗрд╡рд▓реЗ рдЬрд╛рддрд╛рдд, рдПрдХ рдореЛрдареЗ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдореЕрдЯреНрд░рд┐рдХреНрд╕ рдмрдирд╡рддрд╛рдд. рдореА рдореЕрдЯреНрд░рд┐рдХреНрд╕рдордзреАрд▓ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдЦреНрдпрд╛ рдПрдХрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░рдВрдЧрд╛рд╢реА рдЬреЛрдбрд▓реА. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдХреНрд░рдорд╛рдВрдХ 8 рдирд┐рд│реНрдпрд╛рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЖрд╣реЗ, рдХреНрд░рдорд╛рдВрдХ 9 рддреЗ рдкрд┐рд╡рд│рд╛, рдХреНрд░рдорд╛рдВрдХ 10 рддреЗ рдЧрдбрдж рд░рд╛рдЦрд╛рдбреА рдЗрддреНрдпрд╛рджреА. рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рдЖрдкрдг рдЕрд╕реЗ рдореНрд╣рдгреВ рд╢рдХрддреЛ рдХреА рдЖрдкрд▓реНрдпрд╛рдХрдбреЗ рдЦреЗрд│рдгреНрдпрд╛рдЪреНрдпрд╛ рдХреНрд╖реЗрддреНрд░рд╛рдЪреЗ рдореЕрдЯреНрд░рд┐рдХреНрд╕ рдЖрд╣реЗ, рдЬрд┐рдереЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдЦреНрдпрд╛ рдПрдХ рд░рдВрдЧ рдЖрд╣реЗ.

рддрд░, рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдПрдХрд╛ рдмрд╛рдЬреВрд▓рд╛ рд╕рдВрдкреВрд░реНрдг рдЦреЗрд│рд╛рдЪреНрдпрд╛ рдореИрджрд╛рдирд╛рдЪрд╛ рдЕрдВрдХреАрдп рдореЕрдЯреНрд░рд┐рдХреНрд╕ рдЖрд╣реЗ рдЖрдгрд┐ рджреБрд╕рд░реАрдХрдбреЗ рдкреНрд░рддрд┐рдорд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдмрд┐рдЯрдореЕрдк рдЖрд╣реЗ. рдЖрддрд╛рдкрд░реНрдпрдВрдд, рдмрд┐рдЯрдореЕрдк "рд░рд┐рдХреНрдд" рдЖрд╣реЗ - рддреНрдпрд╛рдд рдЕрджреНрдпрд╛рдк рдЗрдЪреНрдЫрд┐рдд рд░рдВрдЧрд╛рдЪреНрдпрд╛ рдкрд┐рдХреНрд╕реЗрд▓рдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреА рдирд╛рд╣реА. рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рдХреА рдЦреЗрд│рдгреНрдпрд╛рдЪреНрдпрд╛ рдХреНрд╖реЗрддреНрд░рд╛рдЪреНрдпрд╛ рдЕрдВрдХреАрдп рдореЕрдЯреНрд░рд┐рдХреНрд╕рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рддреНрдпреЗрдХ рдкрд┐рдХреНрд╕реЗрд▓рдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреАрд╕рд╣ рдмрд┐рдЯрдореЕрдк рднрд░рдгреЗ рд╣реА рд╢реЗрд╡рдЯрдЪреА рдкрд╛рдпрд░реА рдЕрд╕реЗрд▓. рдЕрд╢рд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╛рдЪреЗ рд╕реНрдкрд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг рдЦрд╛рд▓реАрд▓ рдЪрд┐рддреНрд░рд╛рдд рдЖрд╣реЗ.

DevOps C++ рдЖрдгрд┐ "рдХрд┐рдЪрди рд╡реЙрд░реНрд╕", рдХрд┐рдВрд╡рд╛ рдореА рдЬреЗрд╡рддрд╛рдирд╛ рдЧреЗрдо рдХрд╕реЗ рд▓рд┐рд╣рд╛рдпрд▓рд╛ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА
рдЦреЗрд│рд╛рдЪреНрдпрд╛ рдореИрджрд╛рдирд╛рдЪреНрдпрд╛ рдбрд┐рдЬрд┐рдЯрд▓ рдореЕрдЯреНрд░рд┐рдХреНрд╕рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдорд╛рд╣рд┐рддреАрд╕рд╣ рдмрд┐рдЯрдореЕрдк (рдкрд┐рдХреНрд╕реЗрд▓ рдореЕрдЯреНрд░рд┐рдХреНрд╕) рднрд░рдгреНрдпрд╛рдЪреЗ рдЙрджрд╛рд╣рд░рдг (рд░рдВрдЧ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдЧреЗрдордордзреАрд▓ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХрд╛рдВрд╢реА рдЬреБрд│рдд рдирд╛рд╣реАрдд)

рдореА рдЧреЗрдордордзреАрд▓ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреЛрдбрдЪрд╛ рдПрдХ рднрд╛рдЧ рджреЗрдЦреАрд▓ рд╕рд╛рджрд░ рдХрд░реЗрди. рд▓реВрдкрдЪреНрдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддреАрд╡рд░реАрд▓ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рдХрд▓рд░ рдЗрдВрдбреЗрдХреНрд╕рд▓рд╛ рдкреНрд▓реЗ рдлреАрд▓реНрдбрдЪреНрдпрд╛ рдЕрдВрдХреАрдп рдореЕрдЯреНрд░рд┐рдХреНрд╕рдордзреВрди рдореВрд▓реНрдп (рд░рдВрдЧ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ) рдирд┐рдпреБрдХреНрдд рдХреЗрд▓реЗ рдЬрд╛рддреЗ (рдореБрдЦреНрдп рдбрд┐рдЬрд┐рдЯрд▓ рдореЕрдЯреНрд░рд┐рдХреНрд╕). рдХрд▓рд░ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рдирдВрддрд░ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХрд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд░рдВрдЧрд╛рд╡рд░ рд╕реЗрдЯ рдХреЗрд▓реЗ рдЬрд╛рддреЗ. рдкрд░рд┐рдгрд╛рдореА рд░рдВрдЧ рдирдВрддрд░ рд▓рд╛рд▓, рд╣рд┐рд░рд╡рд╛ рдЖрдгрд┐ рдирд┐рд│рд╛ (RGB) рдЪреНрдпрд╛ рдЧреБрдгреЛрддреНрддрд░рд╛рдордзреНрдпреЗ рд╡рд┐рднрд╛рдЧрд▓рд╛ рдЬрд╛рддреЛ. рдЖрдгрд┐ рдкрд┐рдХреНрд╕реЗрд▓рдкреЕрдбрд┐рдВрдЧрд╕рд╣, рд╣реА рдорд╛рд╣рд┐рддреА рдкрд┐рдХреНрд╕реЗрд▓рдордзреНрдпреЗ рдкреБрдиреНрд╣рд╛ рдкреБрдиреНрд╣рд╛ рд▓рд┐рд╣рд┐рд▓реА рдЬрд╛рддреЗ, рдмрд┐рдЯрдореЕрдкрдордзреНрдпреЗ рд░рдВрдЧреАрдд рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХрд░рддреЗ.

рдХреЛрдб рдкреЙрдЗрдВрдЯрд░ рдЖрдгрд┐ рдмрд┐рдЯрд╡рд╛рдЗрдЬ рдСрдкрд░реЗрд╢рдиреНрд╕ рд╡рд╛рдкрд░рддреЛ, рдЬреЗ рд╕рдордЬрдгреЗ рдХрдареАрдг рдЕрд╕реВ рд╢рдХрддреЗ. рдореНрд╣рдгреВрди рдореА рддреБрдореНрд╣рд╛рд▓рд╛ рдЕрд╢реА рд░рдЪрдирд╛ рдХрд╢реА рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реЗ рдХреБрдареЗрддрд░реА рд╕реНрд╡рддрдВрддреНрд░рдкрдгреЗ рд╡рд╛рдЪрдгреНрдпрд╛рдЪрд╛ рд╕рд▓реНрд▓рд╛ рджреЗрддреЛ.

рдЦреЗрд│рд╛рдЪреНрдпрд╛ рдореИрджрд╛рдирд╛рдЪреНрдпрд╛ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдореЕрдЯреНрд░рд┐рдХреНрд╕рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдорд╛рд╣рд┐рддреАрд╕рд╣ рдмрд┐рдЯрдореЕрдк рднрд░рдгреЗ:

// set pixel map variables
   int colorIndex;
   COLORREF color;
   int pitch;
   uint8_t* p_row;
 
   // arrange pixels for game field
   pitch = PMATRIX_WIDTH * BYTES_PER_PIXEL;     // row size in bytes
   p_row = (uint8_t*)m_p_bitmapMemory;       //cast to uint8 for valid pointer arithmetic
   							(to add by 1 byte (8 bits) at a time)   
   for (int y = 0; y < PMATRIX_HEIGHT; ++y)
   {
       uint32_t* p_pixel = (uint32_t*)p_row;
       for (int x = 0; x < PMATRIX_WIDTH; ++x)
       {
           colorIndex = mainDigitalMatrix[y * PMATRIX_WIDTH + x];
           color = Utils::GetColor(colorIndex);
           uint8_t blue = GetBValue(color);
           uint8_t green = GetGValue(color);
           uint8_t red = GetRValue(color);
           uint8_t pixelPadding = 0;
 
           *p_pixel = ((pixelPadding << 24) | (red << 16) | (green << 8) | blue);
           ++p_pixel;
       }
       p_row += pitch;
   }

рд╡рд░ рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкрджреНрдзрддреАрдиреБрд╕рд╛рд░, рдХреНрд░реЗрдЭреА рдЯрдБрдХреНрд╕ рдЧреЗрдордордзреНрдпреЗ рдбреНрд░реЙ() рдлрдВрдХреНрд╢рдирдордзреНрдпреЗ рдПрдХ рдЪрд┐рддреНрд░ (рдлреНрд░реЗрдо) рддрдпрд╛рд░ рд╣реЛрддреЗ рдЖрдгрд┐ рд╕реНрдХреНрд░реАрдирд╡рд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреЗ. Input() рдлрдВрдХреНрд╢рдирдордзреНтАНрдпреЗ рдХреА рд╕реНтАНрдЯреНрд░реЛрдХрдЪреА рдиреЛрдВрджрдгреА рдХреЗрд▓реНтАНрдпрд╛рдирдВрддрд░ рдЖрдгрд┐ рд▓реЙрдЬрд┐рдХ() рдлрдВрдХреНтАНрд╢рдирдордзреНтАНрдпреЗ рддреНтАНрдпрд╛рдВрдЪреНтАНрдпрд╛ рдирдВрддрд░рдЪреНтАНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрдирдВрддрд░, рдирд╡реАрди рдЪрд┐рддреНрд░ (рдлреНрд░реЗрдо) рддрдпрд╛рд░ рд╣реЛрддреЗ. рдЦрд░реЗ рдЖрд╣реЗ, рдЧреЗрдо рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕рдЪреА рдкреНрд▓реЗрдЗрдВрдЧ рдлреАрд▓реНрдбрд╡рд░ рдЖрдзреАрдкрд╛рд╕реВрдирдЪ рд╡реЗрдЧрд│реА рд╕реНрдерд┐рддреА рдЕрд╕реВ рд╢рдХрддреЗ рдЖрдгрд┐ рддреНрдпрд╛рдиреБрд╕рд╛рд░, рд╡реЗрдЧрд│реНрдпрд╛ рдард┐рдХрд╛рдгреА рдХрд╛рдврд▓реА рдЬрд╛рддреЗ. рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рдЕреЕрдирд┐рдореЗрд╢рди (рд╣рд╛рд▓рдЪрд╛рд▓) рдШрдбрддреЗ.

рд╕реИрджреНрдзрд╛рдВрддрд┐рдХрджреГрд╖реНрдЯреНрдпрд╛ (рдореА рдХрд╛рд╣реАрд╣реА рд╡рд┐рд╕рд░рд▓реЛ рдирд╕рд▓реНрдпрд╛рд╕), рдкрд╣рд┐рд▓реНрдпрд╛ рдЧреЗрдордордзреАрд▓ рдЧреЗрдо рд▓реВрдк рд╕рдордЬреВрди рдШреЗрдгреЗ (тАЬрд╕рд╛рдктАЭ) рдЖрдгрд┐ рджреБрд╕рд▒реНрдпрд╛ рдЧреЗрдордордзреВрди рд╕реНрдХреНрд░реАрдирд╡рд░ рдкрд┐рдХреНрд╕реЗрд▓ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдкреНрд░рдгрд╛рд▓реА (тАЬрдЯрдБрдХреНрд╕тАЭ) рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд╛рд╣реАрд╣реА рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдЖрд╣реЗ. Windows рдЕрдВрддрд░реНрдЧрдд рдЖрдкрд▓реНрдпрд╛ 2D рдЧреЗрдордЪреЗ. рдЖрд╡рд╛рдЬрд╣реАрди! ЁЯШЙ рдмрд╛рдХреАрдЪреЗ рднрд╛рдЧ рдлрдХреНрдд рдлреЕрдиреНрд╕реАрдЪреЗ рдлреНрд▓рд╛рдЗрдЯ рдЖрд╣реЗрдд.

рдЕрд░реНрдерд╛рдд, тАЬрдЯрд╛рдБрдХреНрд╕тАЭ рд╣рд╛ рдЦреЗрд│ тАЬрд╕рд╛рдктАЭ рдкреЗрдХреНрд╖рд╛ рдЦреВрдкрдЪ рдЧреБрдВрддрд╛рдЧреБрдВрддреАрдЪрд╛ рдЖрд╣реЗ. рдореА рдЖрдзреАрдЪ C++ рднрд╛рд╖рд╛ рд╡рд╛рдкрд░рд▓реА рдЖрд╣реЗ, рдореНрд╣рдгрдЬреЗрдЪ рдореА рд╡рд░реНрдЧрд╛рдВрд╕рд╣ рд╡рд┐рд╡рд┐рдз рдЧреЗрдо рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕рдЪреЗ рд╡рд░реНрдгрди рдХреЗрд▓реЗ рдЖрд╣реЗ. рдореА рдорд╛рдЭрд╛ рд╕реНрд╡рддрдГрдЪрд╛ рд╕рдВрдЧреНрд░рд╣ рддрдпрд╛рд░ рдХреЗрд▓рд╛ рдЖрд╣реЗ - рдХреЛрдб рд╣реЗрдбрд░/Box.h рдордзреНрдпреЗ рдкрд╛рд╣рд┐рд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ. рддрд╕реЗ, рд╕рдВрдЧреНрд░рд╣рд╛рдд рдмрд╣реБрдзрд╛ рдореЗрдорд░реА рд▓реАрдХ рдЖрд╣реЗ. рдкреЙрдЗрдВрдЯрд░реНрд╕ рд╡рд╛рдкрд░рд▓реЗ. рд╕реНрдореГрддреАрд╕рд╣ рдХрд╛рдо рдХреЗрд▓реЗ. рдкреБрд╕реНрддрдХрд╛рдиреЗ рдорд▓рд╛ рдЦреВрдк рдорджрдд рдХреЗрд▓реА рдЕрд╕реЗ рдорд▓рд╛ рдореНрд╣рдгрд╛рдпрдЪреЗ рдЖрд╣реЗ рдЧреЗрдо рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧрджреНрд╡рд╛рд░реЗ C++ рдЪреА рд╕реБрд░реБрд╡рд╛рдд. C++ рдордзреАрд▓ рдирд╡рд╢рд┐рдХреНрдпрд╛рдВрд╕рд╛рдареА рд╣реА рдЪрд╛рдВрдЧрд▓реА рд╕реБрд░реБрд╡рд╛рдд рдЖрд╣реЗ. рд╣реЗ рд▓рд╣рд╛рди, рдордиреЛрд░рдВрдЬрдХ рдЖрдгрд┐ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЖрд╣реЗ.

рд╣рд╛ рдЧреЗрдо рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реБрдорд╛рд░реЗ рд╕рд╣рд╛ рдорд╣рд┐рдиреЗ рд▓рд╛рдЧрд▓реЗ. рдореА рдореБрдЦреНрдпрддрдГ рджреБрдкрд╛рд░рдЪреНрдпрд╛ рдЬреЗрд╡рдгрд╛рджрд░рдореНрдпрд╛рди рдЖрдгрд┐ рдХрд╛рдорд╛рдЪреНрдпрд╛ рдард┐рдХрд╛рдгреА рд╕реНрдиреЕрдХреНрд╕ рджрд░рдореНрдпрд╛рди рд▓рд┐рд╣рд┐рд▓реЗ. рддреЛ рдСрдлрд┐рд╕рдЪреНрдпрд╛ рд╕реНрд╡рдпрдВрдкрд╛рдХрдШрд░рд╛рдд рдмрд╕рд▓рд╛, рдЕрдиреНрди рддреБрдбрд╡рд▓реЗ рдЖрдгрд┐ рдХреЛрдб рд▓рд┐рд╣рд┐рд▓рд╛. рдХрд┐рдВрд╡рд╛ рдШрд░реА рд░рд╛рддреНрд░реАрдЪреЗ рдЬреЗрд╡рдг. рдореНрд╣рдгреВрди рдореА рдпрд╛ "рд╕реНрд╡рдпрдВрдкрд╛рдХрдШрд░рд╛рддреАрд▓ рдпреБрджреНрдз" рд╕рдВрдкрд╡рд▓реЗ. рдиреЗрд╣рдореАрдкреНрд░рдорд╛рдгреЗ, рдореА рд╕рдХреНрд░рд┐рдпрдкрдгреЗ рдПрдХ рдиреЛрдЯрдмреБрдХ рд╡рд╛рдкрд░рд▓реА рдЖрдгрд┐ рддреНрдпрд╛рдд рд╕рд░реНрд╡ рд╡реИрдЪрд╛рд░рд┐рдХ рдЧреЛрд╖реНрдЯреАрдВрдЪрд╛ рдЬрдиреНрдо рдЭрд╛рд▓рд╛.

рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рднрд╛рдЧ рдкреВрд░реНрдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдореА рдорд╛рдЭреНрдпрд╛ рдиреЛрдЯрдмреБрдХрдЪреЗ рдХрд╛рд╣реА рд╕реНрдХреЕрди рдШреЗрдИрди. рдореА рдиреЗрдордХреЗ рдХрд╛рдп рд▓рд┐рд╣рд┐рд▓реЗ, рдХрд╛рдврд▓реЗ, рдореЛрдЬрд▓реЗ, рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗ рд╣реЗ рджрд╛рдЦрд╡рдгреНрдпрд╛рд╕рд╛рдареА...

DevOps C++ рдЖрдгрд┐ "рдХрд┐рдЪрди рд╡реЙрд░реНрд╕", рдХрд┐рдВрд╡рд╛ рдореА рдЬреЗрд╡рддрд╛рдирд╛ рдЧреЗрдо рдХрд╕реЗ рд▓рд┐рд╣рд╛рдпрд▓рд╛ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА
рдЯрд╛рдХреНрдпрд╛рдВрдЪреА рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХрд░рдгреЗ. рдЖрдгрд┐ рд╕реНрдХреНрд░реАрдирд╡рд░ рдкреНрд░рддреНрдпреЗрдХ рдЯрдБрдХрдиреЗ рдХрд┐рддреА рдкрд┐рдХреНрд╕реЗрд▓ рд╡реНрдпрд╛рдкрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ рд╣реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдгреЗ

DevOps C++ рдЖрдгрд┐ "рдХрд┐рдЪрди рд╡реЙрд░реНрд╕", рдХрд┐рдВрд╡рд╛ рдореА рдЬреЗрд╡рддрд╛рдирд╛ рдЧреЗрдо рдХрд╕реЗ рд▓рд┐рд╣рд╛рдпрд▓рд╛ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА
рдЯрд╛рдХреАрдЪреНрдпрд╛ рдЕрдХреНрд╖рд╛рднреЛрд╡рддреА рдлрд┐рд░рдгреНрдпрд╛рд╕рд╛рдареА рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдЖрдгрд┐ рд╕реВрддреНрд░рд╛рдВрдЪреА рдЧрдгрдирд╛

DevOps C++ рдЖрдгрд┐ "рдХрд┐рдЪрди рд╡реЙрд░реНрд╕", рдХрд┐рдВрд╡рд╛ рдореА рдЬреЗрд╡рддрд╛рдирд╛ рдЧреЗрдо рдХрд╕реЗ рд▓рд┐рд╣рд╛рдпрд▓рд╛ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА
рдорд╛рдЭреНрдпрд╛ рд╕рдВрдЧреНрд░рд╣рд╛рдЪреА рдпреЛрдЬрдирд╛ (рдЬреНрдпрд╛рдордзреНрдпреЗ рдореЗрдорд░реА рд▓реАрдХ рдЖрд╣реЗ, рдмрд╣реБрдзрд╛). рд▓рд┐рдВрдХреНрдб рд▓рд┐рд╕реНрдЯ рдкреНрд░рдХрд╛рд░рд╛рдиреБрд╕рд╛рд░ рд╕рдВрдЧреНрд░рд╣ рддрдпрд╛рд░ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ

DevOps C++ рдЖрдгрд┐ "рдХрд┐рдЪрди рд╡реЙрд░реНрд╕", рдХрд┐рдВрд╡рд╛ рдореА рдЬреЗрд╡рддрд╛рдирд╛ рдЧреЗрдо рдХрд╕реЗ рд▓рд┐рд╣рд╛рдпрд▓рд╛ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА
рдЖрдгрд┐ рдЦреЗрд│рд╛рд▓рд╛ рдЖрд░реНрдЯрд┐рдлрд┐рд╢рд┐рдпрд▓ рдЗрдВрдЯреЗрд▓рд┐рдЬрдиреНрд╕ рдЬреЛрдбрдгреНрдпрд╛рдЪреЗ рд╣реЗ рдирд┐рд░рд░реНрдердХ рдкреНрд░рдпрддреНрди рдЖрд╣реЗрдд

рд╕рд┐рджреНрдзрд╛рдВрдд

"рд╣рдЬрд╛рд░ рдореИрд▓рд╛рдВрдЪрд╛ рдкреНрд░рд╡рд╛рд╕ рджреЗрдЦреАрд▓ рдкрд╣рд┐рд▓реНрдпрд╛ рдкрд╛рдпрд░реАрдиреЗ рд╕реБрд░реВ рд╣реЛрддреЛ" (рдкреНрд░рд╛рдЪреАрди рдЪреАрдиреА рд╢рд╣рд╛рдгрдкрдг)

рдЪрд▓рд╛ рд╕рд░рд╛рд╡рд╛рддреВрди рд╕рд┐рджреНрдзрд╛рдВрддрд╛рдХрдбреЗ рдЬрд╛рдКрдпрд╛! рдЖрдкрд▓реНрдпрд╛ рдЫрдВрджрд╛рд╕рд╛рдареА рд╡реЗрд│ рдХрд╕рд╛ рд╢реЛрдзрд╛рдпрдЪрд╛?

  1. рддреБрдореНрд╣рд╛рд▓рд╛ рдЦрд░реЛрдЦрд░ рдХрд╛рдп рд╣рд╡реЗ рдЖрд╣реЗ рддреЗ рдард░рд╡рд╛ (рдЕрд░реЗ, рд╣рд╛ рд╕рд░реНрд╡рд╛рдд рдХрдареАрдг рднрд╛рдЧ рдЖрд╣реЗ).
  2. рдкреНрд░рд╛рдзрд╛рдиреНрдпрдХреНрд░рдо рд╕реЗрдЯ рдХрд░рд╛.
  3. рдЙрдЪреНрдЪ рдкреНрд░рд╛рдзрд╛рдиреНрдпрд╛рдВрдЪреНрдпрд╛ рдлрд╛рдпрджреНрдпрд╛рд╕рд╛рдареА "рдЕрддрд┐рд░рд┐рдХреНрдд" рд╕рд░реНрд╡рдХрд╛рд╣реА рддреНрдпрд╛рдЧ рдХрд░рд╛.
  4. рджрд░рд░реЛрдЬ рдзреНрдпреЗрдпрд╛рдХрдбреЗ рд╡рд╛рдЯрдЪрд╛рд▓ рдХрд░рд╛.
  5. рдЫрдВрджрд╛рд╕рд╛рдареА рджреЛрди рдХрд┐рдВрд╡рд╛ рддреАрди рддрд╛рд╕рд╛рдВрдЪрд╛ рдореЛрдХрд│рд╛ рд╡реЗрд│ рдШрд╛рд▓рд╡рдгреНрдпрд╛рдЪреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░реВ рдирдХрд╛.

рдПрдХреАрдХрдбреЗ, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдХрд╛рдп рд╣рд╡реЗ рдЖрд╣реЗ рд╣реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдгреЗ рдЖрдгрд┐ рдкреНрд░рд╛рдзрд╛рдиреНрдп рджреЗрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рджреБрд╕рд░реАрдХрдбреЗ, рдпрд╛ рдкреНрд░рд╛рдзрд╛рдиреНрдпрдХреНрд░рдорд╛рдВрдЪреНрдпрд╛ рдмрд╛рдЬреВрдиреЗ рдХрд╛рд╣реА рдЙрдкрдХреНрд░рдо/рдкреНрд░рдХрд▓реНрдк рд╕реЛрдбрдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ. рджреБрд╕рд▒реНрдпрд╛ рд╢рдмреНрджрд╛рдВрдд, рддреБрдореНрд╣рд╛рд▓рд╛ "рдЕрддрд┐рд░рд┐рдХреНрдд" рд╕рд░реНрд╡рдХрд╛рд╣реА рддреНрдпрд╛рдЧ рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓. рдЖрдпреБрд╖реНрдпрд╛рдд рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рддреАрди рдореБрдЦреНрдп рдХреНрд░рд┐рдпрд╛ рдЕрд╕рд╛рд╡реНрдпрд╛рдд рдЕрд╕реЗ рдХреБрдареЗрддрд░реА рдРрдХрд▓реЗ рд╣реЛрддреЗ. рдордЧ рддреБрдореНрд╣реА рддреЗ рдЙрдЪреНрдЪ рдЧреБрдгрд╡рддреНрддреЗрд╡рд░ рдХрд░реВ рд╢рдХрд╛рд▓. рдЖрдгрд┐ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рдХрд▓реНрдк/рджрд┐рд╢рд╛ рдлрдХреНрдд рдУрд╡реНрд╣рд░рд▓реЛрдб рд╣реЛрдК рд▓рд╛рдЧрддреАрд▓. рдкрд░рдВрддреБ рд╣реЗ рд╕рд░реНрд╡ рдмрд╣реБрдзрд╛ рд╡реНрдпрдХреНрддрд┐рдирд┐рд╖реНрда рдЖрдгрд┐ рд╡реИрдпрдХреНрддрд┐рдХ рдЖрд╣реЗ.

рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реБрд╡рд░реНрдг рдирд┐рдпрдо рдЖрд╣реЗ: рдХрдзреАрд╣реА 0% рджрд┐рд╡рд╕ рдирд╛рд╣реА! рдореА рдПрдХрд╛ рдЗрдВрдбреА рдбреЗрд╡реНрд╣рд▓рдкрд░рдЪреНрдпрд╛ рд▓реЗрдЦрд╛рдд рдпрд╛рдмрджреНрджрд▓ рд╢рд┐рдХрд▓реЛ. рддреБрдореНрд╣реА рдПрдЦрд╛рджреНрдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯрд╡рд░ рдХрд╛рдо рдХрд░рдд рдЕрд╕рд╛рд▓ рддрд░ рддреНрдпрд╛рдмрджреНрджрд▓ рд░реЛрдЬ рдХрд╛рд╣реАрддрд░реА рдХрд░рд╛. рдЖрдгрд┐ рддреБрдореНрд╣реА рдХрд┐рддреА рдХрд░рддрд╛ рдпрд╛рдиреЗ рдХрд╛рд╣реА рдлрд░рдХ рдкрдбрдд рдирд╛рд╣реА. рдПрдХ рд╢рдмреНрдж рдХрд┐рдВрд╡рд╛ рдХреЛрдбрдЪреА рдПрдХ рдУрд│ рд▓рд┐рд╣рд╛, рдПрдХ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╡реНрд╣рд┐рдбрд┐рдУ рдкрд╣рд╛ рдХрд┐рдВрд╡рд╛ рдмреЛрд░реНрдбрдордзреНрдпреЗ рдПрдХ рдЦрд┐рд│рд╛ рд╣рд╛рддреЛрдбрд╛ - рдлрдХреНрдд рдХрд╛рд╣реАрддрд░реА рдХрд░рд╛. рд╕рд░реНрд╡рд╛рдд рдХрдареАрдг рдЧреЛрд╖реНрдЯ рдореНрд╣рдгрдЬреЗ рд╕реБрд░реБрд╡рд╛рдд рдХрд░рдгреЗ. рдПрдХрджрд╛ рдЖрдкрдг рдкреНрд░рд╛рд░рдВрдн рдХреЗрд▓реНрдпрд╛рд╡рд░, рдЖрдкрдг рдХрджрд╛рдЪрд┐рдд рдЖрдкрд▓реНрдпрд╛ рдЗрдЪреНрдЫреЗрдкреЗрдХреНрд╖рд╛ рдереЛрдбреЗ рдЕрдзрд┐рдХ рдХрд░реВ рд╢рдХрд╛рд▓. рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рддреБрдореНрд╣реА рддреБрдордЪреНрдпрд╛ рдзреНрдпреЗрдпрд╛рдХрдбреЗ рд╕рддрдд рд╡рд╛рдЯрдЪрд╛рд▓ рдХрд░рд╛рд▓ рдЖрдгрд┐ рдорд╛рдЭреНрдпрд╛рд╡рд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдареЗрд╡рд╛, рдЦреВрдк рд▓рд╡рдХрд░. рд╢реЗрд╡рдЯреА, рд╕рд░реНрд╡ рдЧреЛрд╖реНрдЯреАрдВрдордзреНрдпреЗ рдореБрдЦреНрдп рдЕрдбрдерд│рд╛ рдореНрд╣рдгрдЬреЗ рд╡рд┐рд▓рдВрдм.

рдЖрдгрд┐ рд╣реЗ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рдгреЗ рдорд╣рддреНрд╡рд╛рдЪреЗ рдЖрд╣реЗ рдХреА рдЖрдкрдг 5, 10, 15 рдорд┐рдирд┐рдЯрд╛рдВрдЪреНрдпрд╛ рд╡рд┐рдирд╛рдореВрд▓реНрдп "рднреВрд╕рд╛" рд▓рд╛ рдХрдореА рд▓реЗрдЦреВ рдирдпреЗ рдЖрдгрд┐ рджреБрд░реНрд▓рдХреНрд╖ рдХрд░реВ рдирдпреЗ, рдПрдХ рдХрд┐рдВрд╡рд╛ рджреЛрди рддрд╛рд╕ рдЯрд┐рдХрдгрд╛рд░реНтАНрдпрд╛ рдХрд╛рд╣реА рдореЛрдареНрдпрд╛ "рд▓реЙрдЧ" рдЪреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рд╛. рддреБрдореНрд╣реА рд░рд╛рдВрдЧреЗрдд рдЙрднреЗ рдЖрд╣рд╛рдд рдХрд╛? рдЖрдкрд▓реНрдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рд╕рд╛рдареА рдХрд╛рд╣реАрддрд░реА рд╡рд┐рдЪрд╛рд░ рдХрд░рд╛. рдПрд╕реНрдХреЗрд▓реЗрдЯрд░ рдШреЗрдд рдЖрд╣рд╛рдд? рдиреЛрдЯрдкреЕрдбрдордзреНрдпреЗ рдХрд╛рд╣реАрддрд░реА рд▓рд┐рд╣рд╛. рддреБрдореНрд╣реА рдмрд╕рдиреЗ рдкреНрд░рд╡рд╛рд╕ рдХрд░рдд рдЖрд╣рд╛рдд рдХрд╛? рдЫрд╛рди, рдХрд╛рд╣реА рд▓реЗрдЦ рд╡рд╛рдЪрд╛. рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдзреАрдЪрд╛ рдлрд╛рдпрджрд╛ рдШреНрдпрд╛. YouTube рд╡рд░ рдорд╛рдВрдЬрд░реА рдЖрдгрд┐ рдХреБрддреНрд░реА рдкрд╛рд╣рдгреЗ рдерд╛рдВрдмрд╡рд╛! рддреБрдордЪрд╛ рдореЗрдВрджреВ рджреВрд╖рд┐рдд рдХрд░реВ рдирдХрд╛!

рдЖрдгрд┐ рдПрдХ рд╢реЗрд╡рдЯрдЪреА рдЧреЛрд╖реНрдЯ. рд╣рд╛ рд▓реЗрдЦ рд╡рд╛рдЪрд▓реНрдпрд╛рдирдВрддрд░, рддреБрдореНрд╣рд╛рд▓рд╛ рдЧреЗрдо рдЗрдВрдЬрд┐рди рди рд╡рд╛рдкрд░рддрд╛ рдЧреЗрдо рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреА рдХрд▓реНрдкрдирд╛ рдЖрд╡рдбрд▓реА рдЕрд╕реЗрд▓, рддрд░ рдХреЗрд╕реА рдореБрд░рд╛рдЯреЛрд░реА рд╣реЗ рдирд╛рд╡ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рд╛. рдпрд╛ рдорд╛рдгрд╕рд╛рдХрдбреЗ рдЖрд╣реЗ рд╡реЗрдмрд╕рд╛рдЗрдЯ. "рдкрд╣рд╛ -> рдорд╛рдЧреАрд▓ рднрд╛рдЧ" рд╡рд┐рднрд╛рдЧрд╛рдд рддреБрдореНрд╣рд╛рд▓рд╛ рд╕реБрд░рд╡рд╛рддреАрдкрд╛рд╕реВрди рдПрдХ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЧреЗрдо рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╡рд░реАрд▓ рдЕрджреНрднреБрдд рд╡рд┐рдирд╛рдореВрд▓реНрдп рд╡реНрд╣рд┐рдбрд┐рдУ рдЯреНрдпреБрдЯреЛрд░рд┐рдпрд▓реНрд╕ рдорд┐рд│рддреАрд▓. Windows рдзрдбреНрдпрд╛рдВрд╕рд╛рдареА рдкрд╛рдЪ Intro to C рдордзреНрдпреЗ рддреБрдореНрд╣реА рд╡рд┐рджреНрдпрд╛рдкреАрдард╛рдЪреНрдпрд╛ рдкрд╛рдЪ рд╡рд░реНрд╖рд╛рдВрдЪреНрдпрд╛ рдЕрднреНрдпрд╛рд╕рд╛рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рд╢рд┐рдХреВ рд╢рдХрд╛рд▓ (рдХреЛрдгреАрддрд░реА рд╡реНрд╣рд┐рдбрд┐рдУрдЦрд╛рд▓реА рдЯрд┐рдкреНрдкрдгреНрдпрд╛рдВрдордзреНрдпреЗ рдпрд╛рдмрджреНрджрд▓ рд▓рд┐рд╣рд┐рд▓реЗ рдЖрд╣реЗ).

рдХреЗрд╕реА рд╣реЗ рджреЗрдЦреАрд▓ рд╕реНрдкрд╖реНрдЯ рдХрд░рддрд╛рдд рдХреА рддреБрдордЪреЗ рд╕реНрд╡рддрдГрдЪреЗ рдЧреЗрдо рдЗрдВрдЬрд┐рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░реВрди, рддреБрдореНрд╣рд╛рд▓рд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╡рд┐рджреНрдпрдорд╛рди рдЗрдВрдЬрд┐рдирдЪреА рдЪрд╛рдВрдЧрд▓реА рд╕рдордЬ рдЕрд╕реЗрд▓. рдлреНрд░реЗрдорд╡рд░реНрдХрдЪреНрдпрд╛ рдЬрдЧрд╛рдд рдЬрд┐рдереЗ рдкреНрд░рддреНрдпреЗрдХрдЬрдг рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рдд рдЖрд╣реЗ, рддреБрдореНрд╣реА рд╡рд╛рдкрд░рдгреНрдпрд╛рдРрд╡рдЬреА рддрдпрд╛рд░ рдХрд░рд╛рдпрд▓рд╛ рд╢рд┐рдХрд╛. рд╕рдВрдЧрдгрдХрд╛рдЪреЗ рд╕реНрд╡рд░реВрдк рддреБрдореНрд╣рд╛рд▓рд╛ рд╕рдордЬрддреЗ. рдЖрдгрд┐ рддреБрдореНрд╣реА рдЕрдзрд┐рдХ рд╣реБрд╢рд╛рд░ рдЖрдгрд┐ рдкреНрд░реМрдв рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рджреЗрдЦреАрд▓ рд╡реНрд╣рд╛рд▓ - рдПрдХ рдкреНрд░реЛ.

рддреБрдордЪреНрдпрд╛ рдирд┐рд╡рдбрд▓реЗрд▓реНрдпрд╛ рдорд╛рд░реНрдЧрд╛рд╕рд╛рдареА рд╢реБрднреЗрдЪреНрдЫрд╛! рдЖрдгрд┐ рдЬрдЧ рдЕрдзрд┐рдХ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдмрдирд╡реВрдпрд╛.

рд▓реЗрдЦрдХ: рдЧреНрд░рдБрдХрд┐рди рдЖрдВрджреНрд░реЗ, DevOps



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