ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅

Π˜Π³Ρ€Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… использовался Python

ΠΠ²Ρ‚ΠΎΡ€ΠΈΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ

Π˜Π³Ρ€Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… использовался Python

ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅

БСгодня Π²Π°ΡˆΠ΅ΠΌΡƒ вниманию прСдставляСтся ΡΡ‚Π°Ρ‚ΡŒΡ ΠΈ нСбольшая ΠΈΠ½Ρ„ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΊΠ°, которая ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Π²Π°ΠΌ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…, Ρ‡Ρ‚ΠΎ Python ΡΡ‚ΠΎΠ»ΡŒ ΠΆΠ΅ эффСктивСн Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈΠ³Ρ€, ΠΊΠ°ΠΊ ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… областях.

ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅

Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· самых извСстныx ΠΈΠ³Ρ€, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±Ρ‹Π» Π² Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅ использован Python:

Battlefield

(2005 / Digital Illusions CE (DICE) / Π‘Ρ‚ΠΎΠΊΠ³ΠΎΠ»ΡŒΠΌ)

ВсС сСрии Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΈΠ³Ρ€Π΅ для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π½ΡƒΠΆΠ΄, ΠΎΡ‚ сСрвСрных элСмСнтов управлСния Π΄ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈΠ³Ρ€Ρ‹. Battlefield β€” это ΠΎΠ΄Π½Π° ΠΈΠ· самых популярных ΠΈΠ³Ρ€ Π² ΠΆΠ°Π½Ρ€Π΅ симулятора Π²ΠΎΠΉΠ½Ρ‹, которая Ρ…ΠΎΡ€ΠΎΡˆΠΎ извСстна Π½Π° вСсь ΠΌΠΈΡ€.

EVE Online

(2003 / CCP Games / Исландия)

Π­Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ ΠΎΠ½Π»Π°ΠΉΠ½ ролСвая ΠΈΠ³Ρ€Π° (MMORPG), дСйствиС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ разворачиваСтся Π² Π°Π½Ρ‚ΡƒΡ€Π°ΠΆΠ΅ Π½Π°ΡƒΡ‡Π½ΠΎ-фантастичСского пространства. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ Π±Π°Π·Π° насчитываСт Π±ΠΎΠ»Π΅Π΅ 500 000 ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ². EVE Online ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ написана Π½Π° StacklessPython, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΊΡ€ΡƒΠΏΠ½Π΅ΠΉΡˆΠΈΡ… ΠΈΠ³Ρ€, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… Python для своих Π½ΡƒΠΆΠ΄.

Mount & Blade

(2008 / Tale Worlds / Вурция)

РолСвая ΠΈΠ³Ρ€Π°, дСйствиС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ происходит Π² срСдниС Π²Π΅ΠΊΠ°. Π˜Π³Ρ€Π° Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° всСго лишь двумя людьми, ΠΌΡƒΠΆΠ΅ΠΌ ΠΈ ΠΆΠ΅Π½ΠΎΠΉ, ΠΎΠ½ΠΈ использовали скрипты Π½Π° языкС Python для обСспСчСния ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΠ³Ρ€Ρ‹. ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΈΠ³Ρ€Ρ‹ β€” это ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΉ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΌΠΈΡ€ ΠΈ эпичСскиС сраТСния Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Sims 4

(2014 / Π•.А. Maxis Sims Studio / БША)

По ΠΏΡ€Π°Π²Ρƒ являСтся самой извСстной ΠΈΠ³Ρ€ΠΎΠΉ Π² ΠΆΠ°Π½Ρ€Π΅ симуляции ΠΆΠΈΠ·Π½ΠΈ. Sims 4 β€” пСрвая ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ ΠΈΠ³Ρ€Π°, которая Π·Π°Π½ΠΈΠΌΠ°Π»Π° Π»ΠΈΠ΄ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π½Π° всСвозмоТных ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… Ρ‡Π°Ρ€Ρ‚Π°Ρ… Π½Π° протяТСнии Π΄Π²ΡƒΡ… Π»Π΅Ρ‚, ΠΈ ΠΏΡ€ΠΎΠ΄Π°Π»Π°ΡΡŒ Π² объСмС 408,150 экзСмпляров ΠΏΠΎ всСму ΠΌΠΈΡ€Ρƒ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… Π΄Π½Π΅ΠΉ. На сСгодняшний дСнь ΠΏΡ€ΠΎΠ΄Π°Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ 1.1 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π° ΠΊΠΎΠΏΠΈΠΉ ΠΏΠΎ всСму ΠΌΠΈΡ€Ρƒ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Sims 4 ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· самых ΠΏΡ€ΠΎΠ΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… ΠΈΠ³Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Python β€” для обСспСчСния Π²Π½ΡƒΡ‚Ρ€ΠΈΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠΎΠ΄Π΄ΠΈΠ½Π³Π°, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Π΅ возмоТности ΠΏΠΎ измСнСнию ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈΠ³Ρ€Ρ‹.

Civilization IV

(2005 / Firaxis Games / БША)

Π­Ρ‚ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ ΠΈΠ³Ρ€Π° Π² ΠΆΠ°Π½Ρ€Π΅ пошаговой стратСгии. ЦСль ΠΈΠ³Ρ€ΠΎΠΊΠ° β€” ΠΏΠΎΠ΄Ρ‡ΠΈΠ½ΠΈΡ‚ΡŒ сСбС вСсь ΠΌΠΈΡ€ ΠΏΡƒΡ‚Π΅ΠΌ дипломатичСских ΠΏΠ΅Ρ€Π΅Π³ΠΎΠ²ΠΎΡ€ΠΎΠ² ΠΈΠ»ΠΈ ΠΊΡ€ΠΎΠ²ΠΎΠΆΠ°Π΄Π½ΠΎΠΉ Π²ΠΎΠΉΠ½Ρ‹. Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ³Ρ€Ρ‹ написана Π½Π° Python, ΠΈ Boost Python, Ρ‡Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ собствСнноручно ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ для ΠΈΠ³Ρ€Ρ‹.

Frets On Fire (FoF)

(2006 / Unreal Voodoo / Ѐинляндия)

ΠœΡƒΠ·Ρ‹ΠΊΠ°Π»ΡŒΠ½Π°Ρ ΠΈΠ³Ρ€Π° с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΈ свободным исходным ΠΊΠΎΠ΄ΠΎΠΌ, которая сама ΠΏΠΎ сСбС ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠΌΠΌΠ΅Ρ€Ρ‡Π΅ΡΠΊΡƒΡŽ ΠΈΠ³Ρ€Ρƒ Guitar Hero. Π˜Π³Ρ€Π° ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ написана Π½Π° Python с использованиСм Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Pygame. Благодаря открытости ΠΈ простотС ΠΊΠΎΠ΄Π°, ΠΈΠ³Ρ€Π° прСдставляСтся ΠΊΠ°ΠΊ Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠ° для изучСния ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ программирования.

Бпасибо CheckiO Π·Π° ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠ½ΡƒΡŽ ΡΡ‚Π°Ρ‚ΡŒΡŽ.

ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅

Π₯ΠΈΠ½Ρ‚ для программистов: Ссли Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ΡΡŒ Π½Π° сорСвнования Huawei Cup, Ρ‚ΠΎ бСсплатно ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ доступ ΠΊ ΠΎΠ½Π»Π°ΠΉΠ½-школС для участников. МоТно ΠΏΡ€ΠΎΠΊΠ°Ρ‡Π°Ρ‚ΡŒΡΡ ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ Π½Π°Π²Ρ‹ΠΊΠ°ΠΌ ΠΈ Π²Ρ‹ΠΈΠ³Ρ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ·Ρ‹ Π² самом сорСвновании.

ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ рСгистрации

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

9 ΠΈΠ΄Π΅ΠΉ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… программистов ΠΏΠΎ созданию ΠΈΠ³Ρ€-ΠΊΠ»ΠΎΠ½ΠΎΠ²

ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌ Π²Π°ΡˆΠ΅ΠΌΡƒ вниманию список ΠΈΠ΄Π΅ΠΉ для ΠΈΠ³Ρ€-ΠΊΠ»ΠΎΠ½ΠΎΠ² Π½Π° python, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ практичСскиС Π½Π°Π²Ρ‹ΠΊΠΈ программирования.

Для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ€Π΅ΡˆΠΈΠ» Π·Π°Π½ΡΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ стрСмится ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ эту ΠΏΡ€Π΅ΠΌΡƒΠ΄Ρ€ΠΎΡΡ‚ΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, сущСствуСт ΠΌΠ½ΠΎΠ³ΠΎ источников Π·Π½Π°Π½ΠΈΠΉ. Π‘Ρ€Π΅Π΄ΠΈ Π½ΠΈΡ… Β«Invent Your Own Computer Games with PythonΒ», Π° Ρ‚Π°ΠΊΠΆΠ΅ мноТСство бСсплатных ΠΊΠ½ΠΈΠ³ ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. Но Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ тСорСтичСскиС знания Π±Π΅Π· ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ? Половина Π΄Π΅Π»Π°. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ Π½Π°Π²Ρ‹ΠΊΠΈ Π² написании ΠΊΠΎΠ΄Π°, Π½ΡƒΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΈΠ»ΠΈ просто «для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ²Β», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ позволят ΠΈΡΠΏΡ‹Ρ‚Π°Ρ‚ΡŒ сСбя Π² Π΄Π΅Π»Π΅ ΠΈ Π² ΠΆΠΈΠ²ΡƒΡŽ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ своСго Ρ‚Ρ€ΡƒΠ΄Π°.

ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌ Π²Π°ΡˆΠ΅ΠΌΡƒ вниманию список ΠΈΠ΄Π΅ΠΉ для ΠΈΠ³Ρ€-ΠΊΠ»ΠΎΠ½ΠΎΠ², с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ практичСскиС Π½Π°Π²Ρ‹ΠΊΠΈ программирования. КаТдая ΠΈΠ· Π½ΠΈΡ… сопровоТдаСтся ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΌ описаниСм ΠΈΠ³Ρ€Ρ‹, ссылками Π½Π° Π²ΠΈΠ΄Π΅ΠΎ гСймплСя ΠΈ описаниСм Ρ‚Π΅Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½Π΅ΠΉ. Π­Ρ‚ΠΈ прилоТСния Π±Ρ‹Π»ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π½Ρ‹ Π·Π° ΠΈΡ… простоту, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ с Π½ΠΈΠΌΠΈ Π²ΠΏΠΎΠ»Π½Π΅ смоТСт ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΈ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, для освоСния ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ… потрСбуСтся совсСм Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΎΠ΄ΠΈΠ½ ΡƒΠΈΠΊ-энд для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠ»ΠΎΠ½ Mario ΠΈΠ»ΠΈ Zelda Π±ΡƒΠ΄Π΅Ρ‚ слоТно, Π½ΠΎ ΠΊΠ»ΠΎΠ½Ρ‹ Tetris ΠΈΠ»ΠΈ Asteroids ΠΊΠ°ΠΊ Ρ€Π°Π· Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ.

Orisinal Games:

Π‘Π°ΠΉΡ‚ Orisinal ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Ρ„Π»Π΅Ρˆ ΠΈΠ³Ρ€ с ΠΎΡ‡Π΅Π½ΡŒ простой ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠΎΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ скопированы.

ОсобСнно ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΉ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Winter Bells, A Daily Cup of Tea, Bugs ΠΈ Hold the Rope.

1. Dodger

ОписаниС: Β«ΠŸΠ»ΠΎΡ…ΠΈΠ΅ ΠΏΠ°Ρ€Π½ΠΈΒ» ΠΏΠ°Π΄Π°ΡŽΡ‚ с Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части экрана, ΠΈ ΠΈΠ³Ρ€ΠΎΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ встрСчи с Π½ΠΈΠΌΠΈ. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π³Π΅Ρ€ΠΎΠ΅ΠΌ осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ клавиш со стрСлками ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΌΡ‹ΡˆΠΈ. Π§Π΅ΠΌ ΠΏΠΎΠ·ΠΆΠ΅ состоится встрСча гСроя с Ρ…ΡƒΠ»ΠΈΠ³Π°Π½ΠΎΠΌ, Ρ‚Π΅ΠΌ Π²Ρ‹ΡˆΠ΅ Π±Π°Π»Π», Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Π² Ρ…ΠΎΠ΄Π΅ ΠΈΠ³Ρ€Ρ‹.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹: ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ…ΡƒΠ»ΠΈΠ³Π°Π½Ρ‹ ΠΏΠ°Π΄Π°Π»ΠΈ с Ρ€Π°Π·Π½ΠΎΠΉ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ ΠΈ Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ². МоТно Ρ‚Π°ΠΊΠΆΠ΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ появлялись Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ, Π½ΠΎ ΠΈ с Π±ΠΎΠΊΠΎΠ²Ρ‹Ρ… сторон экрана. Одним ΠΈΠ· Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°Π΄Π΅Π»Π΅Π½ΠΈΠ΅ гСроя Π½Π΅ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π° достиТСниС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ количСства Π±Π°Π»Π»ΠΎΠ², Π·Π°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΠ΅ скорости падСния β€œΠΏΠ»ΠΎΡ…ΠΈΡ… парнСй” ΠΈ Ρ‚.Π΄.

Π­Ρ‚Π° ΠΈΠ³Ρ€Π° описана Π² Π³Π»Π°Π²Π΅ 20 ΠΊΠ½ΠΈΠ³ΠΈ Β«Invent with PythonΒ»

2. Memory Puzzle

ОписаниС: Π­ΠΊΡ€Π°Π½ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ ΠΊΠ°Ρ€Ρ‚Π°ΠΌΠΈ, Π»Π΅ΠΆΠ°Ρ‰ΠΈΠΌΠΈ Ρ€ΡƒΠ±Π°ΡˆΠΊΠΎΠΉ Π²Π²Π΅Ρ€Ρ…. Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΊΠ°Ρ€Ρ‚ сущСствуСт ΠΏΠ°Ρ€Π°. Π˜Π³Ρ€ΠΎΠΊ ΠΏΠ΅Ρ€Π΅Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ°Ρ€Ρ‚Ρ‹ ΠΏΠΎΠΏΠ°Ρ€Π½ΠΎ. Если ΠΎΠ½ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚, ΠΎΠ½ΠΈ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΌΠΈ (ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ). Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΎΠ½ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ Π² исходноС ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π˜Π³Ρ€ΠΎΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ всС ΠΊΠ°Ρ€Ρ‚Ρ‹ Π·Π° наимСньшСС количСство Ρ…ΠΎΠ΄ΠΎΠ² (Π·Π° мСньшСС врСмя), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Π±Ρ€Π°Ρ‚ΡŒ большС Π±Π°Π»Π»ΠΎΠ².

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹: МоТно ΡΠ½Π°Π±Π΄ΠΈΡ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠΊΠ° «подсказками», указывая Π½Π° Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΊΠ°Ρ€Ρ‚Ρ‹ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ΄Π½Π° являСтся ΠΏΠ°Ρ€ΠΎΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ вскрытой. Или, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Π½Π°Ρ‡Π°Π»Π΅ Π½Π° ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ врСмя ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ всС ΠΏΠΎΠ»Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ³Ρ€ΠΎΠΊ попытался Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ большС соотвСтствий Π·Π° это врСмя.

Π­Ρ‚Π° ΠΈΠ³Ρ€Π° описана Π² Π³Π»Π°Π²Π΅ 1 ΠΊΠ½ΠΈΠ³ΠΈ Β«Making Games with Python & PygameΒ»

3. Sliding Puzzle

ОписаниС: Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ являСтся Π°Π½Π°Π»ΠΎΠ³ΠΎΠΌ всСм извСстной Π³ΠΎΠ»ΠΎΠ²ΠΎΠ»ΠΎΠΌΠΊΠΈ Β«ΠŸΡΡ‚Π½Π°ΡˆΠΊΠΈΒ» ΠΈΠ»ΠΈ 15-puzzle. На ΠΏΠΎΠ»Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 4×4 ΠΊΠ»Π΅Ρ‚ΠΊΠΈ находятся ΠΏΡ€ΠΎΠ½ΡƒΠΌΠ΅Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΠ»ΠΈΡ‚ΠΊΠΈ Π² количСствС 15 ΡˆΡ‚ΡƒΠΊ ΠΈ ΠΎΠ΄Π½ΠΎ свободноС пространство. Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΈΠ³Ρ€Π°Ρ‚ΡŒ, ΠΈΠ³Ρ€ΠΎΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ пСрСдвигая ΠΏΠ»ΠΈΡ‚ΠΊΠΈ, ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΈΡ… Π² порядкС возрастания.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹: Числа ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ изобраТСния, ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΠ² ΠΈΠ³Ρ€Ρƒ Π² складываниС ΠΏΠ°Π·Π»Π°.

Π­Ρ‚Π° ΠΈΠ³Ρ€Π° описана Π² Π³Π»Π°Π²Π΅ 4 ΠΊΠ½ΠΈΠ³ΠΈ Β«Making Games with Python & PygameΒ»

4. Simon

ОписаниС: Π§Π΅Ρ‚Ρ‹Ρ€Π΅ Ρ†Π²Π΅Ρ‚Π½Ρ‹Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π·Π°Π³ΠΎΡ€Π°ΡŽΡ‚ΡΡ ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ схСмС. ПослС ΠΏΠΎΠΊΠ°Π·Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ, ΠΈΠ³Ρ€ΠΎΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ рисунок, Π½Π°ΠΆΠ°Π² Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ порядкС. Рисунок становится большС ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΈΠ³Ρ€ΠΎΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρƒ. Если ΠΈΠ³Ρ€ΠΎΠΊ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚ Π½Π΅ Ρ‚Ρƒ ΠΊΠ½ΠΎΠΏΠΊΡƒ, ΠΈΠ³Ρ€Π° заканчиваСтся.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹: МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π΅ с Π΄Π΅Π²ΡΡ‚ΡŒΡŽ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ, эта вСрсия ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ (ΡΠΎΠ³Π»Π°ΡΠΈΡ‚Π΅ΡΡŒ, Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ порядок, состоящий ΠΈΠ· дСвяти элСмСнтов).

Π­Ρ‚Π° ΠΈΠ³Ρ€Π° описана Π² Π³Π»Π°Π²Π΅ 5 ΠΊΠ½ΠΈΠ³ΠΈ Β«Making Games with Python & PygameΒ»

5. Nibbles

ОписаниС: Ρ‡Π΅Ρ€Π²ΡŒ ΠΈΠ»ΠΈ змСя постоянно двиТСтся ΠΏΠΎ экрану, управляСмая ΠΈΠ³Ρ€ΠΎΠΊΠΎΠΌ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ со стрСлками. По Ρ…ΠΎΠ΄Ρƒ двиТСния «змСя» Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΡΡŠΠ΅ΡΡ‚ΡŒ яблоки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ случайно ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π° ΠΏΠΎΠ»Π΅. Π§Π΅ΠΌ большС яблок, Ρ‚Π΅ΠΌ Π΄Π»ΠΈΠ½Π½Π΅Π΅ становится «змСя». Π˜Π³Ρ€Π° заканчиваСтся, ΠΊΠΎΠ³Π΄Π° «змСя» достигаСт края ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ поля ΠΈΠ»ΠΈ «кусаСт сама сСбя».

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹: На ΠΏΠΎΠ»Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ прСпятствия Π² Π²ΠΈΠ΄Π΅ участков стСн, рисунок ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡΠ»ΠΎΠΆΠ½ΡΡ‚ΡŒΡΡ ΠΈΠ· уровня Π² ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ. МоТно Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ бонусов, ΠΏΡ€ΠΈ Β«ΠΏΠΎΠ΅Π΄Π°Π½ΠΈΠΈΒ» ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ±Π°Π²Π»ΡΡ‚ΡŒΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ΅ количСство ΠΎΡ‡ΠΊΠΎΠ². МоТно ввСсти Π² ΠΈΠ³Ρ€Ρƒ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚, ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ «змСя» ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΊΠΎΡ€ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ Π² Π΄Π²Π° Ρ€Π°Π·Π°. МоТно Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ двиТущиСся ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹, встрСчи с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ «змСя» Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ. МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π²Π° чСрвя, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΈΠ³Ρ€ΠΎΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. НиТС прСдставлСнная ΠΈΠ³Ρ€Π° Tron являСтся Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ Nibbles для Π΄Π²ΡƒΡ… ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ².

Π­Ρ‚Π° ΠΈΠ³Ρ€Π° описана Π² Π³Π»Π°Π²Π΅ 6 ΠΊΠ½ΠΈΠ³ΠΈ Β«Making Games with Python & PygameΒ»

6. Tetris

ОписаниС: Π€ΠΈΠ³ΡƒΡ€Ρ‹ ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… Π±Π»ΠΎΠΊΠΎΠ² ΠΏΠ°Π΄Π°ΡŽΡ‚ с Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части экрана. Π˜Π³Ρ€ΠΎΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ· Π½ΠΈΡ… Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Π΅ Π»ΠΈΠ½ΠΈΠΈ, вращая ΠΈ пСрСмСщая ΠΈΡ…. Когда ΠΈΠ³Ρ€ΠΎΠΊΡƒ удаСтся ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ряд, ΠΎΠ½ исчСзаСт, Π° вся конструкция опускаСтся Π²Π½ΠΈΠ·. Π˜Π³Ρ€Π° заканчиваСтся, ΠΊΠΎΠ³Π΄Π° ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π΄ΠΎΠ²Π΅Ρ€Ρ…Ρƒ.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹: нСсколько Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Tetris описаны Π² Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ

Π­Ρ‚Π° ΠΈΠ³Ρ€Π° описана Π² Π³Π»Π°Π²Π΅ 7 ΠΊΠ½ΠΈΠ³ΠΈ Β«Making Games with Python & PygameΒ»

7. Katamari Damacy

ОписаниС: ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Π°Ρ ΠΈΠ³Ρ€Π° Katamari Damacy Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Π² 3D-Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅, Π½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΅Π΅ 2D-Π²Π΅Ρ€ΡΠΈΡŽ Π½Π΅ прСдставляСт Ρ‚Ρ€ΡƒΠ΄Π°. Π˜Π³Ρ€ΠΎΠΊ управляСт нСбольшим ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠΌ Π² ΠΌΠΈΡ€Π΅, Π³Π΄Π΅ находятся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ². ΠŸΡ€ΠΈΠΊΠΎΡΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π°, управляСмого ΠΈΠ³Ρ€ΠΎΠΊΠΎΠΌ, ΠΊ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ прибавляСт ΠΎΡ‡ΠΊΠΈ ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π΅Π³ΠΎ Π² Ρ€Π°Π·ΠΌΠ΅Ρ€Π°Ρ…, касаясь ΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ ΠΈΠ³Ρ€ΠΎΠΊΠ° сТимаСтся. Π˜Π³Ρ€ΠΎΠΊ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Π²Π°Π΅Ρ‚, ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ достигаСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° (большого ΠΈΠ»ΠΈ малСнького).

Как происходит ΠΈΠ³Ρ€Π° Π² 2D Katamari ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² Π΅Π΅ Ρ„Π»Π΅Ρˆ-вСрсии

Π­Ρ‚Π° ΠΈΠ³Ρ€Π° описана Π² Π³Π»Π°Π²Π΅ 8 ΠΊΠ½ΠΈΠ³ΠΈ Β«Making Games with Python & PygameΒ»

8. Sokoban

ОписаниС: логичСская ΠΈΠ³Ρ€Π°-Π³ΠΎΠ»ΠΎΠ²ΠΎΠ»ΠΎΠΌΠΊΠ°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈΠ³Ρ€ΠΎΠΊ ΠΏΠ΅Ρ€Π΅Π΄Π²ΠΈΠ³Π°Π΅Ρ‚ ящики ΠΏΠΎ Π»Π°Π±ΠΈΡ€ΠΈΠ½Ρ‚Ρƒ, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ»Π°Π½Π°, с Ρ†Π΅Π»ΡŒΡŽ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ всС ящики Π½Π° Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Π΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ. Волько ΠΎΠ΄ΠΈΠ½ ящик ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π²ΠΈΠ½ΡƒΡ‚ Π·Π° Ρ€Π°Π·, ΠΏΡ€ΠΈΡ‡Ρ‘ΠΌ Π³Π΅Ρ€ΠΎΠΉ β€” Β«ΠΊΠ»Π°Π΄ΠΎΠ²Ρ‰ΠΈΠΊΒ» β€” ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ»ΠΊΠ°Ρ‚ΡŒ ящики, Π½ΠΎ Π½Π΅ Ρ‚ΡΠ½ΡƒΡ‚ΡŒ ΠΈΡ…. Π­Ρ‚Π° ΠΈΠ³Ρ€Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… усилий ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½ΠΎΠ²Ρ‹Ρ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ, Π½ΠΎ ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹: Π’ ΠΈΠ³Ρ€Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ Ρ‚Ρ€ΡŽΠΊΠΎΠ²: Ρ‚Π΅Π»Π΅ΠΏΠΎΡ€Ρ‚Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΏΠ»ΠΈΡ‚ΠΊΠΈ, ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π½Ρ‹Π΅ Π»Π΅Π½Ρ‚Ρ‹, ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Π΄Π²Π΅Ρ€ΠΈ ΠΈΠ»ΠΈ наводящиС мосты, ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ящик, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π²Π΅Ρ€ΡŒ ΠΎΡΡ‚Π°Π²Π°Π»Π°ΡΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ, ΠΏΠΎΠΊΠ° Π² Π½Π΅Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Ρ‚Π°Π»ΠΊΠΈΠ²Π°Ρ‚ΡŒΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ящики ΠΈ Ρ‚.Π΄.

Π­Ρ‚Π° ΠΈΠ³Ρ€Π° описана Π² Π³Π»Π°Π²Π΅ 9 ΠΊΠ½ΠΈΠ³ΠΈ Β«Making Games with Python & PygameΒ»

9. Othello

ОписаниС: Π’ ΠΈΠ³Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ квадратная доска Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 8 Γ— 8 ΠΊΠ»Π΅Ρ‚ΠΎΠΊ ΠΈ Ρ„ΠΈΡˆΠΊΠΈ Π±Π΅Π»ΠΎΠ³ΠΎ ΠΈ Ρ‡Π΅Ρ€Π½ΠΎΠ³ΠΎ Ρ†Π²Π΅Ρ‚Π°. Π­Ρ‚ΠΎ ΠΈΠ³Ρ€Π° для Π΄Π²ΡƒΡ… ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ², которая Ρ‚Π°ΠΊΠΆΠ΅ извСстна ΠΊΠ°ΠΊ «РивСрси», ΠΈ осущСствляСтся ΠΏΠΎ Π΅Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹: Π’ ΠΈΠ³Ρ€Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ ΠΈΠ³Ρ€ΠΎΠΊΠ° со своим Ρ†Π²Π΅Ρ‚ΠΎΠΌ Ρ„ΠΈΡˆΠ΅ΠΊ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ число ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠ² ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ поля. Π­Ρ‚Π° ΠΈΠ³Ρ€Π° описана Π² Π³Π»Π°Π²Π΅ 10 ΠΊΠ½ΠΈΠ³ΠΈ Β«Making Games with Python & PygameΒ»

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ³Ρ€ Π½Π° Python 3 ΠΈ Pygame: Π§Π°ΡΡ‚ΡŒ 1

МногиС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ приходят Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ПО, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ хотят ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρ‹. НС всС ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ΠΈΠ³Ρ€, Π½ΠΎ любой ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ собствСнныС ΠΈΠ³Ρ€Ρ‹ ΠΈΠ· интСрСса (Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, ΠΈ с Π²Ρ‹Π³ΠΎΠ΄ΠΎΠΉ). Π’ этом Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»Π΅, состоящСм ΠΈΠ· пяти частСй, я расскаТу Π²Π°ΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½Ρ‹Π΅ ΠΎΠ΄Π½ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python 3 ΠΈ Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° PyGame.

ΠœΡ‹ создадим Π²Π΅Ρ€ΡΠΈΡŽ классичСской ΠΈΠ³Ρ€Ρ‹ Breakout. Освоив этот Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π», Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ‡Ρ‘Ρ‚ΠΊΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для создания ΠΈΠ³Ρ€Ρ‹, ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅ΡΡŒ с возмоТностями Pygame ΠΈ Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ собствСнный ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ³Ρ€Ρ‹.

ΠœΡ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ возмоТности:

ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅

ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ³Ρ€

Π“Π»Π°Π²Π½ΠΎΠ΅ Π² ΠΈΠ³Ρ€Π°Ρ… β€” ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ пиксСлСй Π½Π° экранС ΠΈ ΠΈΠ·Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΉ ΡˆΡƒΠΌ. ΠŸΠΎΡ‡Ρ‚ΠΈ Π²ΠΎ всСх Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€Π°Ρ… Π΅ΡΡ‚ΡŒ эти элСмСнты. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрныС ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… трСбуСтся ΠΌΠ½ΠΎΠ³ΠΎ сСтСвого программирования.

Основной Ρ†ΠΈΠΊΠ»

Основной Ρ†ΠΈΠΊΠ» (main loop) ΠΈΠ³Ρ€Ρ‹ выполняСтся ΠΈ обновляСт экран Ρ‡Π΅Ρ€Π΅Π· фиксированныС ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Они Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ частотой ΠΊΠ°Π΄Ρ€ΠΎΠ² ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ ΠΏΠ»Π°Π²Π½ΠΎΡΡ‚ΡŒ пСрСмСщСния. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΠ³Ρ€Ρ‹ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‚ экран 30-60 Ρ€Π°Π· Π² сСкунду. Если частота Π±ΡƒΠ΄Π΅Ρ‚ мСньшС, Ρ‚ΠΎ покаТСтся, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½Π° экранС Π΄Ρ‘Ρ€Π³Π°ΡŽΡ‚ΡΡ.

Π’Π½ΡƒΡ‚Ρ€ΠΈ основного Ρ†ΠΈΠΊΠ»Π° Π΅ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ основных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ: ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° событий, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ состояния ΠΈΠ³Ρ€Ρ‹ ΠΈ отрисовка Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ состояния Π½Π° экранС.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° событий

Бобытия Π² ΠΈΠ³Ρ€Π΅ состоят ΠΈΠ· всСго, Ρ‡Ρ‚ΠΎ происходит Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ управлСния ΠΊΠΎΠ΄Π° ΠΈΠ³Ρ€Ρ‹, Π½ΠΎ относится ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ ΠΈΠ³Ρ€Ρ‹. НапримСр, Ссли Π² Breakout ΠΈΠ³Ρ€ΠΎΠΊ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ «стрСлка Π²Π»Π΅Π²ΠΎΒ», Ρ‚ΠΎ ΠΈΠ³Ρ€Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π°ΠΊΠ΅Ρ‚ΠΊΡƒ Π²Π»Π΅Π²ΠΎ. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΌΠΈ событиями ΡΠ²Π»ΡΡŽΡ‚ΡΡ наТатия (ΠΈ отТатия) клавиш, Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΌΡ‹ΡˆΠΈ, наТатия ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΌΡ‹ΡˆΠΈ (особСнно Π² мСню) ΠΈ события Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, дСйствиС спСцэффСкта ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π»ΠΈΡ‚ΡŒΡΡ 10 сСкунд).

ОбновлСниС состояния

Π‘Π΅Ρ€Π΄Ρ†Π΅ любой ΠΈΠ³Ρ€Ρ‹ β€” это Π΅Ρ‘ состояниС: всё Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° отслСТиваСт ΠΈ отрисовываСт Π½Π° экранС. Π’ случаС Breakout ΠΊ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ относятся ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ всСх ΠΊΠΈΡ€ΠΏΠΈΡ‡Π΅ΠΉ, позиция ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ мяча, ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°ΠΊΠ΅Ρ‚ΠΊΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΆΠΈΠ·Π½ΠΈ ΠΈ ΠΎΡ‡ΠΊΠΈ.

БущСствуСт Ρ‚Π°ΠΊΠΆΠ΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ состояниС, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠΉ:

ΠžΡ‚Ρ€ΠΈΡΠΎΠ²ΠΊΠ°

Π˜Π³Ρ€Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ своё состояниС Π½Π° экранС, Π² Ρ‚ΠΎΠΌ числС ΠΎΡ‚Ρ€ΠΈΡΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ гСомСтричСскиС Ρ„ΠΈΠ³ΡƒΡ€Ρ‹, изобраТСния ΠΈ тСкст.

Π˜Π³Ρ€ΠΎΠ²Π°Ρ Ρ„ΠΈΠ·ΠΈΠΊΠ°

Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ΠΈΠ³Ρ€ симулируСтся физичСскоС ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅. Π’ Breakout мяч отскакиваСт ΠΎΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ систСму Ρ„ΠΈΠ·ΠΈΠΊΠΈ Ρ‚Π²Ρ‘Ρ€Π΄ΠΎΠ³ΠΎ Ρ‚Π΅Π»Π° (Ссли это ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ Π½Π°Π·Π²Π°Ρ‚ΡŒ).

Π’ Π±ΠΎΠ»Π΅Π΅ слоТных ΠΈΠ³Ρ€Π°Ρ… ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ·ΠΎΡ‰Ρ€Ρ‘Π½Π½Ρ‹Π΅ ΠΈ рСалистичныС физичСскиС систСмы (особСнно Π² 3D-ΠΈΠ³Ρ€Π°Ρ…). Π‘Ρ‚ΠΎΠΈΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ³Ρ€Π°Ρ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡Π½Ρ‹Ρ…, Ρ„ΠΈΠ·ΠΈΠΊΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅Ρ‚, ΠΈ это ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ.

ИИ (искусствСнный ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚)

НапримСр, Π²Ρ€Π°Π³ΠΈ ΠΏΡ€Π΅ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ ΠΈΠ³Ρ€ΠΎΠΊΠ° ΠΈ Π·Π½Π°ΡŽΡ‚ ΠΎ Π΅Π³ΠΎ мСстополоТСнии. Π’ Breakout Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ИИ. Π˜Π³Ρ€ΠΎΠΊ сраТаСтся с Ρ…ΠΎΠ»ΠΎΠ΄Π½Ρ‹ΠΌΠΈ ΠΈ Ρ‚Π²Ρ‘Ρ€Π΄Ρ‹ΠΌΠΈ ΠΊΠΈΡ€ΠΏΠΈΡ‡Π°ΠΌΠΈ. Однако ИИ Π² ΠΈΠ³Ρ€Π°Ρ… часто ΠΎΡ‡Π΅Π½ΡŒ прост ΠΈ всСго лишь слСдуСт простым (ΠΈΠ»ΠΈ слоТным) ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌ псСвдоразумныС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹.

ВоспроизвСдСниС Π·Π²ΡƒΠΊΠ°

ВоспроизвСдСниС Π·Π²ΡƒΠΊΠ° β€” Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ Π²Π°ΠΆΠ½Ρ‹ΠΉ аспСкт ΠΈΠ³Ρ€. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС сущСствуСт Π΄Π²Π° Ρ‚ΠΈΠΏΠ° Π·Π²ΡƒΠΊΠ°: фоновая ΠΌΡƒΠ·Ρ‹ΠΊΠ° ΠΈ Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Π΅ эффСкты. Π’ Breakout я Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Π΅ эффСкты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ воспроизводятся ΠΏΡ€ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… событиях.

Ѐоновая ΠΌΡƒΠ·Ρ‹ΠΊΠ° β€” это просто ΠΌΡƒΠ·Ρ‹ΠΊΠ°, постоянно ΠΈΠ³Ρ€Π°ΡŽΡ‰Π°Ρ Π½Π° Ρ„ΠΎΠ½Π΅. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ³Ρ€Π°Ρ… ΠΎΠ½Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Π° Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… мСняСтся Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅.

Π–ΠΈΠ·Π½ΠΈ, ΠΎΡ‡ΠΊΠΈ ΠΈ ΡƒΡ€ΠΎΠ²Π½ΠΈ

Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ΠΈΠ³Ρ€ ΠΈΠ³Ρ€ΠΎΠΊ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ΅ количСство ΠΆΠΈΠ·Π½Π΅ΠΉ, ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ, ΠΈΠ³Ρ€Π° Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ. Π’Π°ΠΊΠΆΠ΅ Π² ΠΈΠ³Ρ€Π°Ρ… часто ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΎΡ‡ΠΊΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, насколько Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΌΡ‹ ΠΈΠ³Ρ€Π°Π΅ΠΌ, ΠΈ Π΄Π°ΡŽΡ‰ΠΈΠ΅ ΠΌΠΎΡ‚ΠΈΠ²Π°Ρ†ΠΈΡŽ ΠΊ ΡΠ°ΠΌΠΎΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΡŽ ΠΈΠ»ΠΈ просто Ρ…Π²Π°ΡΡ‚Π°Ρ‚ΡŒΡΡ Π΄Ρ€ΡƒΠ·ΡŒΡΠΌ своими Ρ€Π΅ΠΊΠΎΡ€Π΄Π°ΠΌΠΈ. Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΈΠ³Ρ€Π°Ρ… Π΅ΡΡ‚ΡŒ ΡƒΡ€ΠΎΠ²Π½ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ»ΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ, ΠΈΠ»ΠΈ постСпСнно ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ.

Знакомство с Pygame

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ³Ρ€Ρ‹, Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ·Π½Π°Π΅ΠΌ ΠΎ Pygame, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·ΡŒΠΌΡ‘Ρ‚ Π½Π° сСбя Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Pygame?

Pygame β€” это Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ языка Python для программирования ΠΈΠ³Ρ€. Он создан ΠΏΠΎΠ²Π΅Ρ€Ρ… SDL ΠΈ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ всСм Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ:

Установка Pygame

Π­Ρ‚ΠΎ станСт ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Ρ‹ΠΌ прСпятствиСм ΠΏΡ€ΠΈ запускС ΠΈΠ³Ρ€Ρ‹. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ² ΠΌΠ½Π΅ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΅Ρ‘ Π² Windows Π²Π½ΡƒΡ‚Ρ€ΠΈ VirtualBox VM. НадСюсь, ΠΊΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ прочтСния этой ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅ΡˆΠ΅Π½Π°.

АрхитСктура ΠΈΠ³Ρ€Ρ‹

Π˜Π³Ρ€Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΊΡƒΡ‡Π΅ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ со мноТСством ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Breakout β€” это нСбольшая ΠΈΠ³Ρ€Π°, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ всСм Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ слишком ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я Ρ€Π΅ΡˆΠΈΠ» ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ структуру ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ, которая ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚ ΠΈ для Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΈΠ³Ρ€.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΠ°ΠΏΠΎΠΊ ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²

Pipfile ΠΈ Pipfile.lock β€” это соврСмСнный способ управлСния зависимостями Π² Python. Папка images содСрТит изобраТСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈΠ³Ρ€ΠΎΠΉ (Π² нашСй вСрсии Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅), Π° Π² ΠΏΠ°ΠΏΠΊΠ΅ sound_effects directory Π»Π΅ΠΆΠ°Ρ‚ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Π΅ ΠΊΠ»ΠΈΠΏΡ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ (ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ³Π°Π΄Π°Ρ‚ΡŒΡΡ) Π² качСствС Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Ρ… эффСктов.

Π€Π°ΠΉΠ»Ρ‹ ball.py, paddle.py ΠΈ brick.py содСрТат ΠΊΠΎΠ΄, относящийся ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΈΠ· этих ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Breakout. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ я Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€ΡŽ ΠΈΡ… Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… частях Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»Π°. Π€Π°ΠΉΠ» text_object.py содСрТит ΠΊΠΎΠ΄ отобраТСния тСкста Π½Π° экранС, Π° Π² Ρ„Π°ΠΉΠ»Π΅ background.py содСрТится игровая Π»ΠΎΠ³ΠΈΠΊΠ° Breakout.

Однако сущСствуСт нСсколько ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, ΡΠΎΠ·Π΄Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ «скСлСт» ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния. ΠžΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ Π² Π½ΠΈΡ… классы ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΈΠ³Ρ€Π°Ρ… Π½Π° основС Pygame.

Класс GameObject

GameObject прСдставляСт собой Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π·Π½Π°ΡŽΡ‰ΠΈΠΉ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ сСбя Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ‚ΡŒ, ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ свои Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ. Π’ Pygame Π΅ΡΡ‚ΡŒ ΠΈ класс Sprite, ΠΈΡΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ ΠΏΠΎΡ…ΠΎΠΆΡƒΡŽ Ρ€ΠΎΠ»ΡŒ, Π½ΠΎ Π² этом Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»Π΅ я Ρ…ΠΎΡ‡Ρƒ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Π°ΠΌ, ΠΊΠ°ΠΊ всё Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Π½ΠΈΠ·ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅, Π° Π½Π΅ ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ слишком Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π½Π° Π³ΠΎΡ‚ΠΎΠ²ΡƒΡŽ магию. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ выглядит класс GameObject:

Класс Game

Класс Game β€” это ядро ΠΈΠ³Ρ€Ρ‹. Он выполняСтся Π² основном Ρ†ΠΈΠΊΠ»Π΅. Π’ Π½Ρ‘ΠΌ Π΅ΡΡ‚ΡŒ мноТСство ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… возмоТностСй. Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ.

ΠœΠ΅Ρ‚ΠΎΠ΄ __init__() ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ сам Pygame, систСму ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ² ΠΈ Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠΉ ΠΌΠΈΠΊΡˆΠ΅Ρ€. Π’Ρ€ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… Π²Ρ‹Π·ΠΎΠ²Π° Π½ΡƒΠΆΠ½Ρ‹, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ Π²ΠΎ всякой ΠΈΠ³Ρ€Π΅ Π½Π° Pygame ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ всС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, поэтому ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ подсистСмы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ, ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΡƒΠΆΠ½Ρ‹Π΅ с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ. ΠœΠ΅Ρ‚ΠΎΠ΄ создаёт Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ (Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ всё отрисовываСтся) ΠΈ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ с ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ частотой ΠΊΠ°Π΄Ρ€ΠΎΠ².

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ self.objects Ρ…Ρ€Π°Π½ΠΈΡ‚ всС ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ‚ΡŒΡΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒΡΡ. Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ списками Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… событиях.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ update() ΠΈ draw() ΠΎΡ‡Π΅Π½ΡŒ просты. Они обходят всС управляСмыС ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΈΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. Если Π΄Π²Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ Π½Π° Π΄Ρ€ΡƒΠ³Π° Π½Π° экранС, Ρ‚ΠΎ порядок списка ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² опрСдСляСт, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· Π½ΠΈΡ… Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ‚ΡŒΡΡ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ, Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ частично ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ.

ΠœΠ΅Ρ‚ΠΎΠ΄ handle_events() ΡΠ»ΡƒΡˆΠ°Π΅Ρ‚ события, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Pygame, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ события клавиш ΠΈ ΠΌΡ‹ΡˆΠΈ. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ события ΠΎΠ½ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ события ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ².

Π—Π°Ρ‚Π΅ΠΌ ΠΎΠ½ обновляСт экран, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ записываСт Π½Π° физичСский дисплСй всё содСрТимоС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±Ρ‹Π»ΠΎ ΠΎΡ‚Ρ€Π΅Π½Π΄Π΅Ρ€Π΅Π½ΠΎ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ. И послСднСС, Π½ΠΎ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½ΠΎΠ΅ β€” ΠΎΠ½ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ clock.tick() для управлСния Ρ‚Π΅ΠΌ, ΠΊΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ итСрация.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этой части ΠΌΡ‹ ΠΈΠ·ΡƒΡ‡ΠΈΠ»ΠΈ основы программирования ΠΈΠ³Ρ€ ΠΈ всС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² создании ΠΈΠ³Ρ€. Π’Π°ΠΊΠΆΠ΅ ΠΌΡ‹ рассмотрСли сам Pygame ΠΈ ΡƒΠ·Π½Π°Π»ΠΈ, ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ. НаконСц, ΠΌΡ‹ ΠΏΠΎΠ³Ρ€ΡƒΠ·ΠΈΠ»ΠΈΡΡŒ Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΈΠ³Ρ€Ρ‹ ΠΈ ΠΈΠ·ΡƒΡ‡ΠΈΠ»ΠΈ структуру ΠΏΠ°ΠΏΠΎΠΊ, классы GameObject ΠΈ Game.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ ΠΈΠ³Ρ€Ρ‹ для кодирования Π½Π° Python

БСгодня ΠΌΡ‹ научимся ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСсколько простых ΠΈΠ³Ρ€, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ распространСнныС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Python.

БСгодня ΠΌΡ‹ научимся ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСсколько простых ΠΈΠ³Ρ€, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ распространСнныС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Python.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Python?

Python – это извСстный язык программирования. Python ΠΊΠΎΠ΄ ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ. БчитаСтся, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΡƒΠ΄ΠΎΠ±Π΅Π½ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Π›ΡŽΠ±ΠΎΠΉ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Python Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· самых интСрСсных особСнностСй этого языка:

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ простых ΠΈΠ³Ρ€ Π² Python

Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ нСсколько простых ΠΈΠ³Ρ€ Π² Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ свой ΠΏΡƒΡ‚ΡŒ обучСния!

1. Π˜Π³Ρ€Π° Π²ΠΈΠΊΡ‚ΠΎΡ€ΠΈΠ½Π° Π² Python

Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ простая тСкстовая ΠΈΠ³Ρ€Π° Π½Π° Python. Π­Ρ‚ΠΎ малСнькая Π²ΠΈΠΊΡ‚ΠΎΡ€ΠΈΠ½Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ для сСбя ΠΈΠ»ΠΈ своих Π΄Ρ€ΡƒΠ·Π΅ΠΉ. Нам Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ для этой ΠΈΠ³Ρ€Ρ‹, Ρ‡Ρ‚ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ Π΅Ρ‘! ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ сами.

2. Π˜Π³Ρ€Π° Π² Pong Π½Π° Python

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΠ· нас ΡΠ»Ρ‹ΡˆΠ°Π»ΠΈ ΠΎ Π·Π½Π°ΠΌΠ΅Π½ΠΈΡ‚ΠΎΠΉ ΠΈΠ³Ρ€Π΅ Π² Pong. МногиС ΠΈΠ· нас Π»ΡŽΠ±ΡΡ‚ ΠΈΠ³Ρ€Π°Ρ‚ΡŒ. БСгодня ΠΌΡ‹ научимся ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΊΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΈΠ³Ρ€Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ языка программирования python!

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ turtle. Π­Ρ‚ΠΎΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ прСдставляСт собой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Python, которая позволяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρ‹ ΠΈ Ρ„ΠΈΠ³ΡƒΡ€Ρ‹, прСдоставляя ΠΈΠΌ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ холст.

Если Ρƒ вас Π΅Π³ΠΎ Π΅Ρ‰Π΅ Π½Π΅Ρ‚, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ pip.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ turtle ΠΈΠ· ΠΈΡ… ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ΄ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ!

3. Π˜Π³Ρ€Π° Hungry Snake Π½Π° Python

Π­Ρ‚ΠΎ Π±Ρ‹Π»Π° наша любимая ΠΈΠ³Ρ€Π°, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π±Ρ‹Π»ΠΈ Π΄Π΅Ρ‚ΡŒΠΌΠΈ. На самом Π΄Π΅Π»Π΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΈΠ³Ρ€Ρƒ Π² python, импортируя всСго Π΄Π²Π° модуля! Как это ΠΊΡ€ΡƒΡ‚ΠΎ!

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ turtle. Если Ρƒ вас ΠΎΠ½Π° Π΅Ρ‰Π΅ Π½Π΅ установлСна, ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ свой cmd ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ установим случайноС ΠΌΠΎΠ΄ΡƒΠ»ΡŒ. Π‘Π»ΡƒΡ‡Π°ΠΉΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ случайных чисСл. Π’ вашСм Ρ‚ΠΈΠΏΠ΅ CMD Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ установим ΠΌΠΎΠ΄ΡƒΠ»ΡŒ random2. ΠœΠΎΠ΄ΡƒΠ»ΡŒ random2 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ случайных чисСл. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π² cmd ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ.

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ сами ΠΊΠΎΠ΄ Π½ΠΈΠΆΠ΅ ΠΈ Π½Π°ΡΠ»Π°ΠΆΠ΄Π°ΠΉΡ‚Π΅ΡΡŒ ΠΈΠ³Ρ€ΠΎΠΉ!

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ΠΎΡ‚ ΠΈ всС! Π­Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· простых ΠΈΠ³Ρ€ Π² Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅Π»ΠΈΡ‚ΡŒΡΡ! ΠœΡ‹ любили ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ эти ΠΈΠ³Ρ€Ρ‹, ΠΈ ΠΌΡ‹ надССмся, Ρ‡Ρ‚ΠΎ Ρƒ вас Ρ‚ΠΎΠΆΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ!

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ПишСм ΠΈΠ³Ρ€Ρƒ Π½Π° Python

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΌΡ‹ Π½Π°Ρ‡Π½Ρ‘ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ Π½Π° Python, Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π·Π°ΠΊΠΎΠ΄ΠΈΠΌ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ интСрСсноС. НапримСр, свою ΠΈΠ³Ρ€Ρƒ, Π³Π΄Π΅ Π½ΡƒΠΆΠ½ΠΎ Π½Π΅ Π΄Π°Ρ‚ΡŒ ΡˆΠ°Ρ€ΠΈΠΊΡƒ ΡƒΠΏΠ°ΡΡ‚ΡŒ, Ρ‚ΠΈΠΏΠ° Арканоида. Π’Ρ‹, скорСС всСго, ΠΈΠ³Ρ€Π°Π»ΠΈ Π² дСтствС Π²ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅, поэтому ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒΡΡ Π±ΡƒΠ΄Π΅Ρ‚ просто.

Π›ΠΎΠ³ΠΈΠΊΠ° ΠΈΠ³Ρ€Ρ‹

Π•ΡΡ‚ΡŒ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ β€” простой ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ с Ρ‚Π²Ρ‘Ρ€Π΄Ρ‹ΠΌΠΈ Π³Ρ€Π°Π½ΠΈΡ†Π°ΠΌΠΈ. Когда ΡˆΠ°Ρ€ΠΈΠΊ касаСтся стСнки ΠΈΠ»ΠΈ ΠΏΠΎΡ‚ΠΎΠ»ΠΊΠ°, ΠΎΠ½ отскакиваСт Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ сторону. Если ΠΎΠ½ ΡƒΠΏΠ°Π΄Ρ‘Ρ‚ Π½Π° ΠΏΠΎΠ» β€” Π²Ρ‹ ΠΏΡ€ΠΎΠΈΠ³Ρ€Π°Π»ΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ этого Π½Π΅ ΡΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ, Π²Π½ΠΈΠ·Ρƒ вдоль ΠΏΠΎΠ»Π° Π»Π΅Ρ‚Π°Π΅Ρ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, Π° Π²Ρ‹ Π΅ΠΉ управляСтС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ стрСлок. Π’Π°ΡˆΠ° Π·Π°Π΄Π°Ρ‡Π° β€” ΠΏΠΎΠ΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ ΠΏΠΎΠ΄ ΡˆΠ°Ρ€ΠΈΠΊ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ дольшС. Π—Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΡƒΠ΄Π°Ρ‡Π½ΠΎΠ΅ спасСниС ΡˆΠ°Ρ€ΠΈΠΊΠ° Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ ΠΎΡ‡ΠΊΠΎ.

Алгоритм

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΈΠ³Ρ€Ρ‹, Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ сцСнарии повСдСния:

Π₯ΠΈΡ‚Ρ€ΠΎΡΡ‚ΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ всё это происходит ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ ΠΈ нСзависимо Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠΎΠΊΠ° ΡˆΠ°Ρ€ΠΈΠΊ Π»Π΅Ρ‚Π°Π΅Ρ‚, ΠΌΡ‹ Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ, Π° ΠΌΠΎΠΆΠ΅ΠΌ ΠΈ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΅Ρ‘ Π½Π° мСстС. И ΠΊΠΎΠ³Π΄Π° ΡˆΠ°Ρ€ΠΈΠΊ отскакиваСт ΠΎΡ‚ стСн, это Ρ‚ΠΎΠΆΠ΅ Π½Π΅ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ собой.

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚Ρ€ΠΈ класса β€” ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ, сам ΡˆΠ°Ρ€ΠΈΠΊ ΠΈ счёт, ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΡŽΡ‚ Π½Π° дСйствия Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π°. ПолС Π½Π°ΠΌ самим ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ β€” для этого Π΅ΡΡ‚ΡŒ ΡƒΠΆΠ΅ готовая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°. А ΠΏΠΎΡ‚ΠΎΠΌ Π² этих классах ΠΌΡ‹ ΠΏΡ€ΠΎΠΏΠΈΡˆΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ β€” ΠΎΠ½ΠΈ ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π·Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π°ΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

По коням, пишСм на Python

Для этого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Π°ΠΌ потрСбуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ срСду Python. Как это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ β€” Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Π² нашСй ΡΡ‚Π°Ρ‚ΡŒΠ΅.

Начало ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π§Ρ‚ΠΎΠ±Ρ‹ Ρƒ нас появилась Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Π² ΠΈΠ³Ρ€Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Tkinter. Она Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Π½Π°Π±ΠΎΡ€ стандартных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Python ΠΈ позволяСт Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ β€” Π»ΠΈΠ½ΠΈΠΈ, ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ, ΠΊΡ€ΡƒΠ³ΠΈ ΠΈ ΠΊΡ€Π°ΡΠΈΡ‚ΡŒ ΠΈΡ… Π² Ρ€Π°Π·Π½Ρ‹Π΅ Ρ†Π²Π΅Ρ‚Π°. Π’Π°ΠΊΠΎΠΉ простой Paint, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Python.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ, Π³Π΄Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΈΠ΄Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ класс Tk(). Он просто Π΄Π΅Π»Π°Π΅Ρ‚ ΠΎΠΊΠ½ΠΎ, Π½ΠΎ Π±Π΅Π· содСрТимого. Π§Ρ‚ΠΎΠ±Ρ‹ появилось содСрТимоС, ΡΠΎΠ·Π΄Π°ΡŽΡ‚ холст β€” Π²ΠΈΠ΄ΠΈΠΌΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΎΠΊΠ½Π°. ИмСнно Π½Π° Π½Ρ‘ΠΌ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Π½Π°ΡˆΡƒ ΠΈΠ³Ρ€Ρƒ. Π—Π° холст ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ класс Canvas(), поэтому Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ· этого класса ΠΈ дальшС ΡƒΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с этим ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ.

Если ΠΌΡ‹ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠΌ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‚ΠΎ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ, вСдь ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ считаСт ΠΎΡ‡Π΅Π½ΡŒ быстро ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π²ΠΈΠ½Π΅Ρ‚ Π΅Ρ‘ ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ искусствСнно ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ врСмя двиТСния, Π° для этого Π½Π°ΠΌ понадобится ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Time β€” ΠΎΠ½ Ρ‚ΠΎΠΆΠ΅ стандартный.

ПослСднСС, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ глобально Π½ΡƒΠΆΠ½ΠΎ, β€” Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡˆΠ°Ρ€ΠΈΠΊΠ° ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΎ интСрСснСС ΠΈΠ³Ρ€Π°Ρ‚ΡŒ. Π—Π° это ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Random β€” ΠΎΠ½ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ случайныС числа ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΈΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅.

Π—Π°ΠΏΠΈΡˆΠ΅ΠΌ всё это Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ΄Π° Π½Π° Python:

ΠœΡ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ всС Π½ΡƒΠΆΠ½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, сдСлали ΠΈ настроили ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅. Π’Π΅ΠΏΠ΅Ρ€ΡŒ займёмся классами.

Π¨Π°Ρ€ΠΈΠΊ

Π‘Π½Π°Ρ‡Π°Π»Π° ΠΏΡ€ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ словами, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ ΡˆΠ°Ρ€ΠΈΠΊΠ°. Он Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΠΌΠ΅Ρ‚ΡŒ:

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°

Π‘Π΄Π΅Π»Π°Π΅ΠΌ Ρ‚ΠΎ ΠΆΠ΅ самоС для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ β€” сначала опишСм Π΅Ρ‘ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ словами, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Ρ‘ΠΌ Π² ΠΊΠΎΠ΄. Π˜Ρ‚Π°ΠΊ, Π²ΠΎΡ‚ Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°:

А Π²ΠΎΡ‚ ΠΊΠ°ΠΊ это Π±ΡƒΠ΄Π΅Ρ‚ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ΄Π°:

МоТно Π±Ρ‹Π»ΠΎ Π½Π΅ Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ счёт Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ класс ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. Но здСсь Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ класс, Π·Π°Π΄Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ сами ΠΏΠΎΡ‚ΠΎΠΌ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΈ ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»Π°Ρ‚ΡŒ.

ΠžΡ‚ счёта Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ (ΠΊΡ€ΠΎΠΌΠ΅ конструктора) β€” Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Π» Π½Π° касаниС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π» число ΠΎΡ‡ΠΊΠΎΠ² ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠ» ΠΈΡ… Π½Π° экран:

Π£ нас всё Π³ΠΎΡ‚ΠΎΠ²ΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ саму ΠΈΠ³Ρ€Ρƒ. ΠœΡ‹ ΡƒΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Π»ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΡƒ всСх элСмСнтов, ΠΈ Π½Π°ΠΌ остаётся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡˆΠ°Ρ€ΠΈΠΊΠ°, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ счёта ΠΈ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠΌ, Π² ΠΊΠ°ΠΊΠΎΠΌ порядкС ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ.

Бмысл ΠΈΠ³Ρ€Ρ‹ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΡƒΡ€ΠΎΠ½ΠΈΡ‚ΡŒ ΡˆΠ°Ρ€ΠΈΠΊ. Пока этого Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ β€” всё двиТСтся, Π½ΠΎ ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡˆΠ°Ρ€ΠΈΠΊ ΡƒΠΏΠ°Π» β€” Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ сообщСниС ΠΎ ΠΊΠΎΠ½Ρ†Π΅ ΠΈΠ³Ρ€Ρ‹ ΠΈ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅, ΠΊΠ°ΠΊ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½ΠΎ выглядит ΠΊΠΎΠ΄ нСпосрСдствСнно самой ΠΈΠ³Ρ€Ρ‹:

ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅

Π§Ρ‚ΠΎ дальшС

На основС этого ΠΊΠΎΠ΄Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ свою ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΈΠ³Ρ€Ρ‹:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *