DevOps C++ ΠΈ "кухнСнскитС Π²ΠΎΠΉΠ½ΠΈ", ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ… Π΄Π° пиша ΠΈΠ³Ρ€ΠΈ, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ям

"Π—Π½Π°ΠΌ, Ρ‡Π΅ Π½ΠΈΡ‰ΠΎ Π½Π΅ Π·Π½Π°ΠΌ" Π‘ΠΎΠΊΡ€Π°Ρ‚

Π—Π° ΠΊΠΎΠ³ΠΎ: Π·Π° IT Ρ…ΠΎΡ€Π°, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΠ»ΡŽΡΡ‚ всички Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ ΠΈ искат Π΄Π° играят Ρ‚Π΅Ρ…Π½ΠΈΡ‚Π΅ ΠΈΠ³Ρ€ΠΈ!

Π—Π° ΠΊΠ°ΠΊΠ²ΠΎ: ΠΊΠ°ΠΊ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ Π΄Π° ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΈΠ³Ρ€ΠΈ Π½Π° C/C++, Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ‚Π΅ Π½ΡƒΠΆΠ΄Π°!

Π—Π°Ρ‰ΠΎ трябва Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ Ρ‚ΠΎΠ²Π°: Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° прилоТСния Π½Π΅ Π΅ моята Ρ€Π°Π±ΠΎΡ‚Π½Π° спСциалност, Π½ΠΎ сС ΠΎΠΏΠΈΡ‚Π²Π°ΠΌ Π΄Π° ΠΊΠΎΠ΄ΠΈΡ€Π°ΠΌ всяка сСдмица. Π—Π°Ρ‰ΠΎΡ‚ΠΎ ΠΎΠ±ΠΈΡ‡Π°ΠΌ ΠΈΠ³Ρ€ΠΈΡ‚Π΅!

Π—Π΄Ρ€Π°Π²Π΅ΠΉ! Π˜ΠΌΠ΅Ρ‚ΠΎ ΠΌΠΈ Π΅ АндрСй Π“Ρ€Π°Π½ΠΊΠΈΠ½, Π°Π· съм DevOps Π² Luxoft. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° прилоТСния Π½Π΅ Π΅ моята Ρ€Π°Π±ΠΎΡ‚Π½Π° спСциалност, Π½ΠΎ сС ΠΎΠΏΠΈΡ‚Π²Π°ΠΌ Π΄Π° ΠΊΠΎΠ΄ΠΈΡ€Π°ΠΌ всяка сСдмица. Π—Π°Ρ‰ΠΎΡ‚ΠΎ ΠΎΠ±ΠΈΡ‡Π°ΠΌ ΠΈΠ³Ρ€ΠΈΡ‚Π΅!

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΡΡ‚Π° Π½Π° ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π½ΠΈΡ‚Π΅ ΠΈΠ³Ρ€ΠΈ Π΅ ΠΎΠ³Ρ€ΠΎΠΌΠ½Π°, Π΄ΠΎΡ€ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ слуховС днСс ΠΎΡ‚ Ρ„ΠΈΠ»ΠΌΠΎΠ²Π°Ρ‚Π° индустрия. Π˜Π³Ρ€ΠΈΡ‚Π΅ сС ΠΏΠΈΡˆΠ°Ρ‚ ΠΎΡ‚ Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π½Π° Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠΌΠΏΡŽΡ‚Ρ€ΠΈΡ‚Π΅, ΠΊΠ°Ρ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚, спорСд ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈΡ‚Π΅ стандарти, слоТни ΠΈ основни ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°. Π‘ Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…Π° Π΄Π° сС появяват Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΠΈ Π·Π° ΠΈΠ³Ρ€ΠΈ с Π²Π΅Ρ‡Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½ΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, Ρ„ΠΈΠ·ΠΈΠΊΠ° ΠΈ Π·Π²ΡƒΠΊ. Π’Π΅ Π²ΠΈ позволяват Π΄Π° сС ΡΡŠΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚Π΅ Π²ΡŠΡ€Ρ…Ρƒ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ Π½Π° самата ΠΈΠ³Ρ€Π° ΠΈ Π΄Π° Π½Π΅ сС притСсняватС Π·Π° Π½Π΅ΠΉΠ½Π°Ρ‚Π° основа. Но Π·Π°Π΅Π΄Π½ΠΎ с тях, с Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΠΈΡ‚Π΅, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ "ослСпяват" ΠΈ Π΄Π΅Π³Ρ€Π°Π΄ΠΈΡ€Π°Ρ‚. Π‘Π°ΠΌΠΎΡ‚ΠΎ производство Π½Π° ΠΈΠ³Ρ€ΠΈ сС поставя Π½Π° ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€. И количСството Π½Π° продукцията Π·Π°ΠΏΠΎΡ‡Π²Π° Π΄Π° наддСлява Π½Π°Π΄ Π½Π΅ΠΉΠ½ΠΎΡ‚ΠΎ качСство.

Π’ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ³Ρ€Π°Π΅ΠΌ ΠΈΠ³Ρ€ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ Ρ…ΠΎΡ€Π°, Π½ΠΈΠ΅ постоянно смС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈ ΠΎΡ‚ Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ, ΡΡŽΠΆΠ΅Ρ‚, Π³Π΅Ρ€ΠΎΠΈ, ΠΈΠ³Ρ€ΠΎΠ²ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ са измислили Π΄Ρ€ΡƒΠ³ΠΈ Ρ…ΠΎΡ€Π°. Π’Π°ΠΊΠ° Ρ€Π°Π·Π±Ρ€Π°Ρ…, Ρ‡Π΅...

… Π²Ρ€Π΅ΠΌΠ΅ Π΅ Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ свои собствСни свСтовС, ΠΏΠΎΠ΄Ρ‡ΠΈΠ½Π΅Π½ΠΈ само Π½Π° ΠΌΠ΅Π½. Π‘Π²Π΅Ρ‚ΠΎΠ²Π΅, Π² ΠΊΠΎΠΈΡ‚ΠΎ Аз съм ΠžΡ‚Π΅Ρ†, ΠΈ Π‘ΠΈΠ½, ΠΈ Π‘Π²Π΅Ρ‚ΠΈ Π”ΡƒΡ…!

И Π°Π· искрСно вярвам, Ρ‡Π΅ ΠΊΠ°Ρ‚ΠΎ Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ свой собствСн Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π» Π·Π° ΠΈΠ³Ρ€ΠΈ ΠΈ ΠΈΠ³Ρ€Π° Π²ΡŠΡ€Ρ…Ρƒ Π½Π΅Π³ΠΎ, Ρ‰Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΎΡ‚Π²ΠΎΡ€ΠΈΡ‚Π΅ ΠΎΡ‡ΠΈΡ‚Π΅ си, Π΄Π° ΠΈΠ·Π±ΡŠΡ€ΡˆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ·ΠΎΡ€Ρ†ΠΈΡ‚Π΅ ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠΌΠΏΠ°Ρ‚Π΅ ΠΊΠ°Π±ΠΈΠ½Π°Ρ‚Π° си, ставайки ΠΏΠΎ-ΠΎΠΏΠΈΡ‚Π΅Π½ ΠΈ цялостСн програмист.

Π’ Ρ‚Π°Π·ΠΈ статия Ρ‰Π΅ сС ΠΎΠΏΠΈΡ‚Π°ΠΌ Π΄Π° Π²ΠΈ Ρ€Π°Π·ΠΊΠ°ΠΆΠ° ΠΊΠ°ΠΊ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ… Π΄Π° пиша ΠΌΠ°Π»ΠΊΠΈ ΠΈΠ³Ρ€ΠΈ Π½Π° C / C ++, какъв Π΅ ΠΏΡ€ΠΎΡ†Π΅ΡΡŠΡ‚ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ къдС Π½Π°ΠΌΠΈΡ€Π°ΠΌ Π²Ρ€Π΅ΠΌΠ΅ Π·Π° Ρ…ΠΎΠ±ΠΈ Π² Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π΅Π½Π° срСда. Π’ΠΎΠΉ Π΅ субСктивСн ΠΈ описва процСса Π½Π° ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»Π΅Π½ старт. ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Π·Π° нСвСТСството ΠΈ вярата, Π·Π° Π»ΠΈΡ‡Π½Π°Ρ‚Π° ΠΌΠΈ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π° Π½Π° свСта Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°. Π‘ Π΄Ρ€ΡƒΠ³ΠΈ Π΄ΡƒΠΌΠΈ, "Администрацията Π½Π΅ отговаря Π·Π° Π²Π°ΡˆΠΈΡ‚Π΅ Π»ΠΈΡ‡Π½ΠΈ ΠΌΠΎΠ·ΡŠΡ†ΠΈ!".

ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°

"Π—Π½Π°Π½ΠΈΠ΅Ρ‚ΠΎ Π±Π΅Π· ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π΅ Π±Π΅Π·ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°Ρ‚Π° Π±Π΅Π· Π·Π½Π°Π½ΠΈΠ΅ Π΅ опасна." ΠšΠΎΠ½Ρ„ΡƒΡ†ΠΈΠΉ

ΠœΠΎΡΡ‚ Π±Π΅Π»Π΅ΠΆΠ½ΠΈΠΊ Π΅ моят ΠΆΠΈΠ²ΠΎΡ‚!


Π’Π°ΠΊΠ° Ρ‡Π΅ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° ΠΌΠΎΠ³Π° Π΄Π° ΠΊΠ°ΠΆΠ°, Ρ‡Π΅ всичко Π·Π° ΠΌΠ΅Π½ Π·Π°ΠΏΠΎΡ‡Π²Π° ΠΎΡ‚ Ρ‚Π΅Ρ‚Ρ€Π°Π΄ΠΊΠ°. Π’Π°ΠΌ записвам Π½Π΅ само Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΈΡ‚Π΅ си Π·Π°Π΄Π°Ρ‡ΠΈ, Π½ΠΎ ΠΈ чСртая, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°ΠΌ, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°ΠΌ Π±Π»ΠΎΠΊ-схСми ΠΈ Ρ€Π΅ΡˆΠ°Π²Π°ΠΌ Π·Π°Π΄Π°Ρ‡ΠΈ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ матСматичСски. Π’ΠΈΠ½Π°Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ Π±Π΅Π»Π΅ΠΆΠ½ΠΈΠΊ ΠΈ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ само с ΠΌΠΎΠ»ΠΈΠ². Π’ΠΎΠ²Π° Π΅ чисто, ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎ, IMHO.

DevOps C++ ΠΈ "кухнСнскитС Π²ΠΎΠΉΠ½ΠΈ", ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ… Π΄Π° пиша ΠΈΠ³Ρ€ΠΈ, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ям
ΠœΠΎΡΡ‚ (Π²Π΅Ρ‡Π΅ попълнСн) Π±Π΅Π»Π΅ΠΆΠ½ΠΈΠΊ. Π•Ρ‚ΠΎ ΠΊΠ°ΠΊ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°. Π‘ΡŠΠ΄ΡŠΡ€ΠΆΠ° Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΈΠ΄Π΅ΠΈ, Ρ‡Π΅Ρ€Ρ‚Π΅ΠΆΠΈ, Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΈ, Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Ρ‡Π΅Ρ€Π½ΠΎ счСтоводство, ΠΊΠΎΠ΄ ΠΈ Ρ‚.Π½.

На Ρ‚ΠΎΠ·ΠΈ Π΅Ρ‚Π°ΠΏ успях Π΄Π° Π·Π°Π²ΡŠΡ€ΡˆΠ° Ρ‚Ρ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (Ρ‚ΠΎΠ²Π° Π΅ спорСд ΠΌΠΎΠ΅Ρ‚ΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π·Π° β€žΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»Π½ΠΎΡΡ‚β€œ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ всСки ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π° относитСлно Π±Π΅Π·ΠΊΡ€Π°ΠΉΠ½ΠΎ).

  • ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ 0: Ρ‚ΠΎΠ²Π° Π΅ Architect Demo 3D сцСна, написана Π½Π° C# с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° игровия Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π» Unity. Π—Π° macOS ΠΈ Windows ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ.
  • Π˜Π³Ρ€Π° 1: ΠΊΠΎΠ½Π·ΠΎΠ»Π½Π° ΠΈΠ³Ρ€Π° Simple Snake (извСстна Π½Π° всички ΠΊΠ°Ρ‚ΠΎ "Snake") Π·Π° Windows. написано Π½Π° C.
  • Π˜Π³Ρ€Π° 2: ΠΊΠΎΠ½Π·ΠΎΠ»Π½Π° ΠΈΠ³Ρ€Π° Crazy Tanks (извСстна Π½Π° всички ΠΊΠ°Ρ‚ΠΎ "Tanks"), Π²Π΅Ρ‡Π΅ написана Π½Π° C ++ (ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ класовС), Π° ΡΡŠΡ‰ΠΎ ΠΈ ΠΏΠΎΠ΄ Windows.

ДСмонстрация Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ 0 Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚

DevOps C++ ΠΈ "кухнСнскитС Π²ΠΎΠΉΠ½ΠΈ", ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ… Π΄Π° пиша ΠΈΠ³Ρ€ΠΈ, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ям
ДСмонстрация Π½Π° 3D Scene Architect

ΠŸΡŠΡ€Π²ΠΈΡΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ бСшС Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ Π½Π΅ Π½Π° C/C++, Π° Π½Π° C# с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° игровия Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π» Unity. Π’ΠΎΠ·ΠΈ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π» Π½Π΅ бСшС Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° взискатСлСн към Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π°, ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ НСрСалистичСн Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π», Π° ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° ΠΌΠΈ сС стори ΠΏΠΎ-лСсСн Π·Π° инсталиранС ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅. Π”Ρ€ΡƒΠ³ΠΈ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΠΈ Π½Π΅ съм Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°Π».

Π¦Π΅Π»Ρ‚Π° Π² Unity Π·Π° ΠΌΠ΅Π½ Π½Π΅ бСшС Π΄Π° разработя някаква ΠΈΠ³Ρ€Π°. Π˜ΡΠΊΠ°Ρ… Π΄Π° създам 3D сцСна с някакъв Π³Π΅Ρ€ΠΎΠΉ. Π’ΠΎΠΉ, ΠΈΠ»ΠΈ ΠΏΠΎ-скоро Вя (Π°Π· ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€Π°Ρ… ΠΌΠΎΠΌΠΈΡ‡Π΅Ρ‚ΠΎ, Π² ΠΊΠΎΠ΅Ρ‚ΠΎ бях влюбСн =) Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° сС Π΄Π²ΠΈΠΆΠΈ ΠΈ Π΄Π° взаимодСйства с външния свят. Π‘Π΅ΡˆΠ΅ Π²Π°ΠΆΠ½ΠΎ само Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΊΠ°ΠΊΠ²ΠΎ Π΅ Unity, какъв Π΅ ΠΏΡ€ΠΎΡ†Π΅ΡΡŠΡ‚ Π½Π° Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠΈ ΠΊΠΎΠ»ΠΊΠΎ усилия са Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ, Π·Π° Π΄Π° сС създадС Π½Π΅Ρ‰ΠΎ. Π’Π°ΠΊΠ° сС Ρ€ΠΎΠ΄ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ Architect Demo (ΠΈΠΌΠ΅Ρ‚ΠΎ Π΅ измислСно ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΎΡ‚ глупоститС). ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ, ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ, анимацията, тСкстуриранСто ΠΌΠΈ ΠΎΡ‚Π½Π΅Ρ…Π° ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π΄Π²Π° мСсСца Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°.

Π—Π°ΠΏΠΎΡ‡Π½Π°Ρ… с ΠΎΠ±ΡƒΡ‡ΠΈΡ‚Π΅Π»Π½ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ»ΠΈΠΏΠΎΠ²Π΅ Π² YouTube Π·Π° Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊ Π΄Π° създавам 3D ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² Π±ΡŠΡ€ΠΊΠ°Ρ‡ΠΊΠ°. Blender Π΅ чудСсСн Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π΅Π½ инструмСнт Π·Π° 3D ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€Π°Π½Π΅ (ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅), ΠΊΠΎΠΉΡ‚ΠΎ Π½Π΅ изисква инсталация. И Ρ‚ΡƒΠΊ ΠΌΠ΅ ΠΎΡ‡Π°ΠΊΠ²Π°ΡˆΠ΅ шок ... Оказва сС, Ρ‡Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ, анимацията, тСкстуриранСто са ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΈ ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ Ρ‚Π΅ΠΌΠΈ, ΠΏΠΎ ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ. Π’ΠΎΠ²Π° Π²Π°ΠΆΠΈ особСно Π·Π° Π³Π΅Ρ€ΠΎΠΈΡ‚Π΅. Π—Π° Π΄Π° ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€Π°Ρ‚Π΅ ΠΏΡ€ΡŠΡΡ‚ΠΈ, зъби, ΠΎΡ‡ΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ части Π½Π° тялото, Ρ‰Π΅ Π²ΠΈ трябват познания ΠΏΠΎ анатомия. Как са ΠΏΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ΠΈ мускулитС Π½Π° Π»ΠΈΡ†Π΅Ρ‚ΠΎ? Как сС Π΄Π²ΠΈΠΆΠ°Ρ‚ Ρ…ΠΎΡ€Π°Ρ‚Π°? Π’Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° β€žΠ²ΠΌΡŠΠΊΠ½Π°β€œ кости във всяка Ρ€ΡŠΠΊΠ°, ΠΊΡ€Π°ΠΊ, ΠΏΡ€ΡŠΡΡ‚, ΠΊΠΎΠΊΠ°Π»Ρ‡Π΅Ρ‚Π°!

ΠœΠΎΠ΄Π΅Π»ΠΈΡ€Π°ΠΉΡ‚Π΅ ΠΊΠ»ΡŽΡ‡ΠΈΡ†Π°Ρ‚Π°, Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ костни лостовС, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ анимацията Π΄Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° СстСствСна. Π‘Π»Π΅Π΄ Ρ‚Π°ΠΊΠΈΠ²Π° ΡƒΡ€ΠΎΡ†ΠΈ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚Π΅ ΠΊΠ°ΠΊΠ²Π° ΠΎΠ³Ρ€ΠΎΠΌΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π²ΡŠΡ€ΡˆΠ°Ρ‚ ΡΡŠΠ·Π΄Π°Ρ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π° Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΈ Ρ„ΠΈΠ»ΠΌΠΈ, само Π·Π° Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π°Ρ‚ 30 сСкунди Π²ΠΈΠ΄Π΅ΠΎ. Но 3D Ρ„ΠΈΠ»ΠΌΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°Ρ‚ с часовС! И Ρ‚ΠΎΠ³Π°Π²Π° ΠΈΠ·Π»ΠΈΠ·Π°ΠΌΠ΅ ΠΎΡ‚ ΠΊΠΈΠ½Π°Ρ‚Π° ΠΈ ΠΊΠ°Π·Π²Π°ΠΌΠ΅ Π½Π΅Ρ‰ΠΎ ΠΊΠ°Ρ‚ΠΎ: β€žΠ’Π°, скапан Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΎΠ½Π΅Π½ Ρ„ΠΈΠ»ΠΌ / Ρ„ΠΈΠ»ΠΌ! ΠœΠΎΠΆΠ΅Ρ…Π° Π΄Π° сС справят ΠΏΠΎ-добрС…” Π“Π»ΡƒΠΏΠ°Ρ†ΠΈ!

И ΠΎΡ‰Π΅ Π½Π΅Ρ‰ΠΎ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π² Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. ΠšΠ°ΠΊΡ‚ΠΎ сС ΠΎΠΊΠ°Π·Π°, Π½Π°ΠΉ-интСрСсна Π·Π° ΠΌΠ΅Π½ бСшС матСматичСската част. Ако стартиратС сцСната (Π²Ρ€ΡŠΠ·ΠΊΠ° към Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ Π² описаниСто Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°), Ρ‰Π΅ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡ‚Π΅, Ρ‡Π΅ ΠΊΠ°ΠΌΠ΅Ρ€Π°Ρ‚Π° сС Π²ΡŠΡ€Ρ‚ΠΈ ΠΎΠΊΠΎΠ»ΠΎ гСроя Π½Π° ΠΌΠΎΠΌΠΈΡ‡Π΅Ρ‚ΠΎ Π² сфСра. Π—Π° Π΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°ΠΌ Ρ‚Π°ΠΊΠΎΠ²Π° Π·Π°Π²ΡŠΡ€Ρ‚Π°Π½Π΅ Π½Π° ΠΊΠ°ΠΌΠ΅Ρ€Π°Ρ‚Π°, Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ ΠΏΡŠΡ€Π²ΠΎ Π΄Π° изчисля ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΈΡ‚Π΅ Π½Π° позицията Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ°Ρ‚Π° Π²ΡŠΡ€Ρ…Ρƒ ΠΊΡ€ΡŠΠ³Π° (2D), Π° слСд Ρ‚ΠΎΠ²Π° Π²ΡŠΡ€Ρ…Ρƒ сфСрата (3D). Най-ΡΠΌΠ΅ΡˆΠ½ΠΎΡ‚ΠΎ Π΅, Ρ‡Π΅ ΠΌΡ€Π°Π·Π΅Ρ… ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°Ρ‚Π° Π² ΡƒΡ‡ΠΈΠ»ΠΈΡ‰Π΅ ΠΈ я Π·Π½Π°Π΅Ρ… с минус. ΠžΡ‚Ρ‡Π°ΡΡ‚ΠΈ вСроятно, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π² ΡƒΡ‡ΠΈΠ»ΠΈΡ‰Π΅ просто Π½Π΅ Π²ΠΈ обясняват ΠΊΠ°ΠΊ, ΠΏΠΎ дяволитС, сС ΠΏΡ€ΠΈΠ»Π°Π³Π° Ρ‚Π°Π·ΠΈ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° Π² ΠΆΠΈΠ²ΠΎΡ‚Π°. Но ΠΊΠΎΠ³Π°Ρ‚ΠΎ си обсСбСн ΠΎΡ‚ своята Ρ†Π΅Π», ΠΌΠ΅Ρ‡Ρ‚Π°, Ρ‚ΠΎΠ³Π°Π²Π° ΡƒΠΌΡŠΡ‚ сС избистря, Ρ€Π°Π·ΠΊΡ€ΠΈΠ²Π°! И Π·Π°ΠΏΠΎΡ‡Π²Π°Ρ‚Π΅ Π΄Π° Π²ΡŠΠ·ΠΏΡ€ΠΈΠ΅ΠΌΠ°Ρ‚Π΅ слоТнитС Π·Π°Π΄Π°Ρ‡ΠΈ ΠΊΠ°Ρ‚ΠΎ Π²ΡŠΠ»Π½ΡƒΠ²Π°Ρ‰ΠΎ ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. И Ρ‚ΠΎΠ³Π°Π²Π° си мислитС: β€žΠ•, Π·Π°Ρ‰ΠΎ *Π»ΡŽΠ±ΠΈΠΌΠΈΡΡ‚* ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π½Π΅ моТСшС Π΄Π° ΠΊΠ°ΠΆΠ΅ къдС ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΎΠΏΡ€Π°Ρ‚ Ρ‚Π΅Π·ΠΈ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈ?β€œ.

DevOps C++ ΠΈ "кухнСнскитС Π²ΠΎΠΉΠ½ΠΈ", ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ… Π΄Π° пиша ΠΈΠ³Ρ€ΠΈ, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ям
Π˜Π·Ρ‡ΠΈΡΠ»ΡΠ²Π°Π½Π΅ Π½Π° Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈ Π·Π° изчисляванС Π½Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΈΡ‚Π΅ Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° ΠΎΡ‚ ΠΎΠΊΡ€ΡŠΠΆΠ½ΠΎΡΡ‚ ΠΈ сфСра (ΠΎΡ‚ моя Π±Π΅Π»Π΅ΠΆΠ½ΠΈΠΊ)

Π˜Π³Ρ€Π° 1

  • ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°: Windows (тСствано Π½Π° Windows 7, 10)
  • Π•Π·ΠΈΠΊ: Мисля, Ρ‡Π΅ Π΅ написано Π½Π° чисто Π‘
  • Π”Π²ΠΈΠ³Π°Ρ‚Π΅Π» Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π°: Windows ΠΊΠΎΠ½Π·ΠΎΠ»Π°
  • Π’Π΄ΡŠΡ…Π½ΠΎΠ²Π΅Π½ΠΈΠ΅: javidx9
  • Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅: GitHub

DevOps C++ ΠΈ "кухнСнскитС Π²ΠΎΠΉΠ½ΠΈ", ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ… Π΄Π° пиша ΠΈΠ³Ρ€ΠΈ, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ям
ΠŸΡ€ΠΎΡΡ‚Π° ΠΈΠ³Ρ€Π° със змия

3D сцСната Π½Π΅ Π΅ ΠΈΠ³Ρ€Π°. ОсвСн Ρ‚ΠΎΠ²Π° ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ ΠΈ Π°Π½ΠΈΠΌΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° 3D ΠΎΠ±Π΅ΠΊΡ‚ΠΈ (особСно Π³Π΅Ρ€ΠΎΠΈ) Π΅ дълго ΠΈ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ. Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ си ΠΏΠΎΠΈΠ³Ρ€Π°Ρ… с Unity, ΠΎΡΡŠΠ·Π½Π°Ρ…, Ρ‡Π΅ трябва Π΄Π° ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ° ΠΈΠ»ΠΈ ΠΏΠΎ-скоро Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π° ΠΎΡ‚ основитС. НСщо просто ΠΈ Π±ΡŠΡ€Π·ΠΎ, Π½ΠΎ Π² ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π³Π»ΠΎΠ±Π°Π»Π½ΠΎ, Π·Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ самата структура Π½Π° ΠΈΠ³Ρ€ΠΈΡ‚Π΅.

И ΠΊΠ°ΠΊΠ²ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ просто ΠΈ Π±ΡŠΡ€Π·ΠΎ? Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠ°, ΠΊΠΎΠ½Π·ΠΎΠ»Π° ΠΈ 2D. По-Ρ‚ΠΎΡ‡Π½ΠΎ Π΄ΠΎΡ€ΠΈ ΠΊΠΎΠ½Π·ΠΎΠ»Π°Ρ‚Π° ΠΈ символитС. ΠžΡ‚Π½ΠΎΠ²ΠΎ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ… Π΄Π° Ρ‚ΡŠΡ€ΡΡ Π²Π΄ΡŠΡ…Π½ΠΎΠ²Π΅Π½ΠΈΠ΅ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ (ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ считам ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ Π·Π° Π½Π°ΠΉ-Ρ€Π΅Π²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½Π½ΠΎΡ‚ΠΎ ΠΈ опасно ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½ΠΈΠ΅ Π½Π° XNUMX Π²Π΅ΠΊ). Π˜Π·Ρ€ΠΎΠ²ΠΈΡ… Π²ΠΈΠ΄Π΅ΠΎ Π½Π° Π΅Π΄ΠΈΠ½ програмист, ΠΊΠΎΠΉΡ‚ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈ ΠΊΠΎΠ½Π·ΠΎΠ»Π΅Π½ Tetris. И ΠΏΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π° си Ρ€Π΅ΡˆΠΈ Π΄Π° посСчС "змията". ΠžΡ‚ Π²ΠΈΠ΄Π΅ΠΎΡ‚ΠΎ Π½Π°ΡƒΡ‡ΠΈΡ… Π·Π° Π΄Π²Π΅ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»Π½ΠΈ Π½Π΅Ρ‰Π° - Ρ†ΠΈΠΊΡŠΠ»Π° Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π° (с Ρ‚Ρ€ΠΈ основни Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ / части) ΠΈ ΠΈΠ·Ρ…ΠΎΠ΄ към Π±ΡƒΡ„Π΅Ρ€Π°.

Π¦ΠΈΠΊΡŠΠ»ΡŠΡ‚ Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Ρ‚Π°ΠΊΠ°:

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

ΠšΠΎΠ΄ΡŠΡ‚ прСдставя цялата функция main() навСднъТ. И Ρ†ΠΈΠΊΡŠΠ»ΡŠΡ‚ Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π° Π·Π°ΠΏΠΎΡ‡Π²Π° слСд ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΈΡ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€. Има Ρ‚Ρ€ΠΈ основни Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Ρ†ΠΈΠΊΡŠΠ»Π°: Input(), Logic(), Draw(). ΠŸΡŠΡ€Π²ΠΎ, въвСТданС Π½Π° Π²Ρ…ΠΎΠ΄Π½ΠΈ Π΄Π°Π½Π½ΠΈ (основно ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° натисканС Π½Π° клавиши), слСд Ρ‚ΠΎΠ²Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π²ΡŠΠ²Π΅Π΄Π΅Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ Π›ΠΎΠ³ΠΈΠΊΠ°, слСд Ρ‚ΠΎΠ²Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π΅ΠΊΡ€Π°Π½Π° - РисуванС. И Ρ‚Π°ΠΊΠ° всСки ΠΊΠ°Π΄ΡŠΡ€. По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ сС създава анимация. Π’ΠΎΠ²Π° Π΅ ΠΊΠ°Ρ‚ΠΎ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΈ Ρ„ΠΈΠ»ΠΌΠΈ. ОбикновСно ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° Π²Ρ…ΠΎΠ΄Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ ΠΎΡ‚Π½Π΅ΠΌΠ° Π½Π°ΠΉ-ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΈ, Π΄ΠΎΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ Π·Π½Π°ΠΌ, опрСдСля чСстотата Π½Π° ΠΊΠ°Π΄Ρ€ΠΈΡ‚Π΅ Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π°. Но Ρ‚ΡƒΠΊ функцията Logic() Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡŠΡ€Π·Π°. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ чСстотата Π½Π° ΠΊΠ°Π΄Ρ€ΠΈΡ‚Π΅ трябва Π΄Π° сС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π° ΠΎΡ‚ функцията Sleep() с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° gameSpeed ​​​​, ΠΊΠΎΠΉΡ‚ΠΎ опрСдСля Ρ‚Π°Π·ΠΈ скорост.

DevOps C++ ΠΈ "кухнСнскитС Π²ΠΎΠΉΠ½ΠΈ", ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ… Π΄Π° пиша ΠΈΠ³Ρ€ΠΈ, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ям
Ρ†ΠΈΠΊΡŠΠ» Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π°. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ Π½Π° Π·ΠΌΠΈΠΈ Π² Π±Π΅Π»Π΅ΠΆΠ½ΠΈΠΊ

Ако Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚Π΅ символична ΠΊΠΎΠ½Π·ΠΎΠ»Π½Π° ΠΈΠ³Ρ€Π°, Ρ‚ΠΎΠ³Π°Π²Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ Π½Π° Π΅ΠΊΡ€Π°Π½Π° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° обичайния ΠΈΠ·Ρ…ΠΎΠ΄Π΅Π½ ΠΏΠΎΡ‚ΠΎΠΊ 'cout' няма Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ - Ρ‚ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π±Π°Π²Π½ΠΎ. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ ΠΈΠ·Ρ…ΠΎΠ΄ΡŠΡ‚ трябва Π΄Π° сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈ Π² Скранния Π±ΡƒΡ„Π΅Ρ€. Π’ΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ ΠΈ ΠΈΠ³Ρ€Π°Ρ‚Π° Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ. ЧСстно ΠΊΠ°Π·Π°Π½ΠΎ, Π½Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°ΠΌ съвсСм ΠΊΠ°ΠΊΠ²ΠΎ Π΅ Π΅ΠΊΡ€Π°Π½Π΅Π½ Π±ΡƒΡ„Π΅Ρ€ ΠΈ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚ΠΈ. Но Ρ‚ΡƒΠΊ Ρ‰Π΅ Π΄Π°ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° ΠΊΠΎΠ΄ ΠΈ ΠΌΠΎΠΆΠ΅ Π±ΠΈ някой Π² ​​комСнтаритС Ρ‰Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° изясни ситуацията.

ΠŸΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° Скранния Π±ΡƒΡ„Π΅Ρ€ (Π°ΠΊΠΎ ΠΌΠΎΠ³Π° Ρ‚Π°ΠΊΠ° Π΄Π° сС изразя):

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

Π”ΠΈΡ€Π΅ΠΊΡ‚Π΅Π½ ΠΈΠ·Ρ…ΠΎΠ΄ към Π΅ΠΊΡ€Π°Π½Π° Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Ρ€Π΅Π΄ scoreLine (Ρ€Π΅Π΄ΡŠΡ‚ Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ):

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

На тСория Π² Ρ‚Π°Π·ΠΈ ΠΈΠ³Ρ€Π° няма Π½ΠΈΡ‰ΠΎ слоТно, струва ΠΌΠΈ сС Π΄ΠΎΠ±ΡŠΡ€ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° ΠΈΠ³Ρ€Π° ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π½ΠΎ Π½ΠΈΠ²ΠΎ. ΠšΠΎΠ΄ΡŠΡ‚ Π΅ написан Π² Π΅Π΄ΠΈΠ½ Ρ„Π°ΠΉΠ» ΠΈ Π΅ ΠΏΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ Π² няколко Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Няма класовС, няма наслСдство. Π’ΠΈΠ΅ сами ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ всичко Π² изходния ΠΊΠΎΠ΄ Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π°, ΠΊΠ°Ρ‚ΠΎ ΠΎΡ‚ΠΈΠ΄Π΅Ρ‚Π΅ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ Π½Π° GitHub.

Π˜Π³Ρ€Π° 2 Crazy Tanks

DevOps C++ ΠΈ "кухнСнскитС Π²ΠΎΠΉΠ½ΠΈ", ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ… Π΄Π° пиша ΠΈΠ³Ρ€ΠΈ, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ям
Π˜Π³Ρ€Π° Π›ΡƒΠ΄ΠΈ Ρ‚Π°Π½ΠΊΠΎΠ²Π΅

ΠžΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° символи Π² ΠΊΠΎΠ½Π·ΠΎΠ»Π°Ρ‚Π° Π΅ ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π½Π°ΠΉ-простото Π½Π΅Ρ‰ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€Π΅Π²ΡŠΡ€Π½Π΅Ρ‚Π΅ Π² ΠΈΠ³Ρ€Π°. Но Ρ‚ΠΎΠ³Π°Π²Π° сС появява Π΅Π΄ΠΈΠ½ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ: Π³Π΅Ρ€ΠΎΠΈΡ‚Π΅ ΠΈΠΌΠ°Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ височини ΠΈ ΡˆΠΈΡ€ΠΈΠ½ΠΈ (височината Π΅ ΠΏΠΎ-голяма ΠΎΡ‚ ΡˆΠΈΡ€ΠΈΠ½Π°Ρ‚Π°). Π’Π°ΠΊΠ° всичко Ρ‰Π΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Π½Π΅ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»Π½ΠΎ ΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π°Π΄ΠΎΠ»Ρƒ ΠΈΠ»ΠΈ Π½Π°Π³ΠΎΡ€Π΅ Ρ‰Π΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ ΠΎΡ‚ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ наляво ΠΈΠ»ΠΈ надясно. Π’ΠΎΠ·ΠΈ Π΅Ρ„Π΅ΠΊΡ‚ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΠΌ Π² "Змия" (Π˜Π³Ρ€Π° 1). "Π’Π°Π½ΠΊΠΎΠ²Π΅Ρ‚Π΅" (Π˜Π³Ρ€Π° 2) нямат Ρ‚Π°ΠΊΡŠΠ² Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΠΊ, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·Ρ…ΠΎΠ΄ΡŠΡ‚ Ρ‚Π°ΠΌ Π΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½ Ρ‡Ρ€Π΅Π· боядисванС Π½Π° пиксСлитС Π½Π° Π΅ΠΊΡ€Π°Π½Π° с Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ†Π²Π΅Ρ‚ΠΎΠ²Π΅. МоТС Π΄Π° сС ΠΊΠ°ΠΆΠ΅, Ρ‡Π΅ написах Ρ€Π΅Π½Π΄Π΅Ρ€. Вярно, Ρ‚ΠΎΠ²Π° Π²Π΅Ρ‡Π΅ Π΅ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-слоТно, ΠΌΠ°ΠΊΠ°Ρ€ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-интСрСсно.

Π—Π° Ρ‚Π°Π·ΠΈ ΠΈΠ³Ρ€Π° Ρ‰Π΅ Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ Π΄Π° опиша моята систСма Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° пиксСли Π½Π° Π΅ΠΊΡ€Π°Π½Π°. Мисля, Ρ‡Π΅ Ρ‚ΠΎΠ²Π° Π΅ основната част ΠΎΡ‚ ΠΈΠ³Ρ€Π°Ρ‚Π°. И всичко останало ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° измислитС сами.

И Ρ‚Π°ΠΊΠ°, Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈΠΆΠ΄Π°Ρ‚Π΅ Π½Π° Π΅ΠΊΡ€Π°Π½Π°, Π΅ просто Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π΄Π²ΠΈΠΆΠ΅Ρ‰ΠΈ сС Ρ†Π²Π΅Ρ‚Π½ΠΈ ΠΏΡ€Π°Π²ΠΎΡŠΠ³ΡŠΠ»Π½ΠΈΡ†ΠΈ.

DevOps C++ ΠΈ "кухнСнскитС Π²ΠΎΠΉΠ½ΠΈ", ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ… Π΄Π° пиша ΠΈΠ³Ρ€ΠΈ, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ям
ΠšΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ ΠΏΡ€Π°Π²ΠΎΡŠΠ³ΡŠΠ»Π½ΠΈΠΊ

ВсСки ΠΏΡ€Π°Π²ΠΎΡŠΠ³ΡŠΠ»Π½ΠΈΠΊ Π΅ прСдставСн ΠΎΡ‚ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°, пълна с числа. ΠœΠ΅ΠΆΠ΄Ρƒ Π΄Ρ€ΡƒΠ³ΠΎΡ‚ΠΎ, ΠΌΠΎΠ³Π° Π΄Π° подчСртая Π΅Π΄ΠΈΠ½ интСрСсСн нюанс - всички ΠΌΠ°Ρ‚Ρ€ΠΈΡ†ΠΈ Π² ΠΈΠ³Ρ€Π°Ρ‚Π° са ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½ΠΈ ΠΊΠ°Ρ‚ΠΎ Π΅Π΄Π½ΠΎΠΌΠ΅Ρ€Π΅Π½ масив. НС Π΄Π²ΡƒΠΈΠ·ΠΌΠ΅Ρ€Π½ΠΎ, Π° Π΅Π΄Π½ΠΎΠΈΠ·ΠΌΠ΅Ρ€Π½ΠΎ! Π‘ Π΅Π΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΈΡ‚Π΅ масиви сС Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-лСсно ΠΈ Π±ΡŠΡ€Π·ΠΎ.

DevOps C++ ΠΈ "кухнСнскитС Π²ΠΎΠΉΠ½ΠΈ", ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ… Π΄Π° пиша ΠΈΠ³Ρ€ΠΈ, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ям
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° Π½Π° ΠΈΠ³Ρ€ΠΎΠ²ΠΈ Ρ‚Π°Π½ΠΊ

DevOps C++ ΠΈ "кухнСнскитС Π²ΠΎΠΉΠ½ΠΈ", ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ… Π΄Π° пиша ΠΈΠ³Ρ€ΠΈ, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ям
ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡΠ½Π΅ Π½Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°Ρ‚Π° Π½Π° ΠΈΠ³Ρ€Π°Π»Π΅Π½ Ρ‚Π°Π½ΠΊ с Π΅Π΄Π½ΠΎΠΌΠ΅Ρ€Π΅Π½ масив

DevOps C++ ΠΈ "кухнСнскитС Π²ΠΎΠΉΠ½ΠΈ", ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ… Π΄Π° пиша ΠΈΠ³Ρ€ΠΈ, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ям
По-ΠΈΠ»ΡŽΡΡ‚Ρ€Π°Ρ‚ΠΈΠ²Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½ΠΎ прСдставянС Ρ‡Ρ€Π΅Π· Π΅Π΄Π½ΠΎΠΌΠ΅Ρ€Π΅Π½ масив

Но Π΄ΠΎΡΡ‚ΡŠΠΏΡŠΡ‚ Π΄ΠΎ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° масива става Π² Π΄Π²ΠΎΠ΅Π½ Ρ†ΠΈΠΊΡŠΠ», сякаш Π½Π΅ Π΅ Π΅Π΄Π½ΠΎΠΌΠ΅Ρ€Π΅Π½, Π° Π΄Π²ΡƒΠΌΠ΅Ρ€Π΅Π½ масив. Π’ΠΎΠ²Π° сС ΠΏΡ€Π°Π²ΠΈ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ всС ΠΎΡ‰Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ с ΠΌΠ°Ρ‚Ρ€ΠΈΡ†ΠΈ.

DevOps C++ ΠΈ "кухнСнскитС Π²ΠΎΠΉΠ½ΠΈ", ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ… Π΄Π° пиша ΠΈΠ³Ρ€ΠΈ, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ям
ΠžΠ±Ρ…ΠΎΠΆΠ΄Π°Π½Π΅ Π½Π° Π΅Π΄Π½ΠΎΠΌΠ΅Ρ€Π΅Π½ масив Π² Π΄Π²ΠΎΠ΅Π½ Ρ†ΠΈΠΊΡŠΠ». Y Π΅ ID Π½Π° Ρ€Π΅Π΄Π°, X Π΅ ID Π½Π° ΠΊΠΎΠ»ΠΎΠ½Π°Ρ‚Π°

Моля, ΠΎΠ±ΡŠΡ€Π½Π΅Ρ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Π΅ вмСсто ΠΎΠ±ΠΈΡ‡Π°ΠΉΠ½ΠΈΡ‚Π΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΈ i, j, Π°Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ x ΠΈ y. Π’Π°ΠΊΠ° ΠΌΠΈ сС струва ΠΏΠΎ-приятно Π·Π° ΠΎΠΊΠΎΡ‚ΠΎ ΠΈ ΠΏΠΎ-ясно Π·Π° мозъка. Π’ допълнСниС, Ρ‚Π°ΠΊΠ°Π²Π° нотация Π΄Π°Π²Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡ‚Π΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†ΠΈ Π²ΡŠΡ€Ρ…Ρƒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π½ΠΈΡ‚Π΅ оси Π½Π° Π΄Π²ΡƒΠΈΠ·ΠΌΠ΅Ρ€Π½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.

Π‘Π΅Π³Π° относно пиксСлитС, Ρ†Π²Π΅Ρ‚Π° ΠΈ дисплСя. Ѐункцията StretchDIBits (Header: windows.h; Library: gdi32.lib) сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΈΠ·Ρ…ΠΎΠ΄. ОсвСн всичко Π΄Ρ€ΡƒΠ³ΠΎ, към Ρ‚Π°Π·ΠΈ функция сС ΠΏΡ€Π΅Π΄Π°Π²Π° слСдното: устройството, Π½Π° ΠΊΠΎΠ΅Ρ‚ΠΎ сС ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ (Π² моя случай Ρ‚ΠΎΠ²Π° Π΅ ΠΊΠΎΠ½Π·ΠΎΠ»Π°Ρ‚Π° Π½Π° Windows), ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΈΡ‚Π΅ Π½Π° Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π½Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° ΡˆΠΈΡ€ΠΈΠ½Π° / височина ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ сСбС си ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° растСрно ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ (bitmap), прСдставСно ΠΎΡ‚ масив ΠΎΡ‚ Π±Π°ΠΉΡ‚ΠΎΠ²Π΅. Bitmap ΠΊΠ°Ρ‚ΠΎ масив ΠΎΡ‚ Π±Π°ΠΉΡ‚ΠΎΠ²Π΅!

Ѐункцията 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_bitmapMemory 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++ ΠΈ "кухнСнскитС Π²ΠΎΠΉΠ½ΠΈ", ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ… Π΄Π° пиша ΠΈΠ³Ρ€ΠΈ, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ям
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° попълванС Π½Π° растСрно ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ (Pixel matrix) с информация, Π±Π°Π·ΠΈΡ€Π°Π½Π° Π½Π° числовата ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° (Digital matrix) Π½Π° ΠΈΠ³Ρ€Π°Π»Π½ΠΎΡ‚ΠΎ ΠΏΠΎΠ»Π΅ (Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΈΡ‚Π΅ индСкси Π½Π΅ ΡΡŠΠ²ΠΏΠ°Π΄Π°Ρ‚ с индСкситС Π² ΠΈΠ³Ρ€Π°Ρ‚Π°)

Π©Π΅ прСдставя ΠΈ част ΠΎΡ‚ Ρ€Π΅Π°Π»Π΅Π½ ΠΊΠΎΠ΄ ΠΎΡ‚ ΠΈΠ³Ρ€Π°Ρ‚Π°. На ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°Ρ‚Π° colorIndex ΠΏΡ€ΠΈ всяка итСрация Π½Π° Ρ†ΠΈΠΊΡŠΠ»Π° сС присвоява стойност (Ρ†Π²Π΅Ρ‚Π΅Π½ индСкс) ΠΎΡ‚ числовата ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° Π½Π° ΠΈΠ³Ρ€Π°Π»Π½ΠΎΡ‚ΠΎ ΠΏΠΎΠ»Π΅ (mainDigitalMatrix). Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° самият цвят сС записва Π² Ρ†Π²Π΅Ρ‚Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° въз основа Π½Π° индСкса. ОсвСн Ρ‚ΠΎΠ²Π° получСният цвят сС раздСля Π½Π° ΡΡŠΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Ρ‡Π΅Ρ€Π²Π΅Π½ΠΎ, Π·Π΅Π»Π΅Π½ΠΎ ΠΈ синьо (RGB). И Π·Π°Π΅Π΄Π½ΠΎ с ΠΎΡ‚ΡΡ‚ΡŠΠΏΠ° (pixelPadding), Ρ‚Π°Π·ΠΈ информация сС записва Π² пиксСла ΠΎΡ‚Π½ΠΎΠ²ΠΎ ΠΈ ΠΎΡ‚Π½ΠΎΠ²ΠΎ, ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°ΠΉΠΊΠΈ Ρ†Π²Π΅Ρ‚Π½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² растСрното ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.

ΠšΠΎΠ΄ΡŠΡ‚ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΈ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Ρ‚Ρ€ΡƒΠ΄Π½ΠΈ Π·Π° Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅. Π—Π°Ρ‚ΠΎΠ²Π° Π²ΠΈ ΡΡŠΠ²Π΅Ρ‚Π²Π°ΠΌ Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ някъдС ΠΊΠ°ΠΊ работят ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ структури.

ПопълванС Π½Π° растСрно ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ с информация въз основа Π½Π° числовата ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° Π½Π° ΠΈΠ³Ρ€Π°Π»Π½ΠΎΡ‚ΠΎ ΠΏΠΎΠ»Π΅:

// 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;
   }

Бъгласно описания ΠΏΠΎ-Π³ΠΎΡ€Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄, Π² ΠΈΠ³Ρ€Π°Ρ‚Π° Crazy Tanks сС Ρ„ΠΎΡ€ΠΌΠΈΡ€Π° Π΅Π΄Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π° (Ρ€Π°ΠΌΠΊΠ°) ΠΈ сС ΠΏΠΎΠΊΠ°Π·Π²Π° Π½Π° Π΅ΠΊΡ€Π°Π½Π° във функцията Draw(). Π‘Π»Π΅Π΄ рСгистриранС Π½Π° натисканията Π½Π° ΠΊΠ»Π°Π²ΠΈΡˆΠΈΡ‚Π΅ във функцията Input() ΠΈ послСдващата ΠΈΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° във функцията Logic() сС Ρ„ΠΎΡ€ΠΌΠΈΡ€Π° Π½ΠΎΠ²Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π° (Ρ€Π°ΠΌΠΊΠ°). Вярно Π΅, Ρ‡Π΅ ΠΎΠ±Π΅ΠΊΡ‚ΠΈΡ‚Π΅ Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π° ΠΌΠΎΠΆΠ΅ Π²Π΅Ρ‡Π΅ Π΄Π° ΠΈΠΌΠ°Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Π° позиция Π½Π° ΠΈΠ³Ρ€Π°Π»Π½ΠΎΡ‚ΠΎ ΠΏΠΎΠ»Π΅ ΠΈ ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ Π΄Π° са нарисувани Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎ място. Π•Ρ‚ΠΎ ΠΊΠ°ΠΊ сС случва анимацията (Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ).

На тСория (Π°ΠΊΠΎ Π½Π΅ стС Π·Π°Π±Ρ€Π°Π²ΠΈΠ»ΠΈ Π½Π΅Ρ‰ΠΎ), Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ†ΠΈΠΊΡŠΠ»Π° Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π° ΠΎΡ‚ ΠΏΡŠΡ€Π²Π°Ρ‚Π° ΠΈΠ³Ρ€Π° (β€žSnakeβ€œ) ΠΈ систСмата Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° пиксСли Π½Π° Π΅ΠΊΡ€Π°Π½Π° ΠΎΡ‚ Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° ΠΈΠ³Ρ€Π° (β€žTanksβ€œ) Π΅ всичко, ΠΊΠΎΠ΅Ρ‚ΠΎ трябва Π΄Π° Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅. Π½Π° Π²Π°ΡˆΠΈΡ‚Π΅ 2D ΠΈΠ³Ρ€ΠΈ Π·Π° Windows. Π‘Π΅Π·Π·Π²ΡƒΡ‡Π΅Π½! πŸ˜‰ ΠžΡΡ‚Π°Π½Π°Π»ΠΈΡ‚Π΅ части са просто ΠΏΠΎΠ»Π΅Ρ‚ Π½Π° фантазия.

Π Π°Π·Π±ΠΈΡ€Π° сС, ΠΈΠ³Ρ€Π°Ρ‚Π° "Tanks" Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-слоТно ΠΎΡ‚ "Snake". Π’Π΅Ρ‡Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ… Π΅Π·ΠΈΠΊΠ° C++, тоСст описах Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΈΠ³Ρ€ΠΎΠ²ΠΈ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ с класовС. Π‘ΡŠΠ·Π΄Π°Π΄ΠΎΡ… моя собствСна колСкция - ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΊΠΎΠ΄Π° Π² headers/Box.h. ΠœΠ΅ΠΆΠ΄Ρƒ Π΄Ρ€ΡƒΠ³ΠΎΡ‚ΠΎ, колСкцията Π½Π°ΠΉ-вСроятно ΠΈΠΌΠ° ΠΈΠ·Ρ‚ΠΈΡ‡Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚. Използвани ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΊΠΈ. Π Π°Π±ΠΎΡ‚Π΅ΡˆΠ΅ с ΠΏΠ°ΠΌΠ΅Ρ‚. Врябва Π΄Π° ΠΊΠ°ΠΆΠ°, Ρ‡Π΅ ΠΊΠ½ΠΈΠ³Π°Ρ‚Π° ΠΌΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ. Начало Π½Π° C++ Ρ‡Ρ€Π΅Π· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ Π½Π° ΠΈΠ³Ρ€ΠΈ. Π’ΠΎΠ²Π° Π΅ страхотно Π½Π°Ρ‡Π°Π»ΠΎ Π·Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‰ΠΈ Π² C++. Π’ΠΎΠΉ Π΅ малък, интСрСсСн ΠΈ Π΄ΠΎΠ±Ρ€Π΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ‚Π°Π·ΠΈ ΠΈΠ³Ρ€Π° ΠΎΡ‚Π½Π΅ ΠΎΠΊΠΎΠ»ΠΎ ΡˆΠ΅ΡΡ‚ мСсСца. ΠŸΠΈΡˆΠ΅Ρ… основно ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° обяд ΠΈ закуски Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°. Π’ΠΎΠΉ сСдСшС Π² кухнята Π½Π° офиса, Ρ‚ΡŠΠΏΡ‡Π΅ΡˆΠ΅ Ρ…Ρ€Π°Π½Π° ΠΈ пишСшС ΠΊΠΎΠ΄. Или Ρƒ Π΄ΠΎΠΌΠ° Π·Π° вСчСря. Π’Π°ΠΊΠ° Ρ‡Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ… Ρ‚Π°ΠΊΠΈΠ²Π° "кухнСнски Π²ΠΎΠΉΠ½ΠΈ". ΠšΠ°ΠΊΡ‚ΠΎ Π²ΠΈΠ½Π°Π³ΠΈ, Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ… Ρ‚Π΅Ρ‚Ρ€Π°Π΄ΠΊΠ° ΠΈ всички ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»Π½ΠΈ Π½Π΅Ρ‰Π° сС Ρ€ΠΎΠ΄ΠΈΡ…Π° Π² нСя.

Π’ края Π½Π° практичСската част Ρ‰Π΅ извадя няколко сканирания ΠΎΡ‚ Π±Π΅Π»Π΅ΠΆΠ½ΠΈΠΊΠ° си. Π”Π° ΠΏΠΎΠΊΠ°ΠΆΠ° ΠΊΠ°ΠΊΠ²ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ съм записвал, рисувал, Π±Ρ€ΠΎΠΈΠ», ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π»...

DevOps C++ ΠΈ "кухнСнскитС Π²ΠΎΠΉΠ½ΠΈ", ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ… Π΄Π° пиша ΠΈΠ³Ρ€ΠΈ, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ям
Π”ΠΈΠ·Π°ΠΉΠ½ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Ρ‚Π°Π½ΠΊ. И ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΊΠΎΠ»ΠΊΠΎ пиксСла трябва Π΄Π° Π·Π°Π΅ΠΌΠ° всСки Ρ€Π΅Π·Π΅Ρ€Π²ΠΎΠ°Ρ€ Π½Π° Π΅ΠΊΡ€Π°Π½Π°

DevOps C++ ΠΈ "кухнСнскитС Π²ΠΎΠΉΠ½ΠΈ", ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ… Π΄Π° пиша ΠΈΠ³Ρ€ΠΈ, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ям
Π˜Π·Ρ‡ΠΈΡΠ»ΡΠ²Π°Π½Π΅ Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ° ΠΈ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ‚Π΅ Π·Π° Π²ΡŠΡ€Ρ‚Π΅Π½Π΅ Π½Π° Ρ€Π΅Π·Π΅Ρ€Π²ΠΎΠ°Ρ€Π° ΠΎΠΊΠΎΠ»ΠΎ оста ΠΌΡƒ

DevOps C++ ΠΈ "кухнСнскитС Π²ΠΎΠΉΠ½ΠΈ", ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ… Π΄Π° пиша ΠΈΠ³Ρ€ΠΈ, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ям
Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠ° Π½Π° моята колСкция (Π½Π°ΠΉ-вСроятно Ρ‚Π°Π·ΠΈ с ΠΈΠ·Ρ‚ΠΈΡ‡Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°). ΠšΠΎΠ»Π΅ΠΊΡ†ΠΈΡΡ‚Π° Π΅ създадСна ΠΊΠ°Ρ‚ΠΎ ΡΠ²ΡŠΡ€Π·Π°Π½ списък

DevOps C++ ΠΈ "кухнСнскитС Π²ΠΎΠΉΠ½ΠΈ", ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ… Π΄Π° пиша ΠΈΠ³Ρ€ΠΈ, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ям
И Ρ‚ΠΎΠ²Π° са Π½Π°ΠΏΡ€Π°Π·Π½ΠΈ ΠΎΠΏΠΈΡ‚ΠΈ Π΄Π° сС вмъкнС изкуствСн ΠΈΠ½Ρ‚Π΅Π»Π΅ΠΊΡ‚ Π² ΠΈΠ³Ρ€Π°Ρ‚Π°

тСория

β€žΠ”ΠΎΡ€ΠΈ Π΅Π΄Π½ΠΎ ΠΏΡŠΡ‚ΡƒΠ²Π°Π½Π΅ ΠΎΡ‚ хиляда ΠΌΠΈΠ»ΠΈ Π·Π°ΠΏΠΎΡ‡Π²Π° с ΠΏΡŠΡ€Π²Π°Ρ‚Π° ΡΡ‚ΡŠΠΏΠΊΠ°β€œ (Π΄Ρ€Π΅Π²Π½Π° китайска ΠΌΡŠΠ΄Ρ€ΠΎΡΡ‚)

Π”Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ΠΌ ΠΎΡ‚ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° към тСория! Как Π½Π°ΠΌΠΈΡ€Π°Ρ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅ Π·Π° Π²Π°ΡˆΠ΅Ρ‚ΠΎ Ρ…ΠΎΠ±ΠΈ?

  1. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Ρ‚Π΅ ΠΊΠ°ΠΊΠ²ΠΎ наистина искатС (ΡƒΠ²ΠΈ, Ρ‚ΠΎΠ²Π° Π΅ Π½Π°ΠΉ-Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΡ‚ΠΎ).
  2. ΠŸΠΎΡΡ‚Π°Π²Π΅Ρ‚Π΅ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΈ.
  3. ΠŸΠΎΠΆΠ΅Ρ€Ρ‚Π²Π°ΠΉΡ‚Π΅ всичко "излишно" Π² ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠΎ-високитС ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΈ.
  4. Π”Π²ΠΈΠΆΠ΅Ρ‚Π΅ сС към Ρ†Π΅Π»ΠΈΡ‚Π΅ си всСки Π΄Π΅Π½.
  5. НС ΠΎΡ‡Π°ΠΊΠ²Π°ΠΉΡ‚Π΅, Ρ‡Π΅ Ρ‰Π΅ ΠΈΠΌΠ° Π΄Π²Π° ΠΈΠ»ΠΈ Ρ‚Ρ€ΠΈ часа свободно Π²Ρ€Π΅ΠΌΠ΅ Π·Π° Ρ…ΠΎΠ±ΠΈ.

ΠžΡ‚ Π΅Π΄Π½Π° страна, трябва Π΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΊΠ°ΠΊΠ²ΠΎ искатС ΠΈ Π΄Π° ΠΏΠΎΠ΄Ρ€Π΅Π΄ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΈΡ‚Π΅ си. ΠžΡ‚ Π΄Ρ€ΡƒΠ³Π° страна Π΅ възмоТно Π΄Π° сС ΠΎΡ‚ΠΊΠ°ΠΆΠ°Ρ‚ ΠΎΡ‚ някои случаи/ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ Π² ΠΏΠΎΠ»Π·Π° Π½Π° Ρ‚Π΅Π·ΠΈ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΈ. Π‘ Π΄Ρ€ΡƒΠ³ΠΈ Π΄ΡƒΠΌΠΈ, Ρ‰Π΅ трябва Π΄Π° ΠΏΠΎΠΆΠ΅Ρ€Ρ‚Π²Π°Ρ‚Π΅ всичко "излишно". Π§ΡƒΡ… някъдС, Ρ‡Π΅ Π² ΠΆΠΈΠ²ΠΎΡ‚Π° трябва Π΄Π° ΠΈΠΌΠ° максимум Ρ‚Ρ€ΠΈ основни дСйности. Π’ΠΎΠ³Π°Π²Π° Ρ‰Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° сС справитС с тях ΠΏΠΎ възмоТно Π½Π°ΠΉ-добрия Π½Π°Ρ‡ΠΈΠ½. И Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ/посоки Ρ‰Π΅ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ‚ Π΄Π° ΠΏΡ€Π΅Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Ρ‚ Π±Π°Π½Π°Π»Π½ΠΎ. Но всичко Ρ‚ΠΎΠ²Π° вСроятно Π΅ субСктивно ΠΈ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»Π½ΠΎ.

Има ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π·Π»Π°Ρ‚Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ: Π½ΠΈΠΊΠΎΠ³Π° нямайтС 0% Π΄Π΅Π½! Научих Π·Π° Ρ‚ΠΎΠ²Π° Π² статия ΠΎΡ‚ нСзависим Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ. Ако Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΏΡ€Π°Π²Π΅Ρ‚Π΅ Π½Π΅Ρ‰ΠΎ ΠΏΠΎ Π²ΡŠΠΏΡ€ΠΎΡΠ° всСки Π΄Π΅Π½. И няма Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΊΠΎ ΠΏΠ΅Ρ‡Π΅Π»ΠΈΡ‚Π΅. ΠΠ°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π΅Π΄Π½Π° Π΄ΡƒΠΌΠ° ΠΈΠ»ΠΈ Π΅Π΄ΠΈΠ½ Ρ€Π΅Π΄ ΠΊΠΎΠ΄, ΠΈΠ·Π³Π»Π΅Π΄Π°ΠΉΡ‚Π΅ Π΅Π΄ΠΈΠ½ ΠΎΠ±ΡƒΡ‡ΠΈΡ‚Π΅Π»Π΅Π½ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ»ΠΈΠΏ ΠΈΠ»ΠΈ Π·Π°Π±ΠΈΠΉΡ‚Π΅ Π΅Π΄ΠΈΠ½ ΠΏΠΈΡ€ΠΎΠ½ Π² Π΄ΡŠΡΠΊΠ°Ρ‚Π° – просто Π½Π°ΠΏΡ€Π°Π²Π΅Ρ‚Π΅ Π½Π΅Ρ‰ΠΎ. Най-Ρ‚Ρ€ΡƒΠ΄Π½Π°Ρ‚Π° част Π΅ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅. Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅, вСроятно Ρ‰Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅, ΠΎΡ‚ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ стС искали. Π’Π°ΠΊΠ° Ρ‡Π΅ постоянно Ρ‰Π΅ сС ΠΏΡ€ΠΈΠ΄Π²ΠΈΠΆΠ²Π°Ρ‚Π΅ към Ρ†Π΅Π»Ρ‚Π° си ΠΈ, повярвайтС ΠΌΠΈ, ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡŠΡ€Π·ΠΎ. Π’ ΠΊΡ€Π°ΠΉΠ½Π° смСтка основната спирачка Π·Π° всички Π½Π΅Ρ‰Π° Π΅ ΠΎΡ‚Π»Π°Π³Π°Π½Π΅Ρ‚ΠΎ.

И Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Π΅ Π½Π΅ трябва Π΄Π° подцСняватС ΠΈ ΠΏΡ€Π΅Π½Π΅Π±Ρ€Π΅Π³Π²Π°Ρ‚Π΅ Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π½ΠΈΡ‚Π΅ "ΡΡ‚ΡŠΡ€Π³ΠΎΡ‚ΠΈΠ½ΠΈ" Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π² 5, 10, 15 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ, ΠΈΠ·Ρ‡Π°ΠΊΠ°ΠΉΡ‚Π΅ Π΅Π΄Π½ΠΈ Π³ΠΎΠ»Π΅ΠΌΠΈ "Π΄Ρ€ΡŠΠ²Π½ΠΈΡ†ΠΈ" с ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚ час-Π΄Π²Π°. Π‘Ρ‚ΠΎΠΈΡˆ Π»ΠΈ Π½Π° опашка? ΠŸΠΎΠΌΠΈΡΠ»Π΅Ρ‚Π΅ Π·Π° Π½Π΅Ρ‰ΠΎ Π·Π° вашия ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. ΠšΠ°Ρ‡Π²Π°Ρˆ Π»ΠΈ сС ΠΏΠΎ Сскалатора? Π—Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π½Π΅Ρ‰ΠΎ Π² Ρ‚Π΅Ρ‚Ρ€Π°Π΄ΠΊΠ°. Π―Π΄Π΅Ρ‚Π΅ Π»ΠΈ Π² автобуса? Π”ΠΎΠ±Ρ€Π΅, ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ някоя статия. Π˜Π·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ всяка Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚. Π‘ΠΏΡ€Π΅Ρ‚Π΅ Π΄Π° Π³Π»Π΅Π΄Π°Ρ‚Π΅ ΠΊΠΎΡ‚ΠΊΠΈ ΠΈ ΠΊΡƒΡ‡Π΅Ρ‚Π° Π² YouTube! НС си Π±ΡŠΡ€ΠΊΠ°ΠΉΡ‚Π΅ Π² мозъка!

И послСдното. Ако, слСд ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ Ρ‚Π°Π·ΠΈ статия, Π²ΠΈ харСса идСята Π·Π° създаванС Π½Π° ΠΈΠ³Ρ€ΠΈ Π±Π΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΠΈ Π·Π° ΠΈΠ³Ρ€ΠΈ, Ρ‚ΠΎΠ³Π°Π²Π° Π·Π°ΠΏΠΎΠΌΠ½Π΅Ρ‚Π΅ ΠΈΠΌΠ΅Ρ‚ΠΎ КСйси ΠœΡƒΡ€Π°Ρ‚ΠΎΡ€ΠΈ. Π’ΠΎΠ·ΠΈ Ρ‡ΠΎΠ²Π΅ΠΊ ΠΈΠΌΠ° уСбсайт. Π’ Ρ€Π°Π·Π΄Π΅Π»Π° β€žΠ³Π»Π΅Π΄Π°ΠΉΡ‚Π΅ -> ΠŸΠ Π•Π”Π˜Π¨ΠΠ˜ Π•ΠŸΠ˜Π—ΠžΠ”Π˜β€œ Ρ‰Π΅ Π½Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ нСвСроятни Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π½ΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΡƒΡ€ΠΎΡ†ΠΈ Π·Π° Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊ Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ профСсионална ΠΈΠ³Ρ€Π° ΠΎΡ‚ Π½ΡƒΠ»Π°Ρ‚Π°. Π’ ΠΏΠ΅Ρ‚ ΡƒΡ€ΠΎΠΊΠ° ΠΎΡ‚ Intro to C Π·Π° Windows ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅, ΠΎΡ‚ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ Π² ΠΏΠ΅Ρ‚ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π² унивСрситСта (някой писа Π·Π° Ρ‚ΠΎΠ²Π° Π² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΡ‚Π΅ ΠΏΠΎΠ΄ Π²ΠΈΠ΄Π΅ΠΎΡ‚ΠΎ).

КСйси ΡΡŠΡ‰ΠΎ обяснява, Ρ‡Π΅ ΠΊΠ°Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ свой собствСн Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π» Π·Π° ΠΈΠ³Ρ€ΠΈ, Π²ΠΈΠ΅ Ρ‰Π΅ ΠΈΠΌΠ°Ρ‚Π΅ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€ΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π·Π° всички ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΠΈ. Π’ свСта Π½Π° Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ всСки сС ΠΎΠΏΠΈΡ‚Π²Π° Π΄Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°, Ρ‰Π΅ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ ΠΊΠ°ΠΊ Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅, Π° Π½Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅. Π Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ самата ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π° Π½Π° ΠΊΠΎΠΌΠΏΡŽΡ‚Ρ€ΠΈΡ‚Π΅. ОсвСн Ρ‚ΠΎΠ²Π° Ρ‰Π΅ станСтС ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π΅Π½ ΠΈ зрял програмист - профСсионалист.

УспСх ΠΏΠΎ избрания ΠΏΡŠΡ‚! И Π½Π΅ΠΊΠ° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ свСта ΠΏΠΎ-профСсионалСн.

Автор: Π“Ρ€Π°Π½ΠΊΠΈΠ½ АндрСй, DevOps



Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com