Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Β«ΠΠ³ΡΠ°Β» ΠΠΌΠ΅ΠΉΠΊΠ°
Π¦Π΅Π»ΡΡ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΡΠ° ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π·Π°Π΄Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΠ‘ Microsoft Windows, Π² ΡΡΠ΅Π΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Microsoft Visual C++, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π°Π²ΡΠΊΠ° ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΡΡΠ½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΊΠΈ ΠΈ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌΠΈ, ΠΏΡΠΈΠ½ΡΡΡΠΌΠΈ Π½Π° ΡΠ°ΠΊΡΠ»ΡΡΠ΅ΡΠ΅ «ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Β«ΠΠ³ΡΠ°Β» ΠΠΌΠ΅ΠΉΠΊΠ° (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΡΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ
«Π‘ΠΈΠ±ΠΈΡΡΠΊΠ°Ρ Π³ΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½Π°Ρ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎ-Π΄ΠΎΡΠΎΠΆΠ½Π°Ρ Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΡ
(Π‘ΠΈΠ±ΠΠΠ)"
Π€Π°ΠΊΡΠ»ΡΡΠ΅Ρ ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΠ°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½Π°Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΠ°ΡΠ΅Π΄ΡΠ° ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½Π°Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΠΎΡΡΠ½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΠΊΠ° ΠΊ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΠΏΠΎ Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½Π΅ «Π―Π·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ»
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ «Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ «ΠΠ³ΡΠ° «ΠΠΌΠ΅ΠΉΠΊΠ°»
ΠΡΠΏΠΎΠ»Π½ΠΈΠ»: ΡΡΡΠ΄Π΅Π½Ρ Π³Ρ. ΠΠΠ±-13Π1
Π©Π΅ΠΏΠΎΠ² ΠΠ»Π΅Π³ ΠΠ°ΠΊΡΠΈΠΌΠΎΠ²ΠΈΡ ΠΡΠΎΠ²Π΅ΡΠΈΠ» ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»Ρ Π’ΠΎΠ»ΠΊΠ°ΡΠ΅Π²Π° Π.Π.
ΠΠΌΡΠΊ 2014
1. Π‘ΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Microsoft Visual C++
1.1 ΠΡΠ½ΠΎΠ²Ρ ΡΠ·ΡΠΊΠ° C++
1.2 ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² Microsoft Visual C++
2. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
2.1 ΠΡΠ°Π²ΠΈΠ»Π° ΠΈΠ³ΡΡ
2.2 ΠΠ»ΠΎΠΊ-ΡΡ Π΅ΠΌΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
2.2 ΠΠ΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π ΠΠΈΡΡΠΈΠ½Π³ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
Π¦Π΅Π»ΡΡ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΡΠ° ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π·Π°Π΄Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΠ‘ Microsoft Windows, Π² ΡΡΠ΅Π΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Microsoft Visual C++, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π°Π²ΡΠΊΠ° ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΡΡΠ½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΊΠΈ ΠΈ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌΠΈ, ΠΏΡΠΈΠ½ΡΡΡΠΌΠΈ Π½Π° ΡΠ°ΠΊΡΠ»ΡΡΠ΅ΡΠ΅ «ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ».
ΠΠ°Π΄Π°ΡΠ°ΠΌΠΈ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠ²Π»ΡΡΡΡΡ: 1) ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π·Π°Π΄Π°Π½ΠΈΠ΅ΠΌ; 2) ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΠ½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΊΠΈ
Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌΠΈ.
Π ΠΏΠ΅ΡΠ²ΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΏΠΎΡΡΠ½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΊΠΈ ΠΊ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊΡΠ°ΡΠΊΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Microsoft Visual C++, ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Visual C++ ΠΈ Π±Π°Π·ΠΎΠ²ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ.
ΠΠΎ Π²ΡΠΎΡΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊΡΠ°ΡΠΊΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π±Π»ΠΎΠΊ-ΡΡ Π΅ΠΌΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠ΅Π½Ρ ΠΈΠ·ΡΡΠ΅Π½Π½ΡΡ Π²ΠΎΠΏΡΠΎΡΠΎΠ² ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ.
Π ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ½Π΅ΡΠ΅Π½ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΌΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠΈ.
1. Π‘ΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Microsoft Visual C++
Microsoft Visual C++ (MSVC) — ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΠ·ΡΠΊΠ΅ C++, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½Π°Ρ ΡΠΈΡΠΌΠΎΠΉ Microsoft ΠΈ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΠ°Ρ Π»ΠΈΠ±ΠΎ ΠΊΠ°ΠΊ ΡΠ°ΡΡΡ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ° Microsoft Visual Studio, Π»ΠΈΠ±ΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π² Π²ΠΈΠ΄Π΅ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ° Visual C++ Express Edition.
1.1 ΠΡΠ½ΠΎΠ²Ρ ΡΠ·ΡΠΊΠ° Π‘++
C++ — ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌΡΠΉ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΊΠΈΠ΅ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΎΠ±ΠΎΠ±ΡΡΠ½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΡΡΡ, ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡ Π΄Π°Π½Π½ΡΡ , ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² (ΠΊΠ»Π°ΡΡΠΎΠ²) ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π²ΠΊΠ»ΡΡΠ°Π΅Ρ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅, ΠΎΠ±ΡΠ΅ΡΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ. C++ ΡΠΎΡΠ΅ΡΠ°Π΅Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΊΠ°ΠΊ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ , ΡΠ°ΠΊ ΠΈ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΡΠ·ΡΠΊΠΎΠ². Π ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ Ρ Π΅Π³ΠΎ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΈΠΊΠΎΠΌ — ΡΠ·ΡΠΊΠΎΠΌ C, — Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΄Π΅Π»Π΅Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΈ ΠΎΠ±ΠΎΠ±ΡΡΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ° visual
1.2 ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² Microsoft Visual C++
Π ΠΈΡΡΠ½ΠΎΠΊ 1.1 — ΠΠ»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Microsoft Visual Studio
Π ΠΈΡΡΠ½ΠΎΠΊ 1.2 — ΠΠΊΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π ΠΈΡΡΠ½ΠΎΠΊ 1.3 — ΠΠΊΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
2. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²Π΅ΡΠ½ΡΡΡ ΠΈΠ»ΠΈ Π·Π°ΠΊΡΡΡΡ.
Π ΡΠ°Π±Π»ΠΈΡΠ΅ 2.1 ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π² ΡΠ°Π±Π»ΠΈΡΠ΅ 2.2 — ΡΡΠ½ΠΊΡΠΈΠΈ.
Π’Π°Π±Π»ΠΈΡΠ° 2.1 — ΠΠ»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ | |
main_color[] | char | ΡΠ°Π±Π»ΠΎΠ½ Π΄Π»Ρ ΡΠ²Π΅ΡΠ° | |
size | int | ΡΠ°Π·ΠΌΠ΅Ρ Π·ΠΌΠ΅ΠΉΠΊΠΈ | |
X, Y | int | Π² ΠΊΠ°ΠΊΡΡ ΡΡΠΎΡΠΎΠ½Ρ Π΄Π²ΠΈΠΆΠ΅ΡΡΡ Π·ΠΌΠ΅ΠΉΠΊΠ° | |
coordinates_x[1000], coordinates_y[1000] | int | ΠΌΠ°ΡΡΠΈΠ²Ρ, Ρ ΡΠ°Π½ΡΡΠΈΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠ°ΡΡΠ΅ΠΉ ΡΠ΅Π»Π° Π·ΠΌΠ΅ΠΉΠΊΠΈ | |
food_x, food_y | int | ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π΅Π΄Ρ | |
symbol | char | Ρ ΡΠ°Π½ΠΈΡ ASCII ΠΊΠΎΠ΄ Π½Π°ΠΆΠ°ΡΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΡΠΈ | |
Π[1000][1000] | char | ΡΠ°Π±Π»ΠΈΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π²ΡΡ ΠΈΠ³ΡΠ° | |
N | const int | Π²ΡΡΠΎΡΠ° ΡΠ°Π±Π»ΠΈΡΡ | |
M | const int | ΡΠΈΡΠΈΠ½Π° ΡΠ°Π±Π»ΠΈΡΡ | |
TIME | const int | Π²ΡΠ΅ΠΌΡ Π·Π° ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·ΠΌΠ΅ΠΉΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π½Π° ΠΎΠ΄Π½Ρ ΠΊΠ»Π΅ΡΠΊΡ | |
Π’Π°Π±Π»ΠΈΡΠ° 2.2 — ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ | |
change_color | void | ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ²Π΅ΡΠ° ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ | |
change_direction | void | ΡΡΠ½ΠΊΡΠΈΡ, ΡΡΠΈΡΡΠ²Π°ΡΡΠ°Ρ Π½Π°ΠΆΠ°ΡΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ | |
show_table | void | ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ°Π±Π»ΠΈΡΡ | |
clear_snake_on_table | void | ΠΎΡΠΈΡΠ°Π΅ΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ, Π² ΠΊΠΎΡΠΎΡΡΡ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π»Π°ΡΡ Π·ΠΌΠ΅ΠΉΠΊΠ° | |
show_snake_on_table | void | ΠΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π·ΠΌΠ΅ΠΉΠΊΠΈ | |
game_over | bool | ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, ΡΡΠ΅Π»Π° Π»ΠΈ Π·ΠΌΠ΅ΠΉΠΊΠ° ΡΠ°ΠΌΡ ΡΠ΅Π±Ρ | |
check_coordinates | void | ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, Π½Π΅ Π²ΡΡΠ»Π° Π»ΠΈ Π·ΠΌΠ΅ΠΉΠΊΠ° Π·Π° ΠΏΠΎΠ»Π΅, Π΅ΡΠ»ΠΈ Π΄Π° ΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ Π΅Π΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ | |
next_step | void | ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π·ΠΌΠ΅ΠΉΠΊΠΈ | |
food_check | bool | ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ Π΅Π΄Ρ Π½Π° ΠΊΠ°ΡΡΠ΅ | |
place_food | void | ΡΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π΅Π΄Ρ Π½Π° ΠΊΠ°ΡΡΡ | |
standart_settings | void | Π½Π°ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ | |
main | int | ΠΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΉ | |
2.1 ΠΡΠ°Π²ΠΈΠ»Π° ΠΈΠ³ΡΡ ΠΡΠ°Π²ΠΈΠ»Π° ΠΈΠ³ΡΡ «ΠΠΌΠ΅ΠΉΠΊΠ°» :
Β· ΠΠΌΠ΅ΠΉΠΊΠ° Π²ΡΡ Π²ΡΠ΅ΠΌΡ Π΄Π²ΠΈΠΆΠ΅ΡΡΡ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡ Π½Π° ΠΎΠ΄Π½Ρ ΠΊΠ»Π΅ΡΠΊΡ ΡΠ΅ΡΠ΅Π· ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΉ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΠΊ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
Β· Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π·ΠΌΠ΅ΠΉΠΊΠΎΠΉ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΠ΅Π· ΠΊΠ»Π°Π²ΠΈΡΠΈ «WASD» (ΡΠ·ΡΠΊ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΡΠ½ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ).
Β· ΠΠΎΠ³Π΄Π° Π·ΠΌΠ΅ΠΉΠΊΠ° Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ Π΅Π΄Ρ, Π΅Ρ Π΄Π»ΠΈΠ½Π° ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΠΎΠ΄Π½Ρ ΠΊΠ»Π΅ΡΠΊΡ.
Β· ΠΠΎΠ³Π΄Π° Π·ΠΌΠ΅ΠΉΠΊΠ° Π²ΡΡΠΊΠ°Π΅ΡΡΡ Π² ΡΠ°ΠΌΡ ΡΠ΅Π±Ρ, Π²Ρ ΠΏΡΠΎΠΈΠ³ΡΡΠ²Π°Π΅ΡΠ΅.
Β· ΠΠΎΡΡΠΈΠ³Π½ΡΠ² ΠΊΡΠ°Ρ ΠΏΠΎΠ»Ρ, Π·ΠΌΠ΅ΠΉΠΊΠ° ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ ΠΏΠΎΠ»Ρ.
Β· Π‘ΡΡΡ ΠΈΠ³ΡΡ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ Π·ΠΌΠ΅ΠΉΠΊΡ Π½Π° ΡΡΠΎΠ»ΡΠΊΠΎ, Π½Π° ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
2.2 ΠΠ»ΠΎΠΊ-ΡΡ Π΅ΠΌΠ° ΡΠ°ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
2.3 ΠΠ΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ°ΠΉΠ» ΠΠΌΠ΅ΠΉΠΊΠ°.exe. ΠΠΎΡΠ²ΠΈΡΡΡ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (ΡΠΈΡΡΠ½ΠΎΠΊ 2.3).
Π ΠΈΡΡΠ½ΠΎΠΊ 2.3 — ΠΎΠΊΠ½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ «ΠΠΌΠ΅ΠΉΠΊΠ°»
ΠΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΠ³ΡΡ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π·ΠΌΠ΅ΠΉΠΊΠΎΠΉ ΡΠ΅ΡΠ΅Π· ΠΊΠ»Π°Π²ΠΈΡΠΈ «WASD». (ΡΠΈΡΡΠ½ΠΎΠΊ 2.4).
Π ΠΈΡΡΠ½ΠΎΠΊ 2.4 — Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡΠΈ «S»
ΠΡΠΈ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠΈ Π³ΠΎΠ»ΠΎΠ²ΠΎΠΉ Π·ΠΌΠ΅ΠΉΠΊΠΈ Π΅Π΄Ρ, Π΅Ρ Π΄Π»ΠΈΠ½Π° ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ. (ΡΠΈΡΡΠ½ΠΎΠΊ 2.5).
Π ΠΈΡΡΠ½ΠΎΠΊ 2.5 — Π‘ΡΠ΅Π² ΠΎΠ΄Π½Ρ Π΅Π΄ΠΈΠ½ΠΈΡΡ Π΅Π΄Ρ Π·ΠΌΠ΅ΠΉΠΊΠ° ΡΠ²Π΅Π»ΠΈΡΠΈΠ»Π°ΡΡ Π½Π° ΠΎΠ΄Π½Ρ ΠΊΠ»Π΅ΡΠΊΡ ΠΠΎΡΡΠΈΠ³Π½ΡΠ² ΠΊΡΠ°Ρ ΠΏΠΎΠ»Ρ, Π·ΠΌΠ΅ΠΉΠΊΠ° ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ ΠΏΠΎΠ»Ρ.
Π ΠΈΡΡΠ½ΠΎΠΊ 2.6 — Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΠΊΡΠ°Ρ ΠΏΠΎΠ»Ρ
ΠΠΎΠ³Π΄Π° Π·ΠΌΠ΅ΠΉΠΊΠ° Π²ΡΡΠΊΠ°Π΅ΡΡΡ Π² ΡΠ°ΠΌΡ ΡΠ΅Π±Ρ, Π²Ρ ΠΏΡΠΎΠΈΠ³ΡΡΠ²Π°Π΅ΡΠ΅ (ΡΠΈΡΡΠ½ΠΎΠΊ 2.7).
Π ΠΈΡΡΠ½ΠΎΠΊ 2.7 -ΠΠΎΠ½Π΅Ρ ΠΈΠ³ΡΡ
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π Ρ ΠΎΠ΄Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π±ΡΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΈΠ·ΡΡΠ΅Π½Ρ
ΠΈ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Ρ Π² ΠΏΠΎΡΡΠ½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΊΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ:
— Π±Π°Π·ΠΎΠ²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ;
— ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ;
ΠΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π·Π½Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΠ°Π±ΠΎΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅-ΠΈΠ³ΡΠ° «ΠΠΌΠ΅ΠΉΠΊΠ°».
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π ΠΠΈΡΡΠΈΠ½Π³ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
// ΠΠΌΠ΅ΠΉΠΊΠ°.cpp.
# include
# include
# include
# include // Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, Π½ΡΠΆΠ½Π° Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ kbhit () ΠΈ getch ()
using namespace std;
char main_color[] = «color ##»; // ΡΠ°Π±Π»ΠΎΠ½ Π΄Π»Ρ ΡΠ²Π΅ΡΠ°
int size; // ΡΠ°Π·ΠΌΠ΅Ρ Π·ΠΌΠ΅ΠΉΠΊΠΈ
int X, Y; // Π² ΠΊΠ°ΠΊΡΡ ΡΡΠΎΡΠΎΠ½Ρ Π΄Π²ΠΈΠΆΠ΅ΡΡΡ Π·ΠΌΠ΅ΠΉΠΊΠ°
int coordinates_x[1000], coordinates_y[1000]; // ΠΌΠ°ΡΡΠΈΠ²Ρ, Ρ ΡΠ°Π½ΡΡΠΈΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠ°ΡΡΠ΅ΠΉ ΡΠ΅Π»Π° Π·ΠΌΠ΅ΠΉΠΊΠΈ
int food_x = -1, food_y = -1; // ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π΅Π΄Ρ
char symbol; // Ρ ΡΠ°Π½ΠΈΡ ASCII ΠΊΠΎΠ΄ Π½Π°ΠΆΠ°ΡΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΡΠΈ
char Π[1000][1000]; // ΡΠ°Π±Π»ΠΈΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π²ΡΡ ΠΈΠ³ΡΠ°
const int N = 15; // Π²ΡΡΠΎΡΠ° ΡΠ°Π±Π»ΠΈΡΡ
const int M = 20; // ΡΠΈΡΠΈΠ½Π° ΡΠ°Π±Π»ΠΈΡΡ
const int TIME = 100; // Π²ΡΠ΅ΠΌΡ Π·Π° ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·ΠΌΠ΅ΠΉΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π½Π° ΠΎΠ΄Π½Ρ ΠΊΠ»Π΅ΡΠΊΡ
void change_color ()
// ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ²Π΅ΡΠ° ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ
{
char x = rand () % 16, y = rand () % 16;
if (x == y)
++y;
y %= 16;
if (x > 9)
x += 'A' - 10;
else
x += '0';
if (y > 9)
y += 'A' - 10;
else
y += '0';
// Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΡΠ°Π½Π΄ΠΎΠΌΠ½ΡΠ΅ ΡΠ²Π΅ΡΠ°
main_color[6] = x;
main_color[7] = y;
system (main_color);
// ΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΠ²Π΅Ρ
}
void change_direction ()
// ΡΡΠ½ΠΊΡΠΈΡ, ΡΡΠΈΡΡΠ²Π°ΡΡΠ°Ρ Π½Π°ΠΆΠ°ΡΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ
{
symbol = _getch ();
switch (symbol)
{
case 119: if (X ≠ 1 || Y ≠ 0) { X = -1; Y = 0; } break;
case 97: if (X ≠ 0 || Y ≠ 1) { X = 0; Y = -1; } break;
case 115: if (X ≠ -1 || Y ≠ 0) { X = 1; Y = 0; } break;
case 100: if (X ≠ 0 || Y ≠ -1) { X = 0; Y = 1; } break;
case 32: change_color (); break;
default: break;
}
}
void show_table ()
// ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ°Π±Π»ΠΈΡΡ
i == N + 1
void clear_snake_on_table ()
// ΠΎΡΠΈΡΠ°Π΅ΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ, Π² ΠΊΠΎΡΠΎΡΡΡ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π»Π°ΡΡ Π·ΠΌΠ΅ΠΉΠΊΠ°
{
for (int i = 1; i <= size; ++i)
Π[coordinates_x[i]][coordinates_y[i]] = ' ';
}
void show_snake_on_table ()
// ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π·ΠΌΠ΅ΠΉΠΊΠΈ
{
if (X == 1 && Y == 0) Π[coordinates_x[1]][coordinates_y[1]] = 'v';
if (X == -1 && Y == 0) Π[coordinates_x[1]][coordinates_y[1]] = '^';
if (X == 0 && Y == 1) Π[coordinates_x[1]][coordinates_y[1]] = '>';
if (X == 0 && Y == -1) Π[coordinates_x[1]][coordinates_y[1]] = '<';
// ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΠΈΠΏ Π³ΠΎΠ»ΠΎΠ²Ρ
for (int i = 2; i <= size; ++i)
Π[coordinates_x[i]][coordinates_y[i]] = '8';
// ΠΊΡΠ°ΡΠΈΠΌ Π·ΠΌΠ΅ΠΉΠΊΡ
}
bool game_over ()
// ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, ΡΡΠ΅Π»Π° Π»ΠΈ Π·ΠΌΠ΅ΠΉΠΊΠ° ΡΠ°ΠΌΡ ΡΠ΅Π±Ρ
{
for (int i = 2; i <= size; ++i)
if (coordinates_x[1] == coordinates_x[i] && coordinates_y[1] == coordinates_y[i]) return true;
// Π΅ΡΠ»ΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π³ΠΎΠ»ΠΎΠ²Ρ Π·ΠΌΠ΅ΠΉΠΊΠΈ ΡΠ°Π²Π½Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ΅ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΠ°ΡΡΠΈ ΡΠ΅Π»Π° Π·ΠΌΠ΅ΠΉΠΊΠΈ, ΡΠΎ Π·ΠΌΠ΅ΠΉΠΊΠ° ΡΡΠ΅Π»Π° ΡΠ°ΠΌΡ ΡΠ΅Π±Ρ
return false;
}
void check_coordinates ()
// ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, Π½Π΅ Π²ΡΡΠ»Π° Π»ΠΈ Π·ΠΌΠ΅ΠΉΠΊΠ° Π·Π° ΠΏΠΎΠ»Π΅, Π΅ΡΠ»ΠΈ Π΄Π° ΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ Π΅Π΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ
{
if (coordinates_x[1] > N) coordinates_x[1] = 1;
if (coordinates_x[1] < 1) coordinates_x[1] = N;
if (coordinates_y[1] > M) coordinates_y[1] = 1;
if (coordinates_y[1] < 1) coordinates_y[1] = M;
}
void next_step ()
// ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π·ΠΌΠ΅ΠΉΠΊΠΈ
{
clear_snake_on_table ();
// ΡΠΈΡΡΠΈΠΌ ΡΠ°Π±Π»ΠΈΡΡ ΠΎΡ Π·ΠΌΠ΅ΠΉΠΊΠΈ
for (int i = size; i >= 2; —i)
{
coordinates_x[i] = coordinates_x[i — 1];
coordinates_y[i] = coordinates_y[i — 1];
}
// ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠ³Π°Π΅ΠΌ ΡΠ΅Π»ΠΎ Π·ΠΌΠ΅ΠΉΠΊΠΈ
coordinates_x[1] += X;
coordinates_y[1] += Y;
// ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠ³Π°Π΅ΠΌ Π³ΠΎΠ»ΠΎΠ²Ρ Π·ΠΌΠ΅ΠΉΠΊΠΈ
check_coordinates ();
// ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π»ΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ
if (coordinates_x[1] == food_x && coordinates_y[1] == food_y)
{
size++;
food_x = -1;
food_y = -1;
}
// Π΅ΡΠ»ΠΈ Π³ΠΎΠ»ΠΎΠ²Π° Π·ΠΌΠ΅ΠΉΠΊΠΈ ΡΠ°ΠΌ ΠΆΠ΅ Π³Π΄Π΅ ΠΈ Π΅Π΄Π°, ΡΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ ΡΠ°Π·ΠΌΠ΅Ρ Π·ΠΌΠ΅ΠΉΠΊΠΈ
show_snake_on_table ();
// ΡΠΈΡΡΠ΅ΠΌ Π·ΠΌΠ΅ΠΉΠΊΡ
if (game_over () == true)
// Π΅ΡΠ»ΠΈ Π·ΠΌΠ΅Ρ ΡΠΊΡΡΠΈΠ»Π° ΡΠ΅Π±Ρ
{
cout << «Vi proigrali! n» ;
system («pause»);
exit (0);
}
}
bool food_check ()
// ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ Π΅Π΄Ρ Π½Π° ΠΊΠ°ΡΡΠ΅
{
if (food_x == -1 && food_y == -1) return false;
// Π΅ΡΠ»ΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π΅Π΄Ρ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Ρ ΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ true
return true;
// Π² ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ»ΡΡΠ°ΡΡ false
}
void place_food ()
// ΡΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π΅Π΄Ρ Π½Π° ΠΊΠ°ΡΡΡ
{
srand (time (NULL));
for (int i = 1; i <= 9; ++i)
{
int x = rand (), y = rand ();
if (x < 0) x *= -1;
if (y < 0) y *= -1;
x %= (N + 1);
y %= (M + 1);
if (x == 0) ++x;
if (y == 0) ++y;
if (Π[x][y] ≠ '8' && Π[x][y] ≠ 'v' && Π[x][y] ≠ '^' && Π[x][y] ≠ '<' && Π[x][y] ≠ '>')
{
food_x = x;
food_y = y;
Π[x][y] = '+';
return;
}
}
// ΡΡΠ°Π²ΠΈΠΌ Π² ΡΠ°Π½Π΄ΠΎΠΌΠ½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π΅Π΄Ρ
}
void standart_settings ()
// Π½Π°ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ
{
size = 1;
coordinates_x[1] = 5;
coordinates_y[1] = 5;
X = 0;
Y = 1;
// Π·ΠΌΠ΅ΠΉΠΊΠ° Π΄Π²ΠΈΠΆΠ΅ΡΡΡ Π²ΠΏΡΠ°Π²ΠΎ
}
int main ()
{
standart_settings ();
// Π·Π°Π΄Π°Π΅ΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ
while (1)
// Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ»
{
if (_kbhit () == true)
// Π΅ΡΠ»ΠΈ Π½Π°ΠΆΠ°ΡΠ° ΠΊΠ»Π°Π²ΠΈΡΠ°
change_direction ();
// ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌ Π½Π°ΠΆΠ°ΡΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ
next_step ();
// Π΄Π²ΠΈΠ³Π°Π΅ΠΌ Π·ΠΌΠ΅ΠΉΠΊΡ
if (food_check () == false)
place_food ();
// Π΅ΡΠ»ΠΈ Π½Π΅Ρ Π΅Π΄Ρ, ΡΠΎ ΡΡΠ°Π²ΠΈΠΌ Π΅Π΅
show_table ();
// ΡΠΈΡΡΠ΅ΠΌ Π·ΠΌΠ΅ΠΉΠΊΡ
Sleep (TIME);
// «ΡΡΡΠΏΠ»ΡΠ΅ΠΌ» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π·Π°Π΄Π°Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»
}
}
.ur