"ΠΠ½Π°ΠΌ, ΡΠ΅ Π½ΠΈΡΠΎ Π½Π΅ Π·Π½Π°ΠΌ" Π‘ΠΎΠΊΡΠ°Ρ
ΠΠ° ΠΊΠΎΠ³ΠΎ: Π·Π° IT Ρ ΠΎΡΠ°, ΠΊΠΎΠΈΡΠΎ ΠΏΠ»ΡΡΡ Π²ΡΠΈΡΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ ΠΈ ΠΈΡΠΊΠ°Ρ Π΄Π° ΠΈΠ³ΡΠ°ΡΡ ΡΠ΅Ρ Π½ΠΈΡΠ΅ ΠΈΠ³ΡΠΈ!
ΠΠ° ΠΊΠ°ΠΊΠ²ΠΎ: ΠΊΠ°ΠΊ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΡΠ΅ Π΄Π° ΠΏΠΈΡΠ΅ΡΠ΅ ΠΈΠ³ΡΠΈ Π½Π° C/C++, Π°ΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ Π½ΡΠΆΠ΄Π°!
ΠΠ°ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ ΡΠΎΠ²Π°: Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ Π΅ ΠΌΠΎΡΡΠ° ΡΠ°Π±ΠΎΡΠ½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎΡΡ, Π½ΠΎ ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π°ΠΌ Π΄Π° ΠΊΠΎΠ΄ΠΈΡΠ°ΠΌ Π²ΡΡΠΊΠ° ΡΠ΅Π΄ΠΌΠΈΡΠ°. ΠΠ°ΡΠΎΡΠΎ ΠΎΠ±ΠΈΡΠ°ΠΌ ΠΈΠ³ΡΠΈΡΠ΅!
ΠΠ΄ΡΠ°Π²Π΅ΠΉ! ΠΠΌΠ΅ΡΠΎ ΠΌΠΈ Π΅
ΠΠ½Π΄ΡΡΡΡΠΈΡΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΡΠ½ΠΈΡΠ΅ ΠΈΠ³ΡΠΈ Π΅ ΠΎΠ³ΡΠΎΠΌΠ½Π°, Π΄ΠΎΡΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΠ»ΡΡ
ΠΎΠ²Π΅ Π΄Π½Π΅Ρ ΠΎΡ ΡΠΈΠ»ΠΌΠΎΠ²Π°ΡΠ° ΠΈΠ½Π΄ΡΡΡΡΠΈΡ. ΠΠ³ΡΠΈΡΠ΅ ΡΠ΅ ΠΏΠΈΡΠ°Ρ ΠΎΡ Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠΈΡΠ΅, ΠΊΠ°ΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ, ΡΠΏΠΎΡΠ΅Π΄ ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠΈ, ΡΠ»ΠΎΠΆΠ½ΠΈ ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°. Π‘ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π°ΠΏΠΎΡΠ½Π°Ρ
Π° Π΄Π° ΡΠ΅ ΠΏΠΎΡΠ²ΡΠ²Π°Ρ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΠΈ Π·Π° ΠΈΠ³ΡΠΈ Ρ Π²Π΅ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½ΠΈ Π³ΡΠ°ΡΠΈΠΊΠΈ, ΡΠΈΠ·ΠΈΠΊΠ° ΠΈ Π·Π²ΡΠΊ. Π’Π΅ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π΄Π° ΡΠ΅ ΡΡΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΠ΅ Π²ΡΡΡ
Ρ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΡΠ°ΠΌΠ°ΡΠ° ΠΈΠ³ΡΠ° ΠΈ Π΄Π° Π½Π΅ ΡΠ΅ ΠΏΡΠΈΡΠ΅ΡΠ½ΡΠ²Π°ΡΠ΅ Π·Π° Π½Π΅ΠΉΠ½Π°ΡΠ° ΠΎΡΠ½ΠΎΠ²Π°. ΠΠΎ Π·Π°Π΅Π΄Π½ΠΎ Ρ ΡΡΡ
, Ρ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΠΈΡΠ΅, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ "ΠΎΡΠ»Π΅ΠΏΡΠ²Π°Ρ" ΠΈ Π΄Π΅Π³ΡΠ°Π΄ΠΈΡΠ°Ρ. Π‘Π°ΠΌΠΎΡΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ Π½Π° ΠΈΠ³ΡΠΈ ΡΠ΅ ΠΏΠΎΡΡΠ°Π²Ρ Π½Π° ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ. Π ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡΡΠ° Π·Π°ΠΏΠΎΡΠ²Π° Π΄Π° Π½Π°Π΄Π΄Π΅Π»ΡΠ²Π° Π½Π°Π΄ Π½Π΅ΠΉΠ½ΠΎΡΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ.
Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅, ΠΊΠΎΠ³Π°ΡΠΎ ΠΈΠ³ΡΠ°Π΅ΠΌ ΠΈΠ³ΡΠΈ Π½Π° Π΄ΡΡΠ³ΠΈ Ρ
ΠΎΡΠ°, Π½ΠΈΠ΅ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠΌΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈ ΠΎΡ Π»ΠΎΠΊΠ°ΡΠΈΠΈ, ΡΡΠΆΠ΅Ρ, Π³Π΅ΡΠΎΠΈ, ΠΈΠ³ΡΠΎΠ²ΠΈ ΠΌΠ΅Ρ
Π°Π½ΠΈΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΠΈΠ·ΠΌΠΈΡΠ»ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈ Ρ
ΠΎΡΠ°. Π’Π°ΠΊΠ° ΡΠ°Π·Π±ΡΠ°Ρ
, ΡΠ΅...
β¦ Π²ΡΠ΅ΠΌΠ΅ Π΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΡΠ²Π΅ΡΠΎΠ²Π΅, ΠΏΠΎΠ΄ΡΠΈΠ½Π΅Π½ΠΈ ΡΠ°ΠΌΠΎ Π½Π° ΠΌΠ΅Π½. Π‘Π²Π΅ΡΠΎΠ²Π΅, Π² ΠΊΠΎΠΈΡΠΎ ΠΠ· ΡΡΠΌ ΠΡΠ΅Ρ, ΠΈ Π‘ΠΈΠ½, ΠΈ Π‘Π²Π΅ΡΠΈ ΠΡΡ !
Π Π°Π· ΠΈΡΠΊΡΠ΅Π½ΠΎ Π²ΡΡΠ²Π°ΠΌ, ΡΠ΅ ΠΊΠ°ΡΠΎ Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π» Π·Π° ΠΈΠ³ΡΠΈ ΠΈ ΠΈΠ³ΡΠ° Π²ΡΡΡ Ρ Π½Π΅Π³ΠΎ, ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΎΡΠ²ΠΎΡΠΈΡΠ΅ ΠΎΡΠΈΡΠ΅ ΡΠΈ, Π΄Π° ΠΈΠ·Π±ΡΡΡΠ΅ΡΠ΅ ΠΏΡΠΎΠ·ΠΎΡΡΠΈΡΠ΅ ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠΌΠΏΠ°ΡΠ΅ ΠΊΠ°Π±ΠΈΠ½Π°ΡΠ° ΡΠΈ, ΡΡΠ°Π²Π°ΠΉΠΊΠΈ ΠΏΠΎ-ΠΎΠΏΠΈΡΠ΅Π½ ΠΈ ΡΡΠ»ΠΎΡΡΠ΅Π½ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΡ.
Π ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ ΡΠ΅ ΡΠ΅ ΠΎΠΏΠΈΡΠ°ΠΌ Π΄Π° Π²ΠΈ ΡΠ°Π·ΠΊΠ°ΠΆΠ° ΠΊΠ°ΠΊ Π·Π°ΠΏΠΎΡΠ½Π°Ρ Π΄Π° ΠΏΠΈΡΠ° ΠΌΠ°Π»ΠΊΠΈ ΠΈΠ³ΡΠΈ Π½Π° C / C ++, ΠΊΠ°ΠΊΡΠ² Π΅ ΠΏΡΠΎΡΠ΅ΡΡΡ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ ΠΊΡΠ΄Π΅ Π½Π°ΠΌΠΈΡΠ°ΠΌ Π²ΡΠ΅ΠΌΠ΅ Π·Π° Ρ ΠΎΠ±ΠΈ Π² Π½Π°ΡΠΎΠ²Π°ΡΠ΅Π½Π° ΡΡΠ΅Π΄Π°. Π’ΠΎΠΉ Π΅ ΡΡΠ±Π΅ΠΊΡΠΈΠ²Π΅Π½ ΠΈ ΠΎΠΏΠΈΡΠ²Π° ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»Π΅Π½ ΡΡΠ°ΡΡ. ΠΠ°ΡΠ΅ΡΠΈΠ°Π» Π·Π° Π½Π΅Π²Π΅ΠΆΠ΅ΡΡΠ²ΠΎΡΠΎ ΠΈ Π²ΡΡΠ°ΡΠ°, Π·Π° Π»ΠΈΡΠ½Π°ΡΠ° ΠΌΠΈ ΠΊΠ°ΡΡΠΈΠ½Π° Π½Π° ΡΠ²Π΅ΡΠ° Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ°. Π‘ Π΄ΡΡΠ³ΠΈ Π΄ΡΠΌΠΈ, "ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΡΡΠ° Π½Π΅ ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π·Π° Π²Π°ΡΠΈΡΠ΅ Π»ΠΈΡΠ½ΠΈ ΠΌΠΎΠ·ΡΡΠΈ!".
ΠΡΠ°ΠΊΡΠΈΠΊΠ°
"ΠΠ½Π°Π½ΠΈΠ΅ΡΠΎ Π±Π΅Π· ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Π΅ Π±Π΅Π·ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°ΡΠ° Π±Π΅Π· Π·Π½Π°Π½ΠΈΠ΅ Π΅ ΠΎΠΏΠ°ΡΠ½Π°." ΠΠΎΠ½ΡΡΡΠΈΠΉ
ΠΠΎΡΡ Π±Π΅Π»Π΅ΠΆΠ½ΠΈΠΊ Π΅ ΠΌΠΎΡΡ ΠΆΠΈΠ²ΠΎΡ!
Π’Π°ΠΊΠ° ΡΠ΅ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° ΠΌΠΎΠ³Π° Π΄Π° ΠΊΠ°ΠΆΠ°, ΡΠ΅ Π²ΡΠΈΡΠΊΠΎ Π·Π° ΠΌΠ΅Π½ Π·Π°ΠΏΠΎΡΠ²Π° ΠΎΡ ΡΠ΅ΡΡΠ°Π΄ΠΊΠ°. Π’Π°ΠΌ Π·Π°ΠΏΠΈΡΠ²Π°ΠΌ Π½Π΅ ΡΠ°ΠΌΠΎ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΈΡΠ΅ ΡΠΈ Π·Π°Π΄Π°ΡΠΈ, Π½ΠΎ ΠΈ ΡΠ΅ΡΡΠ°Ρ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΠΌ, ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°ΠΌ Π±Π»ΠΎΠΊ-ΡΡ
Π΅ΠΌΠΈ ΠΈ ΡΠ΅ΡΠ°Π²Π°ΠΌ Π·Π°Π΄Π°ΡΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΠΈΠ½Π°Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ Π±Π΅Π»Π΅ΠΆΠ½ΠΈΠΊ ΠΈ ΠΏΠΈΡΠ΅ΡΠ΅ ΡΠ°ΠΌΠΎ Ρ ΠΌΠΎΠ»ΠΈΠ². Π’ΠΎΠ²Π° Π΅ ΡΠΈΡΡΠΎ, ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎ, IMHO.
ΠΠΎΡΡ (Π²Π΅ΡΠ΅ ΠΏΠΎΠΏΡΠ»Π½Π΅Π½) Π±Π΅Π»Π΅ΠΆΠ½ΠΈΠΊ. ΠΡΠΎ ΠΊΠ°ΠΊ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°. Π‘ΡΠ΄ΡΡΠΆΠ° Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΈ Π·Π°Π΄Π°ΡΠΈ, ΠΈΠ΄Π΅ΠΈ, ΡΠ΅ΡΡΠ΅ΠΆΠΈ, Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΈ, ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΡΠ΅ΡΠ½ΠΎ ΡΡΠ΅ΡΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ, ΠΊΠΎΠ΄ ΠΈ Ρ.Π½.
ΠΠ° ΡΠΎΠ·ΠΈ Π΅ΡΠ°ΠΏ ΡΡΠΏΡΡ Π΄Π° Π·Π°Π²ΡΡΡΠ° ΡΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° (ΡΠΎΠ²Π° Π΅ ΡΠΏΠΎΡΠ΅Π΄ ΠΌΠΎΠ΅ΡΠΎ ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π·Π° βΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»Π½ΠΎΡΡβ, Π·Π°ΡΠΎΡΠΎ Π²ΡΠ΅ΠΊΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»Π½ΠΎ Π±Π΅Π·ΠΊΡΠ°ΠΉΠ½ΠΎ).
- ΠΡΠΎΠ΅ΠΊΡ 0: ΡΠΎΠ²Π° Π΅ Architect Demo 3D ΡΡΠ΅Π½Π°, Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° C# Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΈΠ³ΡΠΎΠ²ΠΈΡ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π» Unity. ΠΠ° macOS ΠΈ Windows ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ.
- ΠΠ³ΡΠ° 1: ΠΊΠΎΠ½Π·ΠΎΠ»Π½Π° ΠΈΠ³ΡΠ° Simple Snake (ΠΈΠ·Π²Π΅ΡΡΠ½Π° Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΊΠ°ΡΠΎ "Snake") Π·Π° Windows. Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π½Π° C.
- ΠΠ³ΡΠ° 2: ΠΊΠΎΠ½Π·ΠΎΠ»Π½Π° ΠΈΠ³ΡΠ° Crazy Tanks (ΠΈΠ·Π²Π΅ΡΡΠ½Π° Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΊΠ°ΡΠΎ "Tanks"), Π²Π΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° C ++ (ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΊΠ»Π°ΡΠΎΠ²Π΅), Π° ΡΡΡΠΎ ΠΈ ΠΏΠΎΠ΄ Windows.
ΠΠ΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡ 0 Π°ΡΡ ΠΈΡΠ΅ΠΊΡ
- ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°: Windows (Windows 7, 10), Mac OS (OS X El Capitan v. 10.11.6)
- ΠΠ·ΠΈΠΊ: C#
- ΠΠ²ΠΈΠ³Π°ΡΠ΅Π» Π½Π° ΠΈΠ³ΡΠ°ΡΠ°:
ΠΠ΄ΠΈΠ½ΡΡΠ²ΠΎ - ΠΠ΄ΡΡ
Π½ΠΎΠ²Π΅Π½ΠΈΠ΅:
ΠΠ°ΡΠΈΠ½ ΠΠΈΠ» - Π₯ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅:
GitHub
ΠΠ΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ Π½Π° 3D Scene Architect
ΠΡΡΠ²ΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Π±Π΅ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π½Π΅ Π½Π° C/C++, Π° Π½Π° C# Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΈΠ³ΡΠΎΠ²ΠΈΡ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π» Unity. Π’ΠΎΠ·ΠΈ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π» Π½Π΅ Π±Π΅ΡΠ΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° Π²Π·ΠΈΡΠΊΠ°ΡΠ΅Π»Π΅Π½ ΠΊΡΠΌ Ρ
Π°ΡΠ΄ΡΠ΅ΡΠ°, ΠΊΠΎΠ»ΠΊΠΎΡΠΎ
Π¦Π΅Π»ΡΠ° Π² Unity Π·Π° ΠΌΠ΅Π½ Π½Π΅ Π±Π΅ΡΠ΅ Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡ Π½ΡΠΊΠ°ΠΊΠ²Π° ΠΈΠ³ΡΠ°. ΠΡΠΊΠ°Ρ Π΄Π° ΡΡΠ·Π΄Π°ΠΌ 3D ΡΡΠ΅Π½Π° Ρ Π½ΡΠΊΠ°ΠΊΡΠ² Π³Π΅ΡΠΎΠΉ. Π’ΠΎΠΉ, ΠΈΠ»ΠΈ ΠΏΠΎ-ΡΠΊΠΎΡΠΎ Π’Ρ (Π°Π· ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠ°Ρ ΠΌΠΎΠΌΠΈΡΠ΅ΡΠΎ, Π² ΠΊΠΎΠ΅ΡΠΎ Π±ΡΡ Π²Π»ΡΠ±Π΅Π½ =) ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° ΡΠ΅ Π΄Π²ΠΈΠΆΠΈ ΠΈ Π΄Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²Π° Ρ Π²ΡΠ½ΡΠ½ΠΈΡ ΡΠ²ΡΡ. ΠΠ΅ΡΠ΅ Π²Π°ΠΆΠ½ΠΎ ΡΠ°ΠΌΠΎ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΊΠ°ΠΊΠ²ΠΎ Π΅ Unity, ΠΊΠ°ΠΊΡΠ² Π΅ ΠΏΡΠΎΡΠ΅ΡΡΡ Π½Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ ΠΈ ΠΊΠΎΠ»ΠΊΠΎ ΡΡΠΈΠ»ΠΈΡ ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ, Π·Π° Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅ Π½Π΅ΡΠΎ. Π’Π°ΠΊΠ° ΡΠ΅ ΡΠΎΠ΄ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΡΡ Architect Demo (ΠΈΠΌΠ΅ΡΠΎ Π΅ ΠΈΠ·ΠΌΠΈΡΠ»Π΅Π½ΠΎ ΠΏΠΎΡΡΠΈ ΠΎΡ Π³Π»ΡΠΏΠΎΡΡΠΈΡΠ΅). ΠΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ΡΠΎ, ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠ°Π½Π΅ΡΠΎ, Π°Π½ΠΈΠΌΠ°ΡΠΈΡΡΠ°, ΡΠ΅ΠΊΡΡΡΡΠΈΡΠ°Π½Π΅ΡΠΎ ΠΌΠΈ ΠΎΡΠ½Π΅Ρ Π° ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π΄Π²Π° ΠΌΠ΅ΡΠ΅ΡΠ° Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½Π° ΡΠ°Π±ΠΎΡΠ°.
ΠΠ°ΠΏΠΎΡΠ½Π°Ρ
Ρ ΠΎΠ±ΡΡΠΈΡΠ΅Π»Π½ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ»ΠΈΠΏΠΎΠ²Π΅ Π² YouTube Π·Π° ΡΠΎΠ²Π° ΠΊΠ°ΠΊ Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΠΌ 3D ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²
ΠΠΎΠ΄Π΅Π»ΠΈΡΠ°ΠΉΡΠ΅ ΠΊΠ»ΡΡΠΈΡΠ°ΡΠ°, Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΊΠΎΡΡΠ½ΠΈ Π»ΠΎΡΡΠΎΠ²Π΅, ΡΠ°ΠΊΠ° ΡΠ΅ Π°Π½ΠΈΠΌΠ°ΡΠΈΡΡΠ° Π΄Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π°. Π‘Π»Π΅Π΄ ΡΠ°ΠΊΠΈΠ²Π° ΡΡΠΎΡΠΈ ΡΠ°Π·Π±ΠΈΡΠ°ΡΠ΅ ΠΊΠ°ΠΊΠ²Π° ΠΎΠ³ΡΠΎΠΌΠ½Π° ΡΠ°Π±ΠΎΡΠ° Π²ΡΡΡΠ°Ρ ΡΡΠ·Π΄Π°ΡΠ΅Π»ΠΈΡΠ΅ Π½Π° Π°Π½ΠΈΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΠ»ΠΌΠΈ, ΡΠ°ΠΌΠΎ Π·Π° Π΄Π° ΡΡΠ·Π΄Π°Π΄Π°Ρ 30 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ Π²ΠΈΠ΄Π΅ΠΎ. ΠΠΎ 3D ΡΠΈΠ»ΠΌΠΈΡΠ΅ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°Ρ Ρ ΡΠ°ΡΠΎΠ²Π΅! Π ΡΠΎΠ³Π°Π²Π° ΠΈΠ·Π»ΠΈΠ·Π°ΠΌΠ΅ ΠΎΡ ΠΊΠΈΠ½Π°ΡΠ° ΠΈ ΠΊΠ°Π·Π²Π°ΠΌΠ΅ Π½Π΅ΡΠΎ ΠΊΠ°ΡΠΎ: βΠ’Π°, ΡΠΊΠ°ΠΏΠ°Π½ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΎΠ½Π΅Π½ ΡΠΈΠ»ΠΌ / ΡΠΈΠ»ΠΌ! ΠΠΎΠΆΠ΅Ρ Π° Π΄Π° ΡΠ΅ ΡΠΏΡΠ°Π²ΡΡ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅β¦β ΠΠ»ΡΠΏΠ°ΡΠΈ!
Π ΠΎΡΠ΅ Π½Π΅ΡΠΎ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ΡΠΎ Π² ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΠ°ΠΊΡΠΎ ΡΠ΅ ΠΎΠΊΠ°Π·Π°, Π½Π°ΠΉ-ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π° Π·Π° ΠΌΠ΅Π½ Π±Π΅ΡΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°ΡΠ° ΡΠ°ΡΡ. ΠΠΊΠΎ ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΡΡΠ΅Π½Π°ΡΠ° (Π²ΡΡΠ·ΠΊΠ° ΠΊΡΠΌ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°), ΡΠ΅ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡΠ΅, ΡΠ΅ ΠΊΠ°ΠΌΠ΅ΡΠ°ΡΠ° ΡΠ΅ Π²ΡΡΡΠΈ ΠΎΠΊΠΎΠ»ΠΎ Π³Π΅ΡΠΎΡ Π½Π° ΠΌΠΎΠΌΠΈΡΠ΅ΡΠΎ Π² ΡΡΠ΅ΡΠ°. ΠΠ° Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΠΌ ΡΠ°ΠΊΠΎΠ²Π° Π·Π°Π²ΡΡΡΠ°Π½Π΅ Π½Π° ΠΊΠ°ΠΌΠ΅ΡΠ°ΡΠ°, ΡΡΡΠ±Π²Π°ΡΠ΅ ΠΏΡΡΠ²ΠΎ Π΄Π° ΠΈΠ·ΡΠΈΡΠ»Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΈΡΠ΅ Π½Π° ΠΏΠΎΠ·ΠΈΡΠΈΡΡΠ° Π½Π° ΡΠΎΡΠΊΠ°ΡΠ° Π²ΡΡΡ Ρ ΠΊΡΡΠ³Π° (2D), Π° ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π²ΡΡΡ Ρ ΡΡΠ΅ΡΠ°ΡΠ° (3D). ΠΠ°ΠΉ-ΡΠΌΠ΅ΡΠ½ΠΎΡΠΎ Π΅, ΡΠ΅ ΠΌΡΠ°Π·Π΅Ρ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ°ΡΠ° Π² ΡΡΠΈΠ»ΠΈΡΠ΅ ΠΈ Ρ Π·Π½Π°Π΅Ρ Ρ ΠΌΠΈΠ½ΡΡ. ΠΡΡΠ°ΡΡΠΈ Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π·Π°ΡΠΎΡΠΎ Π² ΡΡΠΈΠ»ΠΈΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π½Π΅ Π²ΠΈ ΠΎΠ±ΡΡΠ½ΡΠ²Π°Ρ ΠΊΠ°ΠΊ, ΠΏΠΎ Π΄ΡΠ²ΠΎΠ»ΠΈΡΠ΅, ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° ΡΠ°Π·ΠΈ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ° Π² ΠΆΠΈΠ²ΠΎΡΠ°. ΠΠΎ ΠΊΠΎΠ³Π°ΡΠΎ ΡΠΈ ΠΎΠ±ΡΠ΅Π±Π΅Π½ ΠΎΡ ΡΠ²ΠΎΡΡΠ° ΡΠ΅Π», ΠΌΠ΅ΡΡΠ°, ΡΠΎΠ³Π°Π²Π° ΡΠΌΡΡ ΡΠ΅ ΠΈΠ·Π±ΠΈΡΡΡΡ, ΡΠ°Π·ΠΊΡΠΈΠ²Π°! Π Π·Π°ΠΏΠΎΡΠ²Π°ΡΠ΅ Π΄Π° Π²ΡΠ·ΠΏΡΠΈΠ΅ΠΌΠ°ΡΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΈΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΊΠ°ΡΠΎ Π²ΡΠ»Π½ΡΠ²Π°ΡΠΎ ΠΏΡΠΈΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. Π ΡΠΎΠ³Π°Π²Π° ΡΠΈ ΠΌΠΈΡΠ»ΠΈΡΠ΅: βΠ, Π·Π°ΡΠΎ *Π»ΡΠ±ΠΈΠΌΠΈΡΡ* ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΊΠ°ΠΆΠ΅ ΠΊΡΠ΄Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΎΠΏΡΠ°Ρ ΡΠ΅Π·ΠΈ ΡΠΎΡΠΌΡΠ»ΠΈ?β.
ΠΠ·ΡΠΈΡΠ»ΡΠ²Π°Π½Π΅ Π½Π° ΡΠΎΡΠΌΡΠ»ΠΈ Π·Π° ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΈΡΠ΅ Π½Π° ΡΠΎΡΠΊΠ° ΠΎΡ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡ ΠΈ ΡΡΠ΅ΡΠ° (ΠΎΡ ΠΌΠΎΡ Π±Π΅Π»Π΅ΠΆΠ½ΠΈΠΊ)
ΠΠ³ΡΠ° 1
- ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°: Windows (ΡΠ΅ΡΡΠ²Π°Π½ΠΎ Π½Π° Windows 7, 10)
- ΠΠ·ΠΈΠΊ: ΠΠΈΡΠ»Ρ, ΡΠ΅ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π½Π° ΡΠΈΡΡΠΎ Π‘
- ΠΠ²ΠΈΠ³Π°ΡΠ΅Π» Π½Π° ΠΈΠ³ΡΠ°ΡΠ°: Windows ΠΊΠΎΠ½Π·ΠΎΠ»Π°
- ΠΠ΄ΡΡ
Π½ΠΎΠ²Π΅Π½ΠΈΠ΅:
javidx9 - Π₯ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅:
GitHub
ΠΡΠΎΡΡΠ° ΠΈΠ³ΡΠ° ΡΡΡ Π·ΠΌΠΈΡ
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 ββββ, ΠΊΠΎΠΉΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ ΡΠ°Π·ΠΈ ΡΠΊΠΎΡΠΎΡΡ.
ΡΠΈΠΊΡΠ» Π½Π° ΠΈΠ³ΡΠ°ΡΠ°. ΠΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ Π½Π° Π·ΠΌΠΈΠΈ Π² Π±Π΅Π»Π΅ΠΆΠ½ΠΈΠΊ
ΠΠΊΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ½Π° ΠΊΠΎΠ½Π·ΠΎΠ»Π½Π° ΠΈΠ³ΡΠ°, ΡΠΎΠ³Π°Π²Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ Π½Π° Π΅ΠΊΡΠ°Π½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΎΠ±ΠΈΡΠ°ΠΉΠ½ΠΈΡ ΠΈΠ·Ρ ΠΎΠ΄Π΅Π½ ΠΏΠΎΡΠΎΠΊ '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
- ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°: Windows (ΡΠ΅ΡΡΠ²Π°Π½ΠΎ Π½Π° Windows 7, 10)
- ΠΠ·ΠΈΠΊ: C + +
- ΠΠ²ΠΈΠ³Π°ΡΠ΅Π» Π½Π° ΠΈΠ³ΡΠ°ΡΠ°: Windows ΠΊΠΎΠ½Π·ΠΎΠ»Π°
- ΠΠ΄ΡΡ
Π½ΠΎΠ²Π΅Π½ΠΈΠ΅: ΠΊΠ½ΠΈΠ³Π°
ΠΠ°ΡΠ°Π»ΠΎ Π½Π° C++ ΡΡΠ΅Π· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ³ΡΠΈ - Π₯ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅:
GitHub
ΠΠ³ΡΠ° ΠΡΠ΄ΠΈ ΡΠ°Π½ΠΊΠΎΠ²Π΅
ΠΡΠΏΠ΅ΡΠ°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ Π² ΠΊΠΎΠ½Π·ΠΎΠ»Π°ΡΠ° Π΅ ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π½Π°ΠΉ-ΠΏΡΠΎΡΡΠΎΡΠΎ Π½Π΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠ΅Π²ΡΡΠ½Π΅ΡΠ΅ Π² ΠΈΠ³ΡΠ°. ΠΠΎ ΡΠΎΠ³Π°Π²Π° ΡΠ΅ ΠΏΠΎΡΠ²ΡΠ²Π° Π΅Π΄ΠΈΠ½ ΠΏΡΠΎΠ±Π»Π΅ΠΌ: Π³Π΅ΡΠΎΠΈΡΠ΅ ΠΈΠΌΠ°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π²ΠΈΡΠΎΡΠΈΠ½ΠΈ ΠΈ ΡΠΈΡΠΈΠ½ΠΈ (Π²ΠΈΡΠΎΡΠΈΠ½Π°ΡΠ° Π΅ ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌΠ° ΠΎΡ ΡΠΈΡΠΈΠ½Π°ΡΠ°). Π’Π°ΠΊΠ° Π²ΡΠΈΡΠΊΠΎ ΡΠ΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Π½Π΅ΠΏΡΠΎΠΏΠΎΡΡΠΈΠΎΠ½Π°Π»Π½ΠΎ ΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π°Π΄ΠΎΠ»Ρ ΠΈΠ»ΠΈ Π½Π°Π³ΠΎΡΠ΅ ΡΠ΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ ΠΎΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π°Π»ΡΠ²ΠΎ ΠΈΠ»ΠΈ Π½Π°Π΄ΡΡΠ½ΠΎ. Π’ΠΎΠ·ΠΈ Π΅ΡΠ΅ΠΊΡ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΠΌ Π² "ΠΠΌΠΈΡ" (ΠΠ³ΡΠ° 1). "Π’Π°Π½ΠΊΠΎΠ²Π΅ΡΠ΅" (ΠΠ³ΡΠ° 2) Π½ΡΠΌΠ°Ρ ΡΠ°ΠΊΡΠ² Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠΊ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΈΠ·Ρ ΠΎΠ΄ΡΡ ΡΠ°ΠΌ Π΅ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½ ΡΡΠ΅Π· Π±ΠΎΡΠ΄ΠΈΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΈΠΊΡΠ΅Π»ΠΈΡΠ΅ Π½Π° Π΅ΠΊΡΠ°Π½Π° Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ²Π΅ΡΠΎΠ²Π΅. ΠΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠ°ΠΆΠ΅, ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Ρ ΡΠ΅Π½Π΄Π΅Ρ. ΠΡΡΠ½ΠΎ, ΡΠΎΠ²Π° Π²Π΅ΡΠ΅ Π΅ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-ΡΠ»ΠΎΠΆΠ½ΠΎ, ΠΌΠ°ΠΊΠ°Ρ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ.
ΠΠ° ΡΠ°Π·ΠΈ ΠΈΠ³ΡΠ° ΡΠ΅ Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π΄Π° ΠΎΠΏΠΈΡΠ° ΠΌΠΎΡΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠΈΠΊΡΠ΅Π»ΠΈ Π½Π° Π΅ΠΊΡΠ°Π½Π°. ΠΠΈΡΠ»Ρ, ΡΠ΅ ΡΠΎΠ²Π° Π΅ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΡΠ°ΡΡ ΠΎΡ ΠΈΠ³ΡΠ°ΡΠ°. Π Π²ΡΠΈΡΠΊΠΎ ΠΎΡΡΠ°Π½Π°Π»ΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΌΠΈΡΠ»ΠΈΡΠ΅ ΡΠ°ΠΌΠΈ.
Π ΡΠ°ΠΊΠ°, ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈΠΆΠ΄Π°ΡΠ΅ Π½Π° Π΅ΠΊΡΠ°Π½Π°, Π΅ ΠΏΡΠΎΡΡΠΎ Π½Π°Π±ΠΎΡ ΠΎΡ Π΄Π²ΠΈΠΆΠ΅ΡΠΈ ΡΠ΅ ΡΠ²Π΅ΡΠ½ΠΈ ΠΏΡΠ°Π²ΠΎΡΠ³ΡΠ»Π½ΠΈΡΠΈ.
ΠΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΠΏΡΠ°Π²ΠΎΡΠ³ΡΠ»Π½ΠΈΠΊ
ΠΡΠ΅ΠΊΠΈ ΠΏΡΠ°Π²ΠΎΡΠ³ΡΠ»Π½ΠΈΠΊ Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½ ΠΎΡ ΠΌΠ°ΡΡΠΈΡΠ°, ΠΏΡΠ»Π½Π° Ρ ΡΠΈΡΠ»Π°. ΠΠ΅ΠΆΠ΄Ρ Π΄ΡΡΠ³ΠΎΡΠΎ, ΠΌΠΎΠ³Π° Π΄Π° ΠΏΠΎΠ΄ΡΠ΅ΡΡΠ°Ρ Π΅Π΄ΠΈΠ½ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½ Π½ΡΠ°Π½Ρ - Π²ΡΠΈΡΠΊΠΈ ΠΌΠ°ΡΡΠΈΡΠΈ Π² ΠΈΠ³ΡΠ°ΡΠ° ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½ΠΈ ΠΊΠ°ΡΠΎ Π΅Π΄Π½ΠΎΠΌΠ΅ΡΠ΅Π½ ΠΌΠ°ΡΠΈΠ². ΠΠ΅ Π΄Π²ΡΠΈΠ·ΠΌΠ΅ΡΠ½ΠΎ, Π° Π΅Π΄Π½ΠΎΠΈΠ·ΠΌΠ΅ΡΠ½ΠΎ! Π‘ Π΅Π΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΈΡΠ΅ ΠΌΠ°ΡΠΈΠ²ΠΈ ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π»Π΅ΡΠ½ΠΎ ΠΈ Π±ΡΡΠ·ΠΎ.
ΠΡΠΈΠΌΠ΅Ρ Π·Π° ΠΌΠ°ΡΡΠΈΡΠ° Π½Π° ΠΈΠ³ΡΠΎΠ²ΠΈ ΡΠ°Π½ΠΊ
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΠΌΠ°ΡΡΠΈΡΠ°ΡΠ° Π½Π° ΠΈΠ³ΡΠ°Π»Π΅Π½ ΡΠ°Π½ΠΊ Ρ Π΅Π΄Π½ΠΎΠΌΠ΅ΡΠ΅Π½ ΠΌΠ°ΡΠΈΠ²
ΠΠΎ-ΠΈΠ»ΡΡΡΡΠ°ΡΠΈΠ²Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΠΌΠ°ΡΡΠΈΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ ΡΡΠ΅Π· Π΅Π΄Π½ΠΎΠΌΠ΅ΡΠ΅Π½ ΠΌΠ°ΡΠΈΠ²
ΠΠΎ Π΄ΠΎΡΡΡΠΏΡΡ Π΄ΠΎ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ΅ Π½Π° ΠΌΠ°ΡΠΈΠ²Π° ΡΡΠ°Π²Π° Π² Π΄Π²ΠΎΠ΅Π½ ΡΠΈΠΊΡΠ», ΡΡΠΊΠ°Ρ Π½Π΅ Π΅ Π΅Π΄Π½ΠΎΠΌΠ΅ΡΠ΅Π½, Π° Π΄Π²ΡΠΌΠ΅ΡΠ΅Π½ ΠΌΠ°ΡΠΈΠ². Π’ΠΎΠ²Π° ΡΠ΅ ΠΏΡΠ°Π²ΠΈ, Π·Π°ΡΠΎΡΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ ΡΠ°Π±ΠΎΡΠΈΠΌ Ρ ΠΌΠ°ΡΡΠΈΡΠΈ.
ΠΠ±Ρ
ΠΎΠΆΠ΄Π°Π½Π΅ Π½Π° Π΅Π΄Π½ΠΎΠΌΠ΅ΡΠ΅Π½ ΠΌΠ°ΡΠΈΠ² Π² Π΄Π²ΠΎΠ΅Π½ ΡΠΈΠΊΡΠ». 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 Π΅ ΡΡΠΌΠ½ΠΎ ΡΠΈΠ²ΠΎ ΠΈ Ρ.Π½. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌ, ΡΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ ΠΌΠ°ΡΡΠΈΡΠ° Π½Π° ΠΈΠ³ΡΠ°Π»Π½ΠΎΡΠΎ ΠΏΠΎΠ»Π΅, ΠΊΡΠ΄Π΅ΡΠΎ Π²ΡΡΠΊΠΎ ΡΠΈΡΠ»ΠΎ Π΅ Π½ΡΠΊΠ°ΠΊΡΠ² ΡΠ²ΡΡ.
Π ΡΠ°ΠΊΠ°, ΠΈΠΌΠ°ΠΌΠ΅ ΡΠΈΡΡΠΎΠ²Π° ΠΌΠ°ΡΡΠΈΡΠ° Π½Π° ΡΡΠ»ΠΎΡΠΎ ΠΈΠ³ΡΠ°Π»Π½ΠΎ ΠΏΠΎΠ»Π΅ ΠΎΡ Π΅Π΄Π½Π° ΡΡΡΠ°Π½Π° ΠΈ ΡΠ°ΡΡΠ΅ΡΠ½ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΎΡ Π΄ΡΡΠ³Π°. ΠΠ°ΡΠ΅Π³Π° ΡΠ°ΡΡΠ΅ΡΠ½Π°ΡΠ° ΠΊΠ°ΡΡΠ° Π΅ "ΠΏΡΠ°Π·Π½Π°" - Π²ΡΠ΅ ΠΎΡΠ΅ Π½ΡΠΌΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΏΠΈΠΊΡΠ΅Π»ΠΈΡΠ΅ Π½Π° ΠΆΠ΅Π»Π°Π½ΠΈΡ ΡΠ²ΡΡ. Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π°ΡΠ° ΡΡΡΠΏΠΊΠ° ΡΠ΅ Π±ΡΠ΄Π΅ Π·Π°ΠΏΡΠ»Π²Π°Π½Π΅ Π½Π° ΡΠ°ΡΡΠ΅ΡΠ½ΠΎΡΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π²ΡΠ΅ΠΊΠΈ ΠΏΠΈΠΊΡΠ΅Π» Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΡΠΈΡΡΠΎΠ²Π°ΡΠ° ΠΌΠ°ΡΡΠΈΡΠ° Π½Π° ΠΈΠ³ΡΠ°Π»Π½ΠΎΡΠΎ ΠΏΠΎΠ»Π΅. ΠΠ»ΡΡΡΡΠ°ΡΠΈΠ²Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΡΠ°ΠΊΠ°Π²Π° ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡ Π΅ Π½Π° ΡΠ½ΠΈΠΌΠΊΠ°ΡΠ° ΠΏΠΎ-Π΄ΠΎΠ»Ρ.
ΠΡΠΈΠΌΠ΅Ρ Π·Π° ΠΏΠΎΠΏΡΠ»Π²Π°Π½Π΅ Π½Π° ΡΠ°ΡΡΠ΅ΡΠ½ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ (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++. Π’ΠΎΠΉ Π΅ ΠΌΠ°Π»ΡΠΊ, ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½ ΠΈ Π΄ΠΎΠ±ΡΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½.
Π Π°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·ΠΈ ΠΈΠ³ΡΠ° ΠΎΡΠ½Π΅ ΠΎΠΊΠΎΠ»ΠΎ ΡΠ΅ΡΡ ΠΌΠ΅ΡΠ΅ΡΠ°. ΠΠΈΡΠ΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΎΠ±ΡΠ΄ ΠΈ Π·Π°ΠΊΡΡΠΊΠΈ Π½Π° ΡΠ°Π±ΠΎΡΠ°. Π’ΠΎΠΉ ΡΠ΅Π΄Π΅ΡΠ΅ Π² ΠΊΡΡ Π½ΡΡΠ° Π½Π° ΠΎΡΠΈΡΠ°, ΡΡΠΏΡΠ΅ΡΠ΅ Ρ ΡΠ°Π½Π° ΠΈ ΠΏΠΈΡΠ΅ΡΠ΅ ΠΊΠΎΠ΄. ΠΠ»ΠΈ Ρ Π΄ΠΎΠΌΠ° Π·Π° Π²Π΅ΡΠ΅ΡΡ. Π’Π°ΠΊΠ° ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡ ΡΠ°ΠΊΠΈΠ²Π° "ΠΊΡΡ Π½Π΅Π½ΡΠΊΠΈ Π²ΠΎΠΉΠ½ΠΈ". ΠΠ°ΠΊΡΠΎ Π²ΠΈΠ½Π°Π³ΠΈ, Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠ΅ΡΡΠ°Π΄ΠΊΠ° ΠΈ Π²ΡΠΈΡΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΡΠ°Π»Π½ΠΈ Π½Π΅ΡΠ° ΡΠ΅ ΡΠΎΠ΄ΠΈΡ Π° Π² Π½Π΅Ρ.
Π ΠΊΡΠ°Ρ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°ΡΠ° ΡΠ°ΡΡ ΡΠ΅ ΠΈΠ·Π²Π°Π΄Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠΊΠ°Π½ΠΈΡΠ°Π½ΠΈΡ ΠΎΡ Π±Π΅Π»Π΅ΠΆΠ½ΠΈΠΊΠ° ΡΠΈ. ΠΠ° ΠΏΠΎΠΊΠ°ΠΆΠ° ΠΊΠ°ΠΊΠ²ΠΎ ΡΠΎΡΠ½ΠΎ ΡΡΠΌ Π·Π°ΠΏΠΈΡΠ²Π°Π», ΡΠΈΡΡΠ²Π°Π», Π±ΡΠΎΠΈΠ», ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π»...
ΠΠΈΠ·Π°ΠΉΠ½ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ°Π½ΠΊ. Π ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΡΠΎ ΠΊΠΎΠ»ΠΊΠΎ ΠΏΠΈΠΊΡΠ΅Π»Π° ΡΡΡΠ±Π²Π° Π΄Π° Π·Π°Π΅ΠΌΠ° Π²ΡΠ΅ΠΊΠΈ ΡΠ΅Π·Π΅ΡΠ²ΠΎΠ°Ρ Π½Π° Π΅ΠΊΡΠ°Π½Π°
ΠΠ·ΡΠΈΡΠ»ΡΠ²Π°Π½Π΅ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ° ΠΈ ΡΠΎΡΠΌΡΠ»ΠΈΡΠ΅ Π·Π° Π²ΡΡΡΠ΅Π½Π΅ Π½Π° ΡΠ΅Π·Π΅ΡΠ²ΠΎΠ°ΡΠ° ΠΎΠΊΠΎΠ»ΠΎ ΠΎΡΡΠ° ΠΌΡ
ΠΠΈΠ°Π³ΡΠ°ΠΌΠ° Π½Π° ΠΌΠΎΡΡΠ° ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡ (Π½Π°ΠΉ-Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΡΠ°Π·ΠΈ Ρ ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°). ΠΠΎΠ»Π΅ΠΊΡΠΈΡΡΠ° Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½Π° ΠΊΠ°ΡΠΎ ΡΠ²ΡΡΠ·Π°Π½ ΡΠΏΠΈΡΡΠΊ
Π ΡΠΎΠ²Π° ΡΠ° Π½Π°ΠΏΡΠ°Π·Π½ΠΈ ΠΎΠΏΠΈΡΠΈ Π΄Π° ΡΠ΅ Π²ΠΌΡΠΊΠ½Π΅ ΠΈΠ·ΠΊΡΡΡΠ²Π΅Π½ ΠΈΠ½ΡΠ΅Π»Π΅ΠΊΡ Π² ΠΈΠ³ΡΠ°ΡΠ°
ΡΠ΅ΠΎΡΠΈΡ
βΠΠΎΡΠΈ Π΅Π΄Π½ΠΎ ΠΏΡΡΡΠ²Π°Π½Π΅ ΠΎΡ Ρ ΠΈΠ»ΡΠ΄Π° ΠΌΠΈΠ»ΠΈ Π·Π°ΠΏΠΎΡΠ²Π° Ρ ΠΏΡΡΠ²Π°ΡΠ° ΡΡΡΠΏΠΊΠ°β (Π΄ΡΠ΅Π²Π½Π° ΠΊΠΈΡΠ°ΠΉΡΠΊΠ° ΠΌΡΠ΄ΡΠΎΡΡ)
ΠΠ° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΠΌ ΠΎΡ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° ΠΊΡΠΌ ΡΠ΅ΠΎΡΠΈΡ! ΠΠ°ΠΊ Π½Π°ΠΌΠΈΡΠ°ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅ Π·Π° Π²Π°ΡΠ΅ΡΠΎ Ρ ΠΎΠ±ΠΈ?
- ΠΠΏΡΠ΅Π΄Π΅Π»Π΅ΡΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ Π½Π°ΠΈΡΡΠΈΠ½Π° ΠΈΡΠΊΠ°ΡΠ΅ (ΡΠ²ΠΈ, ΡΠΎΠ²Π° Π΅ Π½Π°ΠΉ-ΡΡΡΠ΄Π½ΠΎΡΠΎ).
- ΠΠΎΡΡΠ°Π²Π΅ΡΠ΅ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΈ.
- ΠΠΎΠΆΠ΅ΡΡΠ²Π°ΠΉΡΠ΅ Π²ΡΠΈΡΠΊΠΎ "ΠΈΠ·Π»ΠΈΡΠ½ΠΎ" Π² ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΏΠΎ-Π²ΠΈΡΠΎΠΊΠΈΡΠ΅ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΈ.
- ΠΠ²ΠΈΠΆΠ΅ΡΠ΅ ΡΠ΅ ΠΊΡΠΌ ΡΠ΅Π»ΠΈΡΠ΅ ΡΠΈ Π²ΡΠ΅ΠΊΠΈ Π΄Π΅Π½.
- ΠΠ΅ ΠΎΡΠ°ΠΊΠ²Π°ΠΉΡΠ΅, ΡΠ΅ ΡΠ΅ ΠΈΠΌΠ° Π΄Π²Π° ΠΈΠ»ΠΈ ΡΡΠΈ ΡΠ°ΡΠ° ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° Ρ ΠΎΠ±ΠΈ.
ΠΡ Π΅Π΄Π½Π° ΡΡΡΠ°Π½Π°, ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ ΠΈΡΠΊΠ°ΡΠ΅ ΠΈ Π΄Π° ΠΏΠΎΠ΄ΡΠ΅Π΄ΠΈΡΠ΅ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΈΡΠ΅ ΡΠΈ. ΠΡ Π΄ΡΡΠ³Π° ΡΡΡΠ°Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΎΡΠΊΠ°ΠΆΠ°Ρ ΠΎΡ Π½ΡΠΊΠΎΠΈ ΡΠ»ΡΡΠ°ΠΈ/ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π² ΠΏΠΎΠ»Π·Π° Π½Π° ΡΠ΅Π·ΠΈ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΈ. Π‘ Π΄ΡΡΠ³ΠΈ Π΄ΡΠΌΠΈ, ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠΎΠΆΠ΅ΡΡΠ²Π°ΡΠ΅ Π²ΡΠΈΡΠΊΠΎ "ΠΈΠ·Π»ΠΈΡΠ½ΠΎ". Π§ΡΡ Π½ΡΠΊΡΠ΄Π΅, ΡΠ΅ Π² ΠΆΠΈΠ²ΠΎΡΠ° ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠΌΠ° ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ Π΄Π΅ΠΉΠ½ΠΎΡΡΠΈ. Π’ΠΎΠ³Π°Π²Π° ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ ΡΠΏΡΠ°Π²ΠΈΡΠ΅ Ρ ΡΡΡ ΠΏΠΎ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠΈΡ Π½Π°ΡΠΈΠ½. Π Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ/ΠΏΠΎΡΠΎΠΊΠΈ ΡΠ΅ Π·Π°ΠΏΠΎΡΠ½Π°Ρ Π΄Π° ΠΏΡΠ΅ΡΠΎΠ²Π°ΡΠ²Π°Ρ Π±Π°Π½Π°Π»Π½ΠΎ. ΠΠΎ Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° Π²Π΅ΡΠΎΡΡΠ½ΠΎ Π΅ ΡΡΠ±Π΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»Π½ΠΎ.
ΠΠΌΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π·Π»Π°ΡΠ½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ: Π½ΠΈΠΊΠΎΠ³Π° Π½ΡΠΌΠ°ΠΉΡΠ΅ 0% Π΄Π΅Π½! ΠΠ°ΡΡΠΈΡ Π·Π° ΡΠΎΠ²Π° Π² ΡΡΠ°ΡΠΈΡ ΠΎΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ. ΠΠΊΠΎ ΡΠ°Π±ΠΎΡΠΈΡΠ΅ ΠΏΠΎ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΏΡΠ°Π²Π΅ΡΠ΅ Π½Π΅ΡΠΎ ΠΏΠΎ Π²ΡΠΏΡΠΎΡΠ° Π²ΡΠ΅ΠΊΠΈ Π΄Π΅Π½. Π Π½ΡΠΌΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΊΠΎ ΠΏΠ΅ΡΠ΅Π»ΠΈΡΠ΅. ΠΠ°ΠΏΠΈΡΠ΅ΡΠ΅ Π΅Π΄Π½Π° Π΄ΡΠΌΠ° ΠΈΠ»ΠΈ Π΅Π΄ΠΈΠ½ ΡΠ΅Π΄ ΠΊΠΎΠ΄, ΠΈΠ·Π³Π»Π΅Π΄Π°ΠΉΡΠ΅ Π΅Π΄ΠΈΠ½ ΠΎΠ±ΡΡΠΈΡΠ΅Π»Π΅Π½ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ»ΠΈΠΏ ΠΈΠ»ΠΈ Π·Π°Π±ΠΈΠΉΡΠ΅ Π΅Π΄ΠΈΠ½ ΠΏΠΈΡΠΎΠ½ Π² Π΄ΡΡΠΊΠ°ΡΠ° β ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΏΡΠ°Π²Π΅ΡΠ΅ Π½Π΅ΡΠΎ. ΠΠ°ΠΉ-ΡΡΡΠ΄Π½Π°ΡΠ° ΡΠ°ΡΡ Π΅ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΡΠ΅. Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ Π·Π°ΠΏΠΎΡΠ½Π΅ΡΠ΅, Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅, ΠΎΡΠΊΠΎΠ»ΠΊΠΎΡΠΎ ΡΡΠ΅ ΠΈΡΠΊΠ°Π»ΠΈ. Π’Π°ΠΊΠ° ΡΠ΅ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠ΅ ΡΠ΅ ΠΏΡΠΈΠ΄Π²ΠΈΠΆΠ²Π°ΡΠ΅ ΠΊΡΠΌ ΡΠ΅Π»ΡΠ° ΡΠΈ ΠΈ, ΠΏΠΎΠ²ΡΡΠ²Π°ΠΉΡΠ΅ ΠΌΠΈ, ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡΡΠ·ΠΎ. Π ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΡΠΏΠΈΡΠ°ΡΠΊΠ° Π·Π° Π²ΡΠΈΡΠΊΠΈ Π½Π΅ΡΠ° Π΅ ΠΎΡΠ»Π°Π³Π°Π½Π΅ΡΠΎ.
Π Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΡΠ΅ Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠΎΠ΄ΡΠ΅Π½ΡΠ²Π°ΡΠ΅ ΠΈ ΠΏΡΠ΅Π½Π΅Π±ΡΠ΅Π³Π²Π°ΡΠ΅ Π±Π΅Π·ΠΏΠ»Π°ΡΠ½ΠΈΡΠ΅ "ΡΡΡΡΠ³ΠΎΡΠΈΠ½ΠΈ" Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π² 5, 10, 15 ΠΌΠΈΠ½ΡΡΠΈ, ΠΈΠ·ΡΠ°ΠΊΠ°ΠΉΡΠ΅ Π΅Π΄Π½ΠΈ Π³ΠΎΠ»Π΅ΠΌΠΈ "Π΄ΡΡΠ²Π½ΠΈΡΠΈ" Ρ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΡ ΡΠ°Ρ-Π΄Π²Π°. Π‘ΡΠΎΠΈΡ Π»ΠΈ Π½Π° ΠΎΠΏΠ°ΡΠΊΠ°? ΠΠΎΠΌΠΈΡΠ»Π΅ΡΠ΅ Π·Π° Π½Π΅ΡΠΎ Π·Π° Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΠ°ΡΠ²Π°Ρ Π»ΠΈ ΡΠ΅ ΠΏΠΎ Π΅ΡΠΊΠ°Π»Π°ΡΠΎΡΠ°? ΠΠ°ΠΏΠΈΡΠ΅ΡΠ΅ Π½Π΅ΡΠΎ Π² ΡΠ΅ΡΡΠ°Π΄ΠΊΠ°. Π―Π΄Π΅ΡΠ΅ Π»ΠΈ Π² Π°Π²ΡΠΎΠ±ΡΡΠ°? ΠΠΎΠ±ΡΠ΅, ΠΏΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ Π½ΡΠΊΠΎΡ ΡΡΠ°ΡΠΈΡ. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ Π²ΡΡΠΊΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ. Π‘ΠΏΡΠ΅ΡΠ΅ Π΄Π° Π³Π»Π΅Π΄Π°ΡΠ΅ ΠΊΠΎΡΠΊΠΈ ΠΈ ΠΊΡΡΠ΅ΡΠ° Π² YouTube! ΠΠ΅ ΡΠΈ Π±ΡΡΠΊΠ°ΠΉΡΠ΅ Π² ΠΌΠΎΠ·ΡΠΊΠ°!
Π ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΎΡΠΎ. ΠΠΊΠΎ, ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΏΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ, Π²ΠΈ Ρ
Π°ΡΠ΅ΡΠ° ΠΈΠ΄Π΅ΡΡΠ° Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΈΠ³ΡΠΈ Π±Π΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΠΈ Π·Π° ΠΈΠ³ΡΠΈ, ΡΠΎΠ³Π°Π²Π° Π·Π°ΠΏΠΎΠΌΠ½Π΅ΡΠ΅ ΠΈΠΌΠ΅ΡΠΎ ΠΠ΅ΠΉΡΠΈ ΠΡΡΠ°ΡΠΎΡΠΈ. Π’ΠΎΠ·ΠΈ ΡΠΎΠ²Π΅ΠΊ ΠΈΠΌΠ°
ΠΠ΅ΠΉΡΠΈ ΡΡΡΠΎ ΠΎΠ±ΡΡΠ½ΡΠ²Π°, ΡΠ΅ ΠΊΠ°ΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΈΡΠ΅ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π» Π·Π° ΠΈΠ³ΡΠΈ, Π²ΠΈΠ΅ ΡΠ΅ ΠΈΠΌΠ°ΡΠ΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠΎ ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π·Π° Π²ΡΠΈΡΠΊΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΠΈ. Π ΡΠ²Π΅ΡΠ° Π½Π° ΡΠ°ΠΌΠΊΠΈΡΠ΅, ΠΊΡΠ΄Π΅ΡΠΎ Π²ΡΠ΅ΠΊΠΈ ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π° Π΄Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°, ΡΠ΅ Π½Π°ΡΡΠΈΡΠ΅ ΠΊΠ°ΠΊ Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅, Π° Π½Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅. Π Π°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΡΠ°ΠΌΠ°ΡΠ° ΠΏΡΠΈΡΠΎΠ΄Π° Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠΈΡΠ΅. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΡΠ΅ ΡΡΠ°Π½Π΅ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-ΠΈΠ½ΡΠ΅Π»ΠΈΠ³Π΅Π½ΡΠ΅Π½ ΠΈ Π·ΡΡΠ» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΡ - ΠΏΡΠΎΡΠ΅ΡΠΈΠΎΠ½Π°Π»ΠΈΡΡ.
Π£ΡΠΏΠ΅Ρ ΠΏΠΎ ΠΈΠ·Π±ΡΠ°Π½ΠΈΡ ΠΏΡΡ! Π Π½Π΅ΠΊΠ° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΡΠ²Π΅ΡΠ° ΠΏΠΎ-ΠΏΡΠΎΡΠ΅ΡΠΈΠΎΠ½Π°Π»Π΅Π½.
ΠΠ²ΡΠΎΡ: ΠΡΠ°Π½ΠΊΠΈΠ½ ΠΠ½Π΄ΡΠ΅ΠΉ , DevOps
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com