ΠΠ³ΡΠ° Β«ΠΠΈΠ½ΠΈΠΈΒ»
Π¦Π΅Π»ΡΡ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΡΡ ΠΈΠ³ΡΡ «ΠΠΈΠ½ΠΈΠΈ». ΠΠ° ΠΏΠΎΠ»Π΅ 10×10 ΠΏΠΎΠ·ΠΈΡΠΈΠΉ ΡΡΡΠΎΡΡΡΡ Π»ΠΈΠ½ΠΈΠΈ ΠΈΠ· ΠΎΠ΄Π½ΠΎΡΠ²Π΅ΡΠ½ΡΡ ΡΠ°ΡΠΎΠ². ΠΠ΅ΡΠ΅Π΄ ΠΊΠ°ΠΆΠ΄ΡΠΌ Ρ ΠΎΠ΄ΠΎΠΌ ΠΈΠ³ΡΠΎΠΊΠ° Π½Π° ΠΏΠΎΠ»Π΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΡΡΠΈ ΡΠ°Π·Π½ΠΎΡΠ²Π΅ΡΠ½ΡΡ ΡΠ°ΡΠ°. ΠΠ³ΡΠΎΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅Ρ ΡΠ°Ρ ΠΏΠΎ ΠΏΠΎΠ»Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΡΡΠΈ. ΠΡΠ»ΠΈ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΠΎΡΡΡΠΎΠΈΡΡ Π»ΠΈΠ½ΠΈΡ ΠΈΠ· ΠΏΡΡΠΈ ΡΠ°ΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ°, ΠΎΠ½ΠΈ ΠΈΡΡΠ΅Π·Π°ΡΡ. ΠΠ³ΡΠ° Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ, Π΅ΡΠ»ΠΈ Π½Π° ΠΏΠΎΠ»Π΅ Π½Π΅ ΠΎΡΡΠ°Π΅ΡΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΡ … Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠ³ΡΠ° Β«ΠΠΈΠ½ΠΈΠΈΒ» (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠ£Π Π‘ΠΠΠΠ― Π ΠΠΠΠ’Π ΠΠΎ Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½Π΅ «ΠΡΠ°ΠΊΡΠΈΠΊΠ° Π½Π° ΠΠΠ»
Π’Π΅ΠΌΠ° ΠΠ³ΡΠ° «ΠΠΈΠ½ΠΈΠΈ»
1. ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
2. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
2.1 Π‘ΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
2.2 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅Π³ΠΎ Π²ΠΈΠ΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
3. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ²
4. ΠΡΠΈΠΌΠ΅ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
1. ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
Π¦Π΅Π»ΡΡ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΡΡ ΠΈΠ³ΡΡ «ΠΠΈΠ½ΠΈΠΈ». ΠΠ° ΠΏΠΎΠ»Π΅ 10×10 ΠΏΠΎΠ·ΠΈΡΠΈΠΉ ΡΡΡΠΎΡΡΡΡ Π»ΠΈΠ½ΠΈΠΈ ΠΈΠ· ΠΎΠ΄Π½ΠΎΡΠ²Π΅ΡΠ½ΡΡ ΡΠ°ΡΠΎΠ². ΠΠ΅ΡΠ΅Π΄ ΠΊΠ°ΠΆΠ΄ΡΠΌ Ρ ΠΎΠ΄ΠΎΠΌ ΠΈΠ³ΡΠΎΠΊΠ° Π½Π° ΠΏΠΎΠ»Π΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΡΡΠΈ ΡΠ°Π·Π½ΠΎΡΠ²Π΅ΡΠ½ΡΡ ΡΠ°ΡΠ°. ΠΠ³ΡΠΎΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅Ρ ΡΠ°Ρ ΠΏΠΎ ΠΏΠΎΠ»Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΡΡΠΈ. ΠΡΠ»ΠΈ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΠΎΡΡΡΠΎΠΈΡΡ Π»ΠΈΠ½ΠΈΡ ΠΈΠ· ΠΏΡΡΠΈ ΡΠ°ΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ°, ΠΎΠ½ΠΈ ΠΈΡΡΠ΅Π·Π°ΡΡ. ΠΠ³ΡΠ° Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ, Π΅ΡΠ»ΠΈ Π½Π° ΠΏΠΎΠ»Π΅ Π½Π΅ ΠΎΡΡΠ°Π΅ΡΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ°ΡΠΎΠ². Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΈΠ³ΡΡ.
2. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
2.1 Π‘ΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² ΡΡΠ΅Π΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Microsoft Visual Studio 2008 Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π‘++ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΊΠ»Π°ΡΡΠΎΠ² MFC (Microsoft Foundations Classes). ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΎΠ·Π΄Π°Π½Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ MFC-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΎΠ΄Π½ΠΎΠ΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ. ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ MFC ΠΈ ΠΎΠ΄Π½ΠΎΠ΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ²Π»ΡΡΡΡΡ:
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ², Π½Π°ΡΡΠΈΡΡΠ²Π°ΡΡΡΡ ΠΎΠΊΠΎΠ»ΠΎ 200 ΡΠ»Π΅Π½ΠΎΠ². ΠΠ½ΠΈ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Windows-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Π±Π°Π·Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π°;
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΊΠΎΠ΄Π°;
ΡΠΏΡΠΎΡΠ΅Π½ΠΈΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ (API) Windows.
2.2 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅Π³ΠΎ Π²ΠΈΠ΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠ΄Π½ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ: «Untitled-lines». ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΊΠ½ΠΎ «Untitled-lines», ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π½Π° ΡΠΈΡ. 1.
Π ΠΈΡ. 1. ΠΠΈΠ΄ ΠΎΠΊΠ½Π° «Untitled-lines»
ΠΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ Π½Π° Π΄Π°Π½Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΠΊΠ½Π° «Untitled-lines»
ΠΠΊΠ½ΠΎ «Untitled-lines» ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΈΠ³ΡΠ° ΠΠΈΠ½ΠΈΠΈ.
ΠΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°:
1. ΠΠ»Π΅ΠΌΠ΅Π½Ρ «ΠΠΎΠ»Π΅» ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΈΠ³ΡΠ° ΠΠΈΠ½ΠΈΠΈ.
2. ΠΠΊΠ½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π²Π° ΠΌΠ΅Π½Ρ «ΠΠ³ΡΠ°», «Π‘ΠΏΡΠ°Π²ΠΊΠ°».
ΠΠ΅Π½Ρ «ΠΠ³ΡΠ°» ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ (ΡΠΌ. ΡΠΈΡ. 2). ΠΠ½ΠΎ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΡΠ½ΠΊΡΡ:
2.1. ΠΡΠ½ΠΊΡ «ΠΠΎΠ²Π°Ρ ΠΈΠ³ΡΠ°» — ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΡΠ°ΡΡ Π½ΠΎΠ²ΡΡ ΠΈΠ³ΡΡ.
2.2 ΠΡΠ½ΠΊΡ «ΠΡΠΊΡΡΡΡ» — ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ».
2.3 ΠΡΠ½ΠΊΡ «Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΡ» — ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΈΠ³ΡΡ.
2.4 ΠΡΠ½ΠΊΡ «Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ°» — ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ²Π΅ΡΡΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΈΠ³ΡΡ (ΡΠΌ. ΡΠΈΡ 3).
2.5 ΠΡΠ½ΠΊΡ «ΠΡΡ ΠΎΠ΄» — ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΉΡΠΈ ΠΈΠ· ΠΈΠ³ΡΡ.
Π ΠΈΡ. 2 ΠΠΈΠ΄ ΠΎΠΊΠ½Π° «ΠΠ³ΡΠ°»
Π ΠΈΡ. 3. ΠΠΈΠ΄ ΠΎΠΊΠ½Π° «Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ°»
3. ΠΠ΅Π½Ρ «Π‘ΠΏΡΠ°Π²ΠΊΠ°» ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ lines (ΡΠΌ. ΡΠΈΡ. 4). ΠΠ½ΠΎ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠ½ΠΊΡ:
3.1 «Π ΠΏΡΠΎΠ΅ΠΊΡΠ΅»: ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΎΠΊΠ½ΠΎ Ρ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ (ΡΠΌ. ΡΠΈΡ.5).
Π ΠΈΡ. 4. ΠΠ΅Π½Ρ «Π‘ΠΏΡΠ°Π²ΠΊΠ°»
Π ΠΈΡ. 5. ΠΠΈΠ΄ ΠΎΠΊΠ½Π° «Π ΠΏΡΠΎΠ΅ΠΊΡΠ΅»
3. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ «Untitled-lines». Π ΠΎΠΊΠ½Π΅ ΠΈΠ΄Π΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ³ΡΡ.
ΠΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠ½Π°ΡΠ°Π»Π° Π² ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΊΠΈΠ΄Π°Π΅Ρ 5 ΡΠ°ΡΠΈΠΊΠΎΠ².
{
m_iNumOfBalls=0; //Π¨Π°ΡΠΈΠΊΠΎΠ² Π½Π° ΠΏΠΎΠ»Π΅ ΠΏΠΎΠΊΠ° Π½Π΅Ρ
m_iNumOfPoints=0;//ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΡΠΊΠΎΠ² (ΠΏΠΎΠΊΠ° Π½ΠΎΠ»Ρ)
srand (GetTickCount ()%32 000); //ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ Π΄Π°ΡΡΠΈΠΊ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π»
for (int j=0;j
for (int i=0;i
m_field[i][j]=0; //Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΏΠΎΠ»Π΅ Π½ΡΠ»ΡΠΌΠΈ
}
}
Throw3Balls (5);//ΠΊΠΈΠ΄Π°Π΅ΠΌ ΠΏΡΡΡ Π½Π°ΡΠ°Π»ΡΠ½ΡΡ ΡΠ°ΡΠΈΠΊΠΎΠ².
CString s1;
s1.Format (L" 5 balls, 0 points");
return TRUE;
}
2.ΠΠ»Π³ΠΎΡΠΈΡΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΡΡ Ρ ΡΠ°ΡΠΈΠΊΠΎΠΌ.
{
int x, y;//ΠΌΠ΅ΡΡΠΎ, Π² ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΊΠΈΠ΄Π°Π΅ΠΌ ΡΠ°ΡΠΈΠΊ
int iColor; //ΡΠ²Π΅Ρ ΡΠ°ΡΠΈΠΊΠ°
if (iNum≠0){
for (int i=0;i
//Π²ΡΠ±ΠΎΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ°
do{
x=rand ()%m_iNumOfRows;
y=rand ()%m_iNumOfRows;
}while (m_field[x][y]≠0);
//Π²ΡΠ±ΠΎΡ ΡΠ²Π΅ΡΠ°
iColor=rand ()%m_iNumOfColors+1;
SetField (x, y, iColor); //ΡΡΠ°Π²ΠΈΠΌ ΡΠ°ΡΠΈΠΊ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ°
Is5InLine (x, y, false);
}
return true;
{
//ΠΎΠ±ΠΌΠ΅Π½ ΡΠ°ΡΠΈΠΊΠ° ΠΈ ΠΏΡΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ°
int iTmp;
iTmp = m_field[xTo][yTo];
SetField (xTo, yTo, m_field[xFrom][yFrom]);
SetField (xFrom, yFrom, iTmp);
}
3. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΠΎΠ²ΠΏΠ°Π»Π° Π»ΠΈ Π»ΠΈΠ½ΠΈΡ.
{
//ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, Π΅ΡΡΡ Π»ΠΈ 5 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΈΠΊΠΎΠ² ΠΏΠΎΠ΄ΡΡΠ΄
//int x1=x, y1=y;//ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΏΠΎΠ»Ρ ΡΠΏΡΠ°Π²Π°, ΡΠ»Π΅Π²Π° ΠΈ Ρ. ΠΏ.
int i;//ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΡΠΊΠΈ (x, y)
bool bSeeFuther;//ΡΠΌΠΎΡΡΠΈΠΌ Π»ΠΈ Π΄Π°Π»Π΅Π΅
//ΡΠΈΡΠ»ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ Π²ΠΏΡΠ°Π²ΠΎ, Π²Π»Π΅Π²ΠΎ, Π²Π²Π΅ΡΡ ΠΈ Π²Π½ΠΈΠ·
int iO=0, iW=0, iN=0, iS=0;
//ΡΠΈΡΠ»ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ Π²ΠΏΡΠ°Π²ΠΎ-Π²Π²Π΅ΡΡ , Π²Π»Π΅Π²ΠΎ-Π²Π²Π΅ΡΡ , Π²ΠΏΡΠ°Π²ΠΎ-Π²Π½ΠΈΠ· ΠΈ Π²Π»Π΅Π²ΠΎ-Π²Π½ΠΈΠ·
int iNO=0, iNW=0, iSO=0, iSW=0;
bool bRes =false;//Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
//ΡΠΌΠΎΡΡΠΈΠΌ Π²ΠΏΡΠ°Π²ΠΎ
bSeeFuther=true;
i=1;
while (x+i
{//Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»Π΅ ΡΠΏΡΠ°Π²Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ
bSeeFuther=false;
if (m_field[x+i][y]==m_field[x][y]){//ΠΈ Π΅Π³ΠΎ ΡΠ²Π΅Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΡΠ²Π΅ΡΠΎΠΌ (x, y)
iO++;//ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ ΡΡΡΡΡΠΈΠΊ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ Π²ΠΏΡΠ°Π²ΠΎ
bSeeFuther=true;
}
i++;
};
//ΡΠΌΠΎΡΡΠΈΠΌ Π²Π»Π΅Π²ΠΎ
bSeeFuther=true;
i=1;
while (x-i>=0 && bSeeFuther){//Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»Π΅ ΡΠΏΡΠ°Π²Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ
bSeeFuther=false;
if (m_field[x-i][y]==m_field[x][y]){//ΠΈ Π΅Π³ΠΎ ΡΠ²Π΅Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΡΠ²Π΅ΡΠΎΠΌ (x, y)
iW++;//ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ ΡΡΡΡΡΠΈΠΊ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ Π²ΠΏΡΠ°Π²ΠΎ
bSeeFuther=true;
}
i++;
};
//ΡΠΌΠΎΡΡΠΈΠΌ Π²Π½ΠΈΠ·
bSeeFuther=true;
i=1;
while (y+i
bSeeFuther=false;
if (m_field[x][y+i]==m_field[x][y]){//ΠΈ Π΅Π³ΠΎ ΡΠ²Π΅Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΡΠ²Π΅ΡΠΎΠΌ (x, y)
iS++;//ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ ΡΡΡΡΡΠΈΠΊ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ Π²ΠΏΡΠ°Π²ΠΎ
bSeeFuther=true;
}
i++;
};
//ΡΠΌΠΎΡΡΠΈ Π²Π²Π΅ΡΡ
bSeeFuther=true;
i=1;
while (y-i>=0 && bSeeFuther){//Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»Π΅ ΡΠΏΡΠ°Π²Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ
bSeeFuther=false;
if (m_field[x][y-i]==m_field[x][y]){//ΠΈ Π΅Π³ΠΎ ΡΠ²Π΅Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΡΠ²Π΅ΡΠΎΠΌ (x, y)
iN++;//ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ ΡΡΡΡΡΠΈΠΊ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ Π²ΠΏΡΠ°Π²ΠΎ
bSeeFuther=true;
}
i++;
};
/////////////ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Π΅ΠΉ/////////////
//ΡΠΌΠΎΡΡΠΈΠΌ Π²ΠΏΡΠ°Π²ΠΎ-Π²Π½ΠΈΠ·
bSeeFuther=true;
i=1;
//Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»Π΅ ΡΠΏΡΠ°Π²Π° Π²Π½ΠΈΠ·Ρ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ
while (x+i
bSeeFuther=false;
if (m_field[x+i][y+i]==m_field[x][y]){//ΠΈ Π΅Π³ΠΎ ΡΠ²Π΅Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΡΠ²Π΅ΡΠΎΠΌ (x, y)
iSO++;//ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ ΡΡΡΡΡΠΈΠΊ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ Π²ΠΏΡΠ°Π²ΠΎ
bSeeFuther=true;
}
i++;
};
//ΡΠΌΠΎΡΡΠΈΠΌ Π²Π²Π΅ΡΡ -Π²Π»Π΅Π²ΠΎ
bSeeFuther=true;
i=1;
while (x-i>=0 && y-i>=0 && bSeeFuther){//Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»Π΅ ΡΠ»Π΅Π²Π° Π²Π²Π΅ΡΡ Ρ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ
bSeeFuther=false;
if (m_field[x-i][y-i]==m_field[x][y]){//ΠΈ Π΅Π³ΠΎ ΡΠ²Π΅Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΡΠ²Π΅ΡΠΎΠΌ (x, y)
iNW++;//ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ ΡΡΡΡΡΠΈΠΊ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ Π²ΠΏΡΠ°Π²ΠΎ
bSeeFuther=true;
}
i++;
};
//ΡΠΌΠΎΡΡΠΈΠΌ Π²ΠΏΡΠ°Π²ΠΎ-Π²Π²Π΅ΡΡ
bSeeFuther=true;
i=1;
while (x+i=0 && bSeeFuther){//Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»Π΅ ΡΠΏΡΠ°Π²Π° Π²Π²Π΅ΡΡ Ρ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ
bSeeFuther=false;
if (m_field[x+i][y-i]==m_field[x][y]){//ΠΈ Π΅Π³ΠΎ ΡΠ²Π΅Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΡΠ²Π΅ΡΠΎΠΌ (x, y)
iNO++;//ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ ΡΡΡΡΡΠΈΠΊ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ Π²ΠΏΡΠ°Π²ΠΎ
bSeeFuther=true;
}
i++;
};
//ΡΠΌΠΎΡΡΠΈΠΌ Π²Π½ΠΈΠ·-Π²Π»Π΅Π²ΠΎ
bSeeFuther=true;
i=1;
while (x-i>=0 && y+i
bSeeFuther=false;
if (m_field[x-i][y+i]==m_field[x][y]){//ΠΈ Π΅Π³ΠΎ ΡΠ²Π΅Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΡΠ²Π΅ΡΠΎΠΌ (x, y)
iSW++;//ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ ΡΡΡΡΡΠΈΠΊ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ Π²ΠΏΡΠ°Π²ΠΎ
bSeeFuther=true;
}
i++;
};
//Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΠΈΠΊΠΎΠ² Π±ΡΠ»ΠΎ Π΄ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ
int iWasNumOfBalls = m_iNumOfBalls;
if (iS+iN+1>=5){//Π΅ΡΡΡ 5 Π² ΡΡΠ΄
Delete5InLine (x, y-iN, x, y+iS);
bRes=true;
//return true;
}
if (iO+iW+1>=5){//Π΅ΡΡΡ 5 Π² ΡΡΠ΄
Delete5InLine (x-iW, y, x+iO, y);
bRes=true;
//return true;
}
//Π΅ΡΡΡ 5 Π² ΡΡΠ΄ ΠΏΠΎ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ ΡΠ»Π΅Π²Π°-ΡΠ²Π΅ΡΡ Ρ ΡΠΏΡΠ°Π²Π°-ΡΠ½ΠΈΠ·Ρ
if (iNW+iSO+1>=5){
Delete5InLine (x-iNW, y-iNW, x+iSO, y+iSO);
bRes=true;
//return true;
}
//Π΅ΡΡΡ 5 Π² ΡΡΠ΄ ΠΏΠΎ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ ΡΠΏΡΠ°Π²Π°-ΡΠ²Π΅ΡΡ Ρ ΡΠ»Π΅Π²Π°-ΡΠ½ΠΈΠ·Ρ
if (iSW+iNO+1>=5){
Delete5InLine (x+iNO, y-iNO, x-iSW, y+iSW);
bRes=true;
//return true;
}
if (bAddPoints){
m_iNumOfPoints+=CalcPoints (iWasNumOfBalls-m_iNumOfBalls);
}
return bRes;//Π½Π΅Ρ 5 Π² ΡΡΠ΄
}
int ClinesDoc: CalcPoints (int iNumDeletedBalls)
{
int iRes;
if (iNumDeletedBalls<5){
return 0;
}
else{
iRes = 2* iNumDeletedBalls*iNumDeletedBalls
— 20*iNumDeletedBalls+60;
}
return iRes;
}
void ClinesDoc: Delete5InLine (int x1, int y1, int x2, int y2)
{
//ΡΠ΄Π°Π»ΡΠ΅Ρ 5 ΡΠ°ΡΠΈΠΊΠΎΠ², ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ Π² ΡΡΠ΄
//ΠΎΡ ΠΏΠΎΠ»Ρ (x1, y1) Π΄ΠΎ ΠΏΠΎΠ»Ρ (x2, y2).
int i;
//ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ
if (y1==y2){
for (i=x1;i<=x2;i++){
if (m_field[i][y1]≠0){
SetField (i, y1,0);
}
}
}
//ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ
if (x1==x2){
for (i=y1;i<=y2;i++){
if (m_field[x1][i]≠0){
SetField (x1,i, 0);
}
}
}
//ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ ΡΠ²Π΅ΡΡ Ρ-ΡΠ»Π΅Π²Π° — ΡΠ½ΠΈΠ·Ρ-ΡΠΏΡΠ°Π²Π°
if ((x1
for (i=x1;i<=x2;i++){
if (m_field[i][y1-x1+i]≠0){
SetField (i, y1-x1+i, 0);
}
}
}
//ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ ΡΠ½ΠΈΠ·Ρ-ΡΠ»Π΅Π²Π° — ΡΠ²Π΅ΡΡ Ρ-ΡΠΏΡΠ°Π²Π°
if ((x1>x2) && (y1
for (i=y1;i<=y2;i++){
if (m_field[x1+y1-i][i]≠0){
SetField (x1+y1-i, i,0);
}
}
}
}
4. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
void ClinesDoc: StopGame (void)
{
AfxMessageBox (L" ΠΠ³ΡΠ° Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π°!");
//MessageBox (L" ΠΠ³ΡΠ° Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π°!+nΠΠ³ΡΠ° Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π°!+nΠΠ³ΡΠ° Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π°!+nΠΠ³ΡΠ° Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π°!+nΠΠ³ΡΠ° Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π°!");
/*Form *f = new Form ();
f->*/
}
Π Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ ΠΌΡ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΊΠΈΠ΄Π°Π΅ΠΌ 5 ΡΠ°ΡΠΈΠΊΠΎΠ² Π² ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅. ΠΠΎΡΠΎΠΌ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π΅ΠΌ ΡΠ°ΡΠΈΠΊΠΈ, ΡΡΠΎΠ±Ρ ΡΠΎΠ±ΡΠ°ΡΡ Π»ΠΈΠ½ΠΈΡ ΠΈΠ· 5 ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ ΡΠ°ΡΠΈΠΊΠΎΠ². ΠΠ³ΡΠ° Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ.
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΈΠ³ΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ
4. ΠΡΠΈΠΌΠ΅ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ° ΡΠΈΡ. 6 ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π²ΠΈΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΈΠ³ΡΡ.
Π ΠΈΡ. 6
ΠΠ° ΡΠΈΡ. 7 Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΊΠΎΠ³Π΄Π° ΠΈΠ³ΡΠ° Π·Π°Π²Π΅ΡΡΠ΅Π½Π°.
Π ΠΈΡ. 7
Π‘ΠΏΠΈΡΠΎΠΊ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ
ΠΠ°Π²Π»ΠΎΠ²ΡΠΊΠ°Ρ, Π’. Π. C/C++. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΠ·ΡΠΊΠ΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ / Π’. Π. ΠΠ°Π²Π»ΠΎΠ²ΡΠΊΠ°Ρ. — Π‘ΠΠ±.: ΠΠΈΡΠ΅Ρ, 2010. — 461 Ρ.
ΠΡΠ°ΡΠ°, Π‘. Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π‘++. ΠΠ΅ΠΊΡΠΈΠΈ ΠΈ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΡ / Π‘. ΠΡΠ°ΡΠ°. Π.: ΠΠΈΠ»ΡΡΠΌΡ, 2006. — 1184 Ρ.
3. ΠΠΎΠ³ΡΡΠ»Π°Π²ΡΠΊΠΈΠΉ, Π. Π. ΠΡΠ½ΠΎΠ²Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ++. Π§Π°ΡΡΡ 4: ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ Microsoft Windows Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Visual C++ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΊΠ»Π°ΡΡΠΎΠ² MFC / Π. Π. ΠΠΎΠ³ΡΡΠ»Π°Π²ΡΠΊΠΈΠΉ, Π‘. Π. Π‘ΠΎΠΊΠΎΠ»ΠΎΠ². — ΠΠΎΠ»ΠΎΠΌΠ½Π°: ΠΠΠΠ, 2002. — 490 Ρ.