ΠΠ°ΠΏΡΡΠΊ Π²ΠΎΠ·Π΄ΡΡΠ½ΠΎΠ³ΠΎ Π·ΠΌΠ΅Ρ — PROKITE
Π€Π΅ΡΡΠΈΠ²Π°Π»Ρ Π²ΠΎΠ·Π΄ΡΡΠ½ΡΡ Π·ΠΌΠ΅Π΅Π² Π² Π³ΠΎΡΠΎΠ΄Π΅ Π§Π΅ΡΠ²ΠΈΡ (ΠΡΠ°Π»ΠΈΡ)ΠΠ΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅, ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΡ Π²ΠΎΠ·Π΄ΡΡΠ½ΠΎΠ³ΠΎ Π·ΠΌΠ΅Ρ. ΠΠ°ΡΡΠ΅ΡΡΡΠ²ΠΎ, ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΠ°Π΅ΠΌΠΎΠ΅ Ρ ΠΎΠΏΡΡΠΎΠΌ, ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° Π²Π΅ΡΠ΅Ρ ΡΠ»Π°Π± ΠΈΠ»ΠΈ Π½Π΅ΡΠΎΠ²Π΅Π½. Π§ΡΠΎΠ±Ρ Π²Π°Ρ Π·ΠΌΠ΅ΠΉ ΠΏΠΎΠ»Π΅ΡΠ΅Π», Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ΅Π³ΠΎ Π΄Π²Π΅ Π²Π΅ΡΠΈ: Ρ ΠΎΡΠΎΡΠ΅Π΅ ΠΌΠ΅ΡΡΠΎ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΈ Ρ ΠΎΡΠΎΡΠΈΠΉ Π²Π΅ΡΠ΅Ρ.
ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ β ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ ΡΠ°ΠΊΡΠΎΡ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ°. ΠΡΠ±ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π½Π° ΠΏΡΡΠΈ Π²Π΅ΡΡΠ° β Ρ ΠΎΠ»ΠΌΡ, Π΄ΠΎΠΌΠ°, Π΄Π΅ΡΠ΅Π²ΡΡ β ΡΠΎΠ·Π΄Π°ΡΡ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΠΏΡΠ΅Π³ΡΠ°Π΄Ρ, Π΄Π΅Π»Π°ΡΡ Π΅Π³ΠΎ ΡΠΊΠΎΡΠΎΡΡΡ ΠΈ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΡΡΡΠΎΠΉΡΠΈΠ²ΡΠΌ (ΡΡΡΠ±ΡΠ»Π΅Π½ΡΠ½ΡΠΌ). Π ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π·ΠΌΠ΅Ρ ΡΡΠΆΠ΅Π»ΠΎ ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΎΠΏΠ°ΡΠ½ΠΎ. ΠΠΎΡΡΠΎΠΌΡ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° β Π±Π΅ΡΠ΅Π³ ΠΌΠΎΡΡ Ρ Π²Π΅ΡΡΠΎΠΌ, Π΄ΡΡΡΠΈΠΌ Ρ Π²ΠΎΠ΄Ρ. ΠΡΠ±ΠΈΡΠ°Ρ ΠΌΠ΅ΡΡΠΎ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²ΠΎΠΊΡΡΠ³ Π½Π΅Π³ΠΎ Π½Π΅Ρ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΠΉ Π΄Π»Ρ Π²Π΅ΡΡΠ°, ΠΏΡΠΎΠ²ΠΎΠ΄ΠΎΠ², Π° ΡΠ°ΠΌΠΎ ΠΌΠ΅ΡΡΠΎ Π½Π΅ΡΠΈΠ»ΡΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π»ΡΠ΄ΡΠΌΠΈ. ΠΠ»ΠΎΡΠ°Π΄ΠΊΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 40Ρ 40 ΠΌΠ΅ΡΡΠΎΠ² Π²ΠΏΠΎΠ»Π½Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ.
Π‘ΠΈΠ»Π° Π²Π΅ΡΡΠ°
Π§ΡΠ΄Π΅Ρ Π½Π΅ Π±ΡΠ²Π°Π΅Ρ: Π±Π΅Π· Π²Π΅ΡΡΠ° ΠΏΠΎΠ΄Π°Π²Π»ΡΡΡΠ΅Π΅ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π²ΠΎΠ·Π΄ΡΡΠ½ΡΡ Π·ΠΌΠ΅Π΅Π² Π»Π΅ΡΠ°ΡΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ, Π΅ΡΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ Π½Π΅ ΡΠ΅ΠΌΠΏΠΈΠΎΠ½ ΠΌΠΈΡΠ° ΠΏΠΎ Π±Π΅Π³Ρ. ΠΠΎΡΡΠΎΠΌΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΡΠ΅ΡΠΈΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ Π·ΠΌΠ΅Ρ, ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Π΅ΡΡΠ° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ. Π’ΡΠ°Π²Π° ΠΏΠΎΠ΄ Π½ΠΎΠ³Π°ΠΌΠΈ Π·Π°ΠΌΠ΅ΡΠ½ΠΎ ΡΠ΅Π²Π΅Π»ΠΈΡΡΡ, ΠΊΠ°ΠΊ ΠΈ ΡΠΎΠ½ΠΊΠΈΠ΅ Π²Π΅ΡΠΊΠΈ Π΄Π΅ΡΠ΅Π²ΡΠ΅Π² (Π΅ΡΠ»ΠΈ ΡΠ΅Π²Π΅Π»ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π»ΠΈΡΡΡΡ β Π²Π΅ΡΡΠ° Π½Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ), ΡΠ»Π°Π³ΠΈ ΠΏΠΎΠ»ΠΎΡΠ°ΡΡΡ, ΡΡΠ±Ρ Π½Π° Π²ΠΎΠ΄Π΅. ΠΠΎ Π²ΡΠ΅ΠΌ ΡΡΠΈΠΌ ΠΏΡΠΈΠ·Π½Π°ΠΊΠ°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ΅Π½ΠΈΡΡ, ΡΡΠΎ ΠΏΠΎΠ³ΠΎΠ΄Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ°. ΠΠΎΠ³Π΄Π° Π²Π΅ΡΠ΅Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠΈΠ»ΡΠ½ΡΠΉ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΡΠ»ΠΎΠΌΠ°ΡΡ Π²ΠΎΠ·Π΄ΡΡΠ½ΠΎΠ³ΠΎ Π·ΠΌΠ΅Ρ, ΡΠ°ΠΊ ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½Π΅ΠΊΠΎΠΌΡΠΎΡΡΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Π΅ΡΠ΅Ρ Π΄ΡΠ΅Ρ Π² Π»ΠΈΡΠΎ, ΡΠΎ ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π½Π΅ ΡΡΠΎΠΈΡ.
ΠΠ°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΡΡΠ°
Π’Π°ΠΊ ΠΊΠ°ΠΊ Π·ΠΌΠ΅ΠΉ Π»Π΅ΡΠ°Π΅Ρ ΠΏΡΠΎΡΠΈΠ² Π²Π΅ΡΡΠ°, ΡΠΎ ΠΈ Π»ΡΡΡΠ΅Π³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡΡΡΡ, Π²ΡΡΠ°Π² ΠΊ Π²Π΅ΡΡΡ ΡΠΏΠΈΠ½ΠΎΠΉ ΠΈ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΠ² Π·ΠΌΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎΠ±ΠΎΠΉ. ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΡΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΡ ΡΠ΅Ρ ΠΆΠ΅ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊΠΎΠ² β ΡΡΠ°Π²Ρ, Π²Π΅ΡΠΎΠΊ, ΡΠ»Π°Π³ΠΎΠ², Π΄ΡΠΌΠ°, Π»Π΅Π½Ρ ΠΎΠ³ΡΠ°ΠΆΠ΄Π΅Π½ΠΈΡ, Π½ΠΎ ΠΏΡΠΎΡΠ΅ Π²ΡΠ΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π»ΠΈΡΠ°. ΠΠ°ΡΠ΅ Π»ΠΈΡΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΡ Π΅Π³ΠΎ Π²Π΅ΡΡΡ ΡΠΎΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΎΡΠΊΡΠ΄Π° ΠΎΠ½ Π΄ΡΠ΅Ρ, ΡΡΠ²ΡΡΠ²ΡΡ Π΅Π³ΠΎ Π½Π° ΡΠ΅ΠΊΠ°Ρ . Π’Π°ΠΊΠΆΠ΅ Π²Π°ΡΠΈ Π΄ΡΡΠ·ΡΡ, ΡΠΆΠ΅ Π·Π°ΠΏΡΡΡΠΈΠ²ΡΠΈΠ΅ ΡΠ²ΠΎΠΈΡ Π·ΠΌΠ΅Π΅Π², ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΠΊΡΠ΄Π° Π΄ΡΠ΅Ρ Π²Π΅ΡΠ΅Ρ.
Π’Π΅Ρ Π½ΠΈΠΊΠ° Π·Π°ΠΏΡΡΠΊΠ°
ΠΠ±ΡΡΠ½ΡΠΉ Π·Π°ΠΏΡΡΠΊ
(ΡΠΈΠ»Π° Π²Π΅ΡΡΠ° Π»ΡΠ±Π°Ρ, Π΄Π²Π° ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ°, Π»ΡΠ±ΠΎΠΉ Π·ΠΌΠ΅ΠΉ)
ΠΡΠ° ΡΠ΅Ρ Π½ΠΈΠΊΠ° Π²Π΅Π·Π΄Π΅ ΠΎΠΏΠΈΡΠ°Π½Π°, ΠΈ Π²ΡΠ΅ΠΌ Ρ ΠΎΡΠΎΡΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½Π°. ΠΠ°Ρ Π΄ΡΡΠ³ Π±Π΅ΡΡΡ Π·ΠΌΠ΅Ρ Π² ΡΡΠΊΠΈ, Π° Π²Ρ ΡΠ°Π·ΠΌΠ°ΡΡΠ²Π°Π΅ΡΠ΅ ΠΎΠΊΠΎΠ»ΠΎ 20 ΠΌΠ΅ΡΡΠΎΠ² Π»Π΅Π΅ΡΠ° ΠΏΠΎ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊ Π²Π΅ΡΡΡ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π²Ρ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ΡΡ ΡΠΏΠΈΠ½ΠΎΠΉ ΠΊ Π²Π΅ΡΡΡ ΠΈ Π»ΠΈΡΠΎΠΌ ΠΊ Π·ΠΌΠ΅Ρ, ΡΠ»Π΅Π³ΠΊΠ° Π½Π°ΡΡΠ³ΠΈΠ²Π°Π΅ΡΠ΅ Π»Π΅Π΅Ρ. ΠΠΎ Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π΄ΡΡΠ³ ΠΎΡΠΏΡΡΠΊΠ°Π΅Ρ Π·ΠΌΠ΅Ρ, Π° Π²Ρ ΡΠ΅ΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΠ»Ρ Π²Π΅ΡΡΠ° ΠΎΡΡΠ°ΡΡΠ΅ΡΡ Π½Π° ΠΌΠ΅ΡΡΠ΅ (ΠΈ Π·ΠΌΠ΅ΠΉ ΡΠ°ΠΌ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π΅ΡΡΡ Π½Π°Π²Π΅ΡΡ ) ΠΈΠ»ΠΈ, Π΅ΡΠ»ΠΈ Π²Π΅ΡΡΠ° Ρ Π·Π΅ΠΌΠ»ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, Π΄Π΅Π»Π°Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π³ΠΎΠ² ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π±Π΅ΠΆΠΈΡΠ΅ Π½Π°Π·Π°Π΄, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΡΡΠ²ΡΡΠ²ΡΠ΅ΡΠ΅, ΡΡΠΎ Π·ΠΌΠ΅ΠΉ ΠΏΠΎΠΉΠΌΠ°Π» Π²Π΅ΡΠ΅Ρ ΠΈ ΡΠ²ΡΡΡΡ Π΄Π°Π»ΡΡΠ΅ Π²Π²ΡΡΡ.
ΠΠ°ΠΏΡΡΠΊ Ρ ΡΡΠΊ
(Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ»ΠΈ ΡΠΈΠ»ΡΠ½ΡΠΉ Π²Π΅ΡΠ΅Ρ, ΠΎΠ΄ΠΈΠ½ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ, Π·ΠΌΠ΅ΠΉ Ρ ΠΊΠΎΡΠΎΡΠΊΠΎΠΉ ΡΠ·Π΄Π΅ΡΠΊΠΎΠΉ ΠΈΠ»ΠΈ Π±Π΅Π· ΡΠ·Π΄Π΅ΡΠΊΠΈ)
ΠΡΠ»ΠΈ Π²Π°Ρ Π²ΠΎΠ·Π΄ΡΡΠ½ΡΠΉ Π·ΠΌΠ΅ΠΉ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠΊΠΎΠ½ΡΡΡΡΠΈΡΠΎΠ²Π°Π½, ΡΠΎ ΠΎΠ½ Π»Π΅Π³ΠΊΠΎ Π²Π·Π»Π΅ΡΠΈΡ ΠΈΠ· Π²Π°ΡΠΈΡ ΡΡΠΊ Π±Π΅Π· ΠΏΠΎΡΡΠΎΡΠΎΠ½Π½Π΅ΠΉ ΠΏΠΎΠΌΠΎΡΠΈ. ΠΡ Π΄Π΅ΡΠΆΠΈΡΠ΅ Π·Π° Π»Π΅Π΅Ρ ΠΏΡΡΠΌΠΎ ΠΎΠΊΠΎΠ»ΠΎ Π·ΠΌΠ΅Ρ, ΠΎΡΠΈΠ΅Π½ΡΠΈΡΡΠ΅ΡΠ΅ Π΅Π³ΠΎ Π½ΠΎΡΠΎΠΌ Π²Π²Π΅ΡΡ , ΡΠ»Π΅Π³ΠΊΠ° ΡΡΠ½Π΅ΡΠ΅ Π½Π° ΡΠ΅Π±Ρ, ΠΎΡΡΡΠ²Π°Ρ Π΅Π³ΠΎ ΠΎΡ Π·Π΅ΠΌΠ»ΠΈ, ΠΈ Π·ΠΌΠ΅ΠΉ ΡΠΆΠ΅ Π²ΠΈΡΠΈΡ Ρ Π²Π°Ρ Π½Π°Π΄ Π³ΠΎΠ»ΠΎΠ²ΠΎΠΉ. Π’Π΅ΠΏΠ΅ΡΡ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠ°Π·ΠΌΠ°ΡΡΠ²Π°ΡΡ Π»Π΅Π΅Ρ.
ΠΠ°ΠΏΡΡΠΊ βΠΠΎΠ΄ΡΡΠ½ΡΡΡ β ΠΎΡΠΏΡΡΡΠΈΡΡβ
(ΡΠ»Π°Π±ΡΠΉ ΠΈΠ»ΠΈ Π½Π΅ΡΠΎΠ²Π½ΡΠΉ Π²Π΅ΡΠ΅Ρ, ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ°, 1β2 ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ°)
ΠΡΠ° ΡΠ΅Ρ Π½ΠΈΠΊΠ° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΈΠ» ΠΈ ΡΠ±Π΅ΡΠ΅ΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ°. ΠΠ°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π΄Π°Π»Π΅ΠΊΠΎ Π±Π΅ΠΆΠ°ΡΡ, ΠΏΡΡΠ°ΡΡΡ ΠΏΠΎΠ΄Π½ΡΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ Π²ΠΎΠ·Π΄ΡΡΠ½ΠΎΠ³ΠΎ Π·ΠΌΠ΅Ρ ΠΏΠΎΠ²ΡΡΠ΅ Π² Π½Π°Π΄Π΅ΠΆΠ΄Π΅, ΡΡΠΎ ΡΠ°ΠΌ Π²Π΅ΡΠ΅Ρ ΡΠΈΠ»ΡΠ½Π΅Π΅ ΠΈ ΡΠΎΠ²Π½Π΅Π΅. ΠΡ Π½Π°ΡΠΈΠ½Π°Π΅ΡΠ΅ ΡΠ°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π΄Π²ΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ ΡΠ»ΡΡΠ°Π΅Π² (Ρ ΡΡΠΊ ΠΈΠ»ΠΈ Ρ ΡΠ°Π·ΠΌΠΎΡΠ°Π½Π½ΡΠΌ Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π΅ΡΠΎΠΌ ΠΈ Π·ΠΌΠ΅Π΅ΠΌ Π² ΡΡΠΊΠ°Ρ Π΄ΡΡΠ³Π°). ΠΡ, ΠΎΡΡΡΡΠΏΠ°Ρ Π½Π°Π·Π°Π΄ ΠΈ Π½Π΅ ΡΠ°Π·ΠΌΠ°ΡΡΠ²Π°Ρ Π»Π΅Π΅Ρ (ΡΡΠΎ Π²Π°ΠΆΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ), Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΠ΅ Π·ΠΌΠ΅Ρ Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΈ ΡΡΠΎΠΉ Π΄Π»ΠΈΠ½Π΅ Π»Π΅Π΅ΡΠ° Π²ΡΡΠΎΡΡ, Π·Π°ΡΠ΅ΠΌ ΠΎΡΠΏΡΡΠΊΠ°Π΅ΡΠ΅ Π»Π΅Π΅Ρ, Π΄Π°Π²Π°Ρ Π²Π°ΡΠ΅ΠΌΡ Π·ΠΌΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΏΡΡΡΠΈΡΡΡ ΠΏΠΎΡΡΠΈ Π΄ΠΎ ΡΠ°ΠΌΠΎΠΉ Π·Π΅ΠΌΠ»ΠΈ ΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠ°Π·ΠΌΠΎΡΠ°ΡΡ Π»Π΅Π΅Ρ (ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡ ΠΎΠ΄ΠΈΡΡ Π½Π°Π·Π°Π΄, ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Ρ Π΄Π»ΠΈΠ½Ρ ΡΠ°Π·ΠΌΠΎΡΠ°Π½Π½ΠΎΠ³ΠΎ Π»Π΅Π΅ΡΠ°). Π£ ΡΠ°ΠΌΠΎΠΉ Π·Π΅ΠΌΠ»ΠΈ Π²Ρ ΠΎΠΏΡΡΡ ΡΠΈΠΊΡΠΈΡΡΠ΅ΡΠ΅ Π»Π΅Π΅Ρ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΠ΅ ΠΎΡΡΡΡΠΏΠ°ΡΡ, ΡΠ½ΠΎΠ²Π° ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Ρ Π·ΠΌΠ΅Ρ Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ ΠΏΡΠΈ ΡΡΠΎΠΉ Π΄Π»ΠΈΠ½Π΅ Π²ΡΡΠΎΡΡ. ΠΡΠΏΠΎΠ»Π½ΠΈΠ² ΡΡΠΎΡ ΠΌΠ°Π½ΡΠ²Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, Π²Ρ, Π½Π°ΠΊΠΎΠ½Π΅Ρ, Π΄ΠΎΡΡΠΈΠ³Π½Π΅ΡΠ΅ ΡΠΎΠΉ Π²ΡΡΠΎΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Π΅ΡΡΠ° Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π·ΠΌΠ΅ΠΉ ΡΡΠ°Π» ΡΠ°ΠΌ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°ΡΡΡΡ Π² Π½Π΅Π±ΠΎ Π±Π΅Π· Π²Π°ΡΠ΅ΠΉ ΠΏΠΎΠΌΠΎΡΠΈ.
ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ
ΠΠ°ΠΏΡΡΠΊ Π·ΠΌΠ΅Ρ β ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ°ΠΌΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΡ ΠΈΠ³Ρ, Π½ΠΎ ΠΏΡΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ .
- ΠΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π·Π°ΠΏΡΡΠΊΠ°ΠΉΡΠ΅ Π·ΠΌΠ΅Ρ Π²Π±Π»ΠΈΠ·ΠΈ Π»ΠΈΠ½ΠΈΠΉ ΡΠ»Π΅ΠΊΡΡΠΎΠΏΠ΅ΡΠ΅Π΄Π°Ρ ΠΈΠ»ΠΈ Π² Π³ΡΠΎΠ·Ρ β Π²Ρ ΡΠΈΡΠΊΡΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΄Π°Ρ ΡΠΎΠΊΠΎΠΌ.
- ΠΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π·Π°ΠΏΡΡΠΊΠ°ΠΉΡΠ΅ Π²ΠΎΠ·Π΄ΡΡΠ½ΡΡ
Π·ΠΌΠ΅Π΅Π² Π²Π±Π»ΠΈΠ·ΠΈ Π°ΡΡΠΎΠΏΠΎΡΡΠΎΠ²
- ΠΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π·Π°ΠΏΡΡΠΊΠ°ΠΉΡΠ΅ Π·ΠΌΠ΅Ρ Π½Π°Π΄ ΡΠΊΠΎΠΏΠ»Π΅Π½ΠΈΠ΅ΠΌ Π»ΡΠ΄Π΅ΠΉ, Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΈΠ»ΠΈ ΠΆΠ΅Π»Π΅Π·Π½ΠΎΠΉ Π΄ΠΎΡΠΎΠ³ΠΎΠΉ β Π·ΠΌΠ΅ΠΈ Π²ΡΡ-ΡΠ°ΠΊΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΠ°Π΄Π°ΡΡ ΠΈ ΠΌΠΎΠ³ΡΡ ΡΠ°ΠΌΠΈ ΠΈΠ»ΠΈ ΡΠ²ΠΎΠΈΠΌ Π»Π΅Π΅ΡΠΎΠΌ Π½Π°Π½Π΅ΡΡΠΈ ΠΏΠΎΡΠΎΠΉ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ΅ΡΡΡΠ·Π½ΡΡ ΡΡΠ°Π²ΠΌΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Π²ΡΠ·Π²Π°ΡΡ Π·Π°ΠΊΠΎΠ½Π½ΠΎΠ΅ Π½Π΅Π΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΎ.
- ΠΠΎΠ»Π΅Π·Π½ΠΎ, Π° Π² ΡΠ»ΡΡΠ°Π΅ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ Π·ΠΌΠ΅Π΅ΠΌ ΠΏΡΠΎΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, Π½Π°Π΄Π΅Π²Π°ΡΡ ΠΊΠΎΠΆΠ°Π½ΡΠ΅ ΠΏΠ΅ΡΡΠ°ΡΠΊΠΈ, Π·Π°ΠΏΡΡΠΊΠ°Ρ Π·ΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΠΎΠ²ΡΠ΅Π΄ΠΈΡΡ Π»Π΅Π΅ΡΠΎΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΡΠΊΠΈ.
- ΠΠ΅ΡΠ΅Π³ΠΈΡΠ΅ Π³Π»Π°Π·Π°: Π½Π°Π΄Π΅Π²Π°ΠΉΡΠ΅ ΡΠΎΠ»Π½ΡΠ΅Π·Π°ΡΠΈΡΠ½ΡΠ΅ ΠΎΡΠΊΠΈ.
ΠΠΌΠ΅ΠΉ Π½Π΅ Π²Π·Π»Π΅ΡΠ°Π΅Ρ?
ΠΠ°, ΡΡΠΎ ΠΏΠ΅ΡΠ°Π»ΡΠ½ΠΎ, Π½ΠΎ ΠΏΠΎΡΠΈΡΠ°ΠΉΡΠ΅ Π½Π°ΡΠΈ ΡΠΎΠ²Π΅ΡΡ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΎ ΡΠ΅ΡΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
Π€Π΅ΡΡΠΈΠ²Π°Π»ΠΈ β ΡΡΠΎ ΠΊΡΡΡΠΎ!
Π₯ΠΎΡΠΈΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π½Π΅Π±ΠΎ, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠ΅ Π²ΠΎΠ·Π΄ΡΡΠ½ΡΠΌΠΈ Π·ΠΌΠ΅ΡΠΌΠΈ? Π§ΠΈΡΠ°ΠΉΡΠ΅ Π½Π°Ρ Π³ΠΈΠ΄ ΠΏΠΎ Π»ΡΡΡΠΈΠΌ ΡΠ΅ΡΡΠΈΠ²Π°Π»ΡΠΌ Π²ΠΎΠ·Π΄ΡΡΠ½ΡΡ Π·ΠΌΠ΅Π΅Π² ΠΌΠΈΡΠ°.
ΠΠ°ΠΊ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π²ΠΎΠ·Π΄ΡΡΠ½ΠΎΠ³ΠΎ Π·ΠΌΠ΅Ρ?
ΠΠ°ΠΏΡΡΠΊ Π²ΠΎΠ·Π΄ΡΡΠ½ΠΎΠ³ΠΎ Π·ΠΌΠ΅Ρ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠ°Π·Π΄Π½ΠΈΠΊ ΠΈ Π΄Π»Ρ Π΄Π΅ΡΠ΅ΠΉ ΠΈ Π΄Π»Ρ Π²Π·ΡΠΎΡΠ»ΡΡ , Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΌΠ°ΡΡΡ ΡΠ°Π΄ΠΎΡΡΠ½ΡΡ ΡΠΌΠΎΡΠΈΠΉ Π½Π΅ Π²Π°ΠΆΠ½ΠΎ, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΠΌ Π»Π΅Ρ, ΠΊΠ°ΠΊΠΎΠ² Π²Π°Ρ ΡΡΠ°ΡΡΡ ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΎΠ±ΡΠ΅ΡΡΠ²Π΅.
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΠ΅ ΠΎΡ Π·Π°ΠΏΡΡΠΊΠ° Π²ΠΎΠ·Π΄ΡΡΠ½ΠΎΠ³ΠΎ Π·ΠΌΠ΅Ρ, Π½ΡΠΆΠ½ΠΎ ΠΎΠ²Π»Π°Π΄Π΅ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ Π²Π°ΡΠ΅Π³ΠΎ Π·ΠΌΠ΅Ρ Π² Π²ΠΎΠ·Π΄ΡΡ Π½Π΅ Π±Π΅Π³Π°Ρ ΠΏΠΎΠ½Π°ΠΏΡΠ°ΡΠ½Ρ, ΠΈ ΡΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ Π΄Π΅ΡΡΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΌΠΎΠ³ΡΡ ΡΡΠΎ Π»Π΅Π³ΠΊΠΎ Π΄Π΅Π»Π°ΡΡ ΡΠ°ΠΌΠΈ.
ΠΠΎΠ·Π΄ΡΡΠ½ΡΠΉ ΡΠ°Π·Π²Π΅Π΄ΡΠΈΠΊ
ΠΠΎΡΠΎΠ±ΡΠ°ΡΡΠΉ Π·ΠΌΠ΅ΠΉ
ΠΡΠ°ΠΆΠ΅ΡΠΎΡΠ½ΡΠΉ Π·ΠΌΠ΅ΠΉ
ΠΡΠΎΡΡΠΎΠΉ Π²ΠΎΠ·Π΄ΡΡΠ½ΡΠΉ Π·ΠΌΠ΅ΠΉ
ΠΠ°ΠΏΡΡΠΊ Π²ΠΎΠ·Π΄ΡΡΠ½ΠΎΠ³ΠΎ Π·ΠΌΠ΅Ρ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΡΠ°ΡΡΠ»Π°Π±ΠΈΡΡΡΡ, Π·Π°ΡΡΠ΄ΠΈΡΡΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΡΠΌΠΎΡΠΈΡΠΌΠΈ ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΠΎΠΏΡΠ°Π²ΠΈΡΡ Π·Π΄ΠΎΡΠΎΠ²ΡΠ΅ Ρ ΡΡΠΏΠ΅Ρ ΠΎΠΌ Π·Π°ΠΌΠ΅Π½ΡΡ Π·Π°Π½ΡΡΠΈΡ Π² Π΄ΡΡΠ½ΠΎΠΌ ΡΠΏΠΎΡΡΠ·Π°Π»Π΅. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎ Π±Ρ ΡΠ΄Π°ΡΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π²Π°ΡΠ΅Π³ΠΎ Π²ΠΎΠ·Π΄ΡΡΠ½ΠΎΠ³ΠΎ Π·ΠΌΠ΅Ρ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΎΠ±Π»ΡΡΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°.
ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΡΠΎΠΈΡ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ ΡΡΠΎ ΡΠΎ ΡΡΠΎ Π±Π΅Π³ Π½ΡΠΆΠ΅Π½ Π»ΠΈΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΠ΄ΡΠ΅ΠΌΠ½ΡΡ ΡΠΈΠ»Ρ, ΠΊΠΎΠ³Π΄Π° Π²Π΅ΡΠ΅Ρ Ρ Π·Π΅ΠΌΠ»ΠΈ ΡΠ»Π°Π±ΡΠΉ ΠΈΠ»ΠΈ ΠΊΠΎΠ³Π΄Π° Π΅ΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΏΡΠ΅Π³ΡΠ°Π΄Ρ, Π·Π°ΠΊΡΡΠ²Π°ΡΡΠΈΠ΅ Π΅Π³ΠΎ ΠΏΠΎΡΠΎΠΊ. ΠΡΠ»ΠΈ Π²Π΅ΡΠ΅Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠΉ, Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π·ΠΌΠ΅Ρ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΎΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅.
ΠΡΡΡΠ΅Π΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° β ΡΠΊΠΎΡΠΎΡΡΡ Π²Π΅ΡΡΠ° ΠΎΡ 6 ΠΌΠ΅ΡΡΠΎΠ² Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ. ΠΡΠΆΠ½ΠΎ ΠΏΠΎΠΉΠΌΠ°ΡΡ Π½ΡΠΆΠ½ΡΠΉ Π²Π΅ΡΠ΅Ρ, ΠΎΡΠΏΡΡΡΠΈΡΡ Π²Π΅ΡΠ΅Π²ΠΎΡΠΊΠΈ ΠΈ ΠΏΠΎΠ΄Π½ΡΡΡ Π΅Π³ΠΎ Π½Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΡ Π²ΡΡΠΎΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΠΊΠ°ΠΊ Π²ΠΎΠ·Π»Π΅ Π·Π΅ΠΌΠ»ΠΈ Π²Π΅ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½ΡΠΈΠ²ΡΠΉ ΠΈΠ·-Π·Π° Π»Π°Π½Π΄ΡΠ°ΡΡΠ°. Π§ΡΡΡ ΠΏΠΎΠ²ΡΡΠ΅ β ΠΌΠ΅ΡΡΠΎΠ² Π² 5-10 ΠΎΡ Π·Π΅ΠΌΠ»ΠΈ Π²Π΅ΡΠ΅Ρ ΡΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠΉ. Π§Π΅ΠΌ Π²ΡΡΠ΅ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ, ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ°Π½ΡΠΎΠ², ΡΡΠΎ Π·ΠΌΠ΅ΠΉ Π±ΡΠ΄Π΅Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎ Π»Π΅ΡΠ°ΡΡ. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·Π΄ΡΡΠ½ΡΠ΅ Π·ΠΌΠ΅ΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΈΠ΅, Π²Π°ΠΆΠ½ΠΎ Π½Π΅ ΠΏΡΠ΅Π½Π΅Π±ΡΠ΅Π³Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ.
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠ°ΡΡΡΠΊΠΎΠΉ Ρ Π²Π΅ΡΠ΅Π²ΠΊΠΎΠΉ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ±Π½Π΅Π΅, ΡΠ΅ΠΌ Ρ Π²Π΅ΡΠ΅Π²ΠΊΠΎΠΉ, Π½Π°ΠΌΠΎΡΠ°Π½Π½ΠΎΠΉ Π½Π° ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΠΏΠ°Π»ΠΎΡΠΊΡ. Π Π½Π΅ΠΉ ΡΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π° Π·Π°ΡΠΈΡΠ° Π΄Π»Ρ ΡΡΠΊ. ΠΡΠ»ΠΈ Π²Π΅ΡΠ΅Ρ ΡΠΈΠ»ΡΠ½ΡΠΉ, ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ΄Π΅Π²Π°ΡΡ ΠΏΠ΅ΡΡΠ°ΡΠΊΠΈ. ΠΠΎΠ·Π΄ΡΡΠ½ΠΎΠΌΡ Π·ΠΌΠ΅Ρ ΠΏΠΎΠ΄ ΡΠΈΠ»Ρ ΠΏΠΎΠ΄Π½ΡΡΡΡΡ Π²Π²Π΅ΡΡ Π΄ΠΎ 500 ΠΌΠ΅ΡΡΠΎΠ². ΠΠΎ Π² ΡΡΠΎΠΌ Π½Π΅Ρ ΡΠΌΡΡΠ»Π°, ΡΠ²Π΅ΡΡΡΡ ΡΠ²Π»Π΅ΡΠ΅Π½Π½ΡΠ΅ Π»ΡΠ΄ΠΈ. ΠΠ»Π°Π²Π½ΠΎΠ΅ ΡΠΎΠ·Π΅ΡΡΠ°ΡΡ Π·Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡΠΈΠΌ, Π° Π½Π΅ ΡΠ°Π·Π³Π»ΡΠ΄ΡΠ²Π°ΡΡ ΡΠΎΡΠΊΡ Π² Π½Π΅Π±Π΅.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΊΠ°ΡΠΊΠ°ΡΠ½ΡΠ΅ Π·ΠΌΠ΅ΠΈ Π²ΠΌΠ΅ΡΡΠΎ Π½Π°Π΄ΡΠ²Π½ΡΡ , ΡΠ°ΠΊ ΠΊΠ°ΠΊ Ρ Π½ΠΈΠΌΠΈ ΡΠ΄ΠΎΠ±Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π·ΠΌΠ΅Ρ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠ°ΠΌΠ΅ΡΡ Π² Π½Π΅Π±ΠΎ ΠΈ ΡΠ½ΠΈΠΌΠ°ΡΡ ΠΊΡΠ°ΡΠΈΠ²ΡΠ΅ ΠΏΠ°Π½ΠΎΡΠ°ΠΌΡ. Π₯Π²ΠΎΡΡ Π² Π΅Π³ΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ β Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΠΊΡΠ°ΡΠΎΡΡ. Π₯Π²ΠΎΡΡ Ρ ΠΎΡΠΎΡΠΎ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΡΠ΅Ρ Π·ΠΌΠ΅Ρ, Π½ΠΎ ΠΏΠΎΠ½ΠΈΠΆΠ°Π΅Ρ Π°ΡΡΠΎΠ΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π·ΠΌΠ΅ΠΈ Ρ ΠΎΡΠΎΡΠΎ Π»Π΅ΡΡΡ ΠΈ Π±Π΅Π· Ρ Π²ΠΎΡΡΠ°.
ΠΠ°ΡΠΊΠ°ΡΠ½ΡΠ΅ Π·ΠΌΠ΅ΠΈ ΠΌΠΎΠ³ΡΡ Π²Π·Π»Π΅ΡΠ°ΡΡ Π² Π½Π΅ Π²Π΅ΡΡΠ΅Π½ΡΡ ΠΏΠΎΠ³ΠΎΠ΄Ρ. ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²Π΅ΡΡΠ° ΡΠΈΠ»ΠΎΠΉ Π΄ΠΎ 4 ΠΌΠ΅ΡΡΠΎΠ² Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ. ΠΠΈΠ»ΠΎΡΠΈΡΡΠ΅ΠΌΡΠ΅ Π·ΠΌΠ΅ΠΈ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°ΡΡΡΡ Π²Π²ΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ Π½Π° 50 ΠΌΠ΅ΡΡΠΎΠ². Π§ΡΠΎΠ±Ρ Π΅Π³ΠΎ ΠΏΠΎΠΊΠΎΡΠΈΡΡ, Π½ΡΠΆΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠΏΠ΅Π½ΠΈΡ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π½Π΅ Ρ ΠΈΡΡΡΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΠ²ΠΎΠ΄ΡΡΡΡ Π΄ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΌΠ°. ΠΡΠ»ΠΈ Π½ΠΈΠΆΠ½ΠΈΠ΅ ΡΡΡΠΎΠΏΡ ΠΎΠΏΡΡΠΊΠ°ΡΡ Π²Π²Π΅ΡΡ , ΡΠΎ Π·ΠΌΠ΅ΠΉ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π΅ΡΡΡ Π²Π²Π΅ΡΡ , ΠΊΠΎΠ³Π΄Π° ΡΡΡΠΊΠΈ ΠΎΠΏΡΡΠΊΠ°ΡΡΡΡ ΡΡΡΠΎΠΏΠ°ΠΌΠΈ Π²Π½ΠΈΠ·, ΠΎΠ½ ΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π²Π½ΠΈΠ·. ΠΡΠ»ΠΈ ΠΎΠΏΡΡΠΊΠ°ΡΡ ΠΎΠ΄Π½Ρ ΡΡΠΎΡΠΎΠ½Ρ, ΠΎΠ½ ΠΏΠΎΠ²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ.
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ Π² Π½Π΅Π±ΠΎ Π²ΠΎΠ·Π΄ΡΡΠ½ΠΎΠ³ΠΎ Π·ΠΌΠ΅Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΠ΅ ΡΠ΅Π±Π΅ ΠΏΠΎΠ±ΡΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅Π±Π΅Π½ΠΊΠΎΠΌ.
Π§ΠΈΡΠ°ΡΡ: ΠΠΎΠ·Π΄ΡΡΠ½ΡΠ΅ Π·ΠΌΠ΅ΠΈ, ΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΎΡΠΎ ΠΠΎΠ·Π΄ΡΡΠ½ΡΡ Π·ΠΌΠ΅Π΅Π²
Π€ΠΎΡΠΎ ΠΠΎΠ·Π΄ΡΡΠ½ΡΡ Π·ΠΌΠ΅Π΅Π²
ΠΠΎΠ·Π΄ΡΡΠ½ΡΠ΅ Π·ΠΌΠ΅ΠΈ, ΡΠΎΡΠΎ ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² Π΄Π°Π½Π½ΠΎΠΌ Π°Π»ΡΠ±ΠΎΠΌΠ΅, ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ°ΠΌΡΡ Π΄ΡΠ΅Π²Π½ΠΈΡ ΠΈ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΠΈΠ³ΡΡΡΠ΅ΠΊ Ρ Π΄Π΅ΡΠ΅ΠΉ. ΠΠ·ΠΎΠ±ΡΠ΅ΡΠ΅Π½Π½ΡΠ΅ Π΅ΡΡ Π΄ΠΎ Π½Π°ΡΠ΅ΠΉ ΡΡΡ Π² ΠΠΈΡΠ°Π΅, Π²ΠΎΠ·Π΄ΡΡΠ½ΡΠ΅…
ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ ΡΠ°ΠΊΡΡ ΠΏΡΠΎ Π²ΠΎΠ·Π΄ΡΡΠ½ΠΎΠ³ΠΎ Π·ΠΌΠ΅Ρ
ΠΠΎΠ·Π΄ΡΡΠ½ΡΠΉ Π·ΠΌΠ΅ΠΉ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ Π΄ΡΠ΅Π²Π½Π΅ΠΉΡΠΈΠΌ Π»Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ°ΠΌ. ΠΠ΅ΡΠ²ΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ ΠΎ Π½Π΅ΠΌ Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ Π΅ΡΠ΅ Π·Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π΅ΠΊΠΎΠ² Π΄ΠΎ Π½Π°ΡΠ°Π»Π° Π½ΠΎΠ²ΠΎΠ³ΠΎ Π»Π΅ΡΠΎΡΡΠΈΡΠ»Π΅Π½ΠΈΡ. ΠΠ΅ΡΠ΅Π΄Π°ΡΡ Π²ΡΡ ΡΡ ΠΏΠΎΠ»ΡΠ·Ρ, ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈΠ½Π΅ΡΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ, ΠΊΠ°Π·Π°Π»ΠΎ Π±Ρ Π½Π΅Ρ ΠΈΡΡΠΎΠ³ΠΎ…
ΠΠΌΠ΅ΠΈΠ½Π°Ρ ΠΈΠ³ΡΠ° Π½Π° Python | ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Snake Game Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Pygame
Π‘ΡΠ°ΡΡ ΡΠ΅ΡΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΠΎΠΌ
ΠΠ°, Ρ Π·Π½Π°Ρ, ΡΡΠΎ Π²Ρ Π²ΡΠ΅ ΠΈΠ³ΡΠ°Π»ΠΈ Π² Snake Game ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Ρ ΠΎΡΠ΅Π»ΠΈ ΠΏΡΠΎΠΈΠ³ΡΠ°ΡΡ. Π Π΄Π΅ΡΡΡΠ²Π΅ ΠΌΡ Π²ΡΠ΅ Π»ΡΠ±ΠΈΠ»ΠΈ ΠΈΡΠΊΠ°ΡΡ ΡΠΈΡΡ, ΡΡΠΎΠ±Ρ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Β«ΠΠ³ΡΠ° ΠΎΠΊΠΎΠ½ΡΠ΅Π½Π°Β», Π½ΠΎ, ΠΊΠ°ΠΊ ΡΠ΅Ρ Π½Π°ΡΠΈ, Ρ Π·Π½Π°Ρ, ΡΡΠΎ Π²Ρ Ρ ΠΎΡΠ΅Π»ΠΈ Π±Ρ, ΡΡΠΎΠ±Ρ ΡΡΠ° Β«ΠΠΌΠ΅ΡΒ» ΡΠ°Π½ΡΠ΅Π²Π°Π»Π° ΠΏΠΎΠ΄ Π²Π°ΡΠΈ Π±ΠΈΡΡ. ΠΡΠΎ ΡΠΎ, ΡΡΠΎ Ρ ΠΏΠΎΠΊΠ°ΠΆΡ Π²Π°ΠΌ Π²ΡΠ΅ΠΌ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΎΠ± ΠΈΠ³ΡΠ΅ Snake Π½Π° Python.
Π₯ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΡΠ²ΠΎΡ ΠΊΠ²Π°Π»ΠΈΡΠΈΠΊΠ°ΡΠΈΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΡΡ ΠΏΠΎ ΠΊΠ°ΡΡΠ΅ΡΠ½ΠΎΠΉ Π»Π΅ΡΡΠ½ΠΈΡΠ΅? ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΈΠ»ΠΈ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡΠ΅ΡΡ ΠΊ Π½Π°ΡΠ΅ΠΌΡ ΠΊΡΡΡΡ Data Science with Python.
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ Π΄Π°Π»ΡΡΠ΅, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΊΡΠ°ΡΠΊΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π²ΡΠ΅ ΡΠ°ΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ³ΡΡ Snake Π½Π° Python:
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Pygame
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΊΡΠ°Π½Π°
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π·ΠΌΠ΅ΠΉΠΊΠΈ
- ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·ΠΌΠ΅ΠΉΠΊΠΈ 90 015 ΠΠ³ΡΠ° ΠΎΠΊΠΎΠ½ΡΠ΅Π½Π°, ΠΊΠΎΠ³Π΄Π° ΠΠΌΠ΅ΠΉΠΊΠ° Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ Π³ΡΠ°Π½ΠΈΡ
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΅Π΄Ρ
- Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ Π·ΠΌΠ΅ΠΉΠΊΠΈ
- ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΠ°
ΠΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈΠ³ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Pygame, β ΡΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Π³ΠΎ Π½Π° ΡΠ²ΠΎΠΈ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
pip install pygame
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠΉΡΠ΅ Pygame ΠΈ Π½Π°ΡΠ½ΠΈΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΈΠ³ΡΡ. ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ Π΄Π°Π»ΡΡΠ΅, Π²Π·Π³Π»ΡΠ½ΠΈΡΠ΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ Pygame, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ Π² ΡΡΠΎΠΉ ΠΈΠ³ΡΠ΅ Snake, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ.
Π€ΡΠ½ΠΊΡΠΈΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
init() | ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ Π²ΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Pygame (Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΆ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΉ Π½Π° ΡΡΠΏΠ΅Ρ ΠΈΠ»ΠΈ Π½Π΅ΡΠ΄Π°ΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ) |
display.set_mode() 9 0048 | ΠΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΆ ΠΈΠ»ΠΈ ΡΠΏΠΈΡΠΎΠΊ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ (ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠΎΡΡΠ΅ΠΆ) |
update() | ΠΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΡΠΊΡΠ°Π½ |
quit() | ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π΄Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠ΅Π³ΠΎ |
set_caption() | Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ΅ΠΊΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Π²Π²Π΅ΡΡ Ρ ΡΠΊΡΠ°Π½Π° |
event.get() | ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΡΠΎΠ±ΡΡΠΈΡ |
Surface.fill( ) | ΠΠ°Π»ΡΠ΅Ρ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ ΡΠΏΠ»ΠΎΡΠ½ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ |
time.Clock() | ΠΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΡ time |
font.SysF ont() | Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΡΠΈΡΡ Pygame ΠΈΠ· ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠΈΡΡΠΎΠ²ΡΠ΅ ΡΠ΅ΡΡΡΡΡ |
Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΊΡΠ°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Pygame, Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ display. set_mode()
. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ init() ΠΈ quit() Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π΄Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠ΅Π³ΠΎ Π² Π½Π°ΡΠ°Π»Π΅ ΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ΄Π°. ΠΠ΅ΡΠΎΠ΄ update() ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π»ΡΠ±ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅ΡΠΎΠ΄, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, flip() , ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ update(). Π Π°Π·Π½ΠΈΡΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ update() ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ (ΠΎΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π½Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Ρ, ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ Π²Π΅ΡΡ ΡΠΊΡΠ°Π½), Π° ΠΌΠ΅ΡΠΎΠ΄ flip() ΡΠ½ΠΎΠ²Π° ΠΏΠ΅ΡΠ΅Π΄Π΅Π»ΡΠ²Π°Π΅Ρ Π²Π΅ΡΡ ΡΠΊΡΠ°Π½.ΠΠΠ:
ΠΈΠΌΠΏΠΎΡΡ pygame pygame.init() Π΄ΠΈΡ=pygame.display.set_mode((400,300)) pygame.display.update() pygame.Π²ΡΠΉΡΠΈ() quit()
ΠΠ«ΠΠΠ:
ΠΠΎ ΠΊΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΡΠΎΡ ΠΊΠΎΠ΄, ΡΠΊΡΠ°Π½ ΠΏΠΎΡΠ²ΠΈΡΡΡ, Π½ΠΎ ΠΎΠ½ ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ°Π·Ρ ΠΆΠ΅ Π·Π°ΠΊΡΠΎΠ΅ΡΡΡ. Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΎ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ», ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΠΊΠ» while, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠΉΠ΄Ρ ΠΈΠ· ΠΈΠ³ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
import pygame pygame.init() Π΄ΠΈΡ=pygame.display.set_mode((400,300)) pygame.display.update() pygame.display.set_caption('ΠΠΌΠ΅ΠΉΠΊΠ° ΠΎΡ Edureka') game_over = ΠΠΎΠΆΡ ΠΏΠΎΠΊΠ° Π½Π΅ game_over: Π΄Π»Ρ ΡΠΎΠ±ΡΡΠΈΡ Π² pygame.event.get(): print(event) #ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΡΠ²Π°Π΅Ρ Π²ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡΠΈΠ΅ Π½Π° ΡΠΊΡΠ°Π½Π΅ pygame.Π²ΡΠΉΡΠΈ() Π²ΡΠΉΡΠΈ()
ΠΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΡΠΎΡ ΠΊΠΎΠ΄, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ ΡΠΊΡΠ°Π½, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Π²ΠΈΠ΄Π΅Π»ΠΈ ΡΠ°Π½Π΅Π΅, Π½Π΅ Π·Π°ΠΊΡΡΠ²Π°Π΅ΡΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ Π½Π°Π΄ Π½ΠΈΠΌ. Π― ΡΠ΄Π΅Π»Π°Π» ΡΡΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ½ΠΊΡΠΈΡ event.get() . ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Ρ Π½Π°Π·Π²Π°Π» ΡΠΊΡΠ°Π½ Β«Snake Game by EdurekaΒ», ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ½ΠΊΡΠΈΡ display.set_caption() .
ΠΠ«ΠΠΠ:
Π’Π΅ΠΏΠ΅ΡΡ Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΠΊΡΠ°Π½ Π΄Π»Ρ ΠΈΠ³ΡΡ Π² Π·ΠΌΠ΅ΠΉΠΊΡ, Π½ΠΎ ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Π·Π°ΠΊΡΡΡΠΈΡ, ΡΠΊΡΠ°Π½ Π½Π΅ Π·Π°ΠΊΡΡΠ²Π°Π΅ΡΡΡ. ΠΡΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Π²Ρ Π½Π΅ ΡΠΊΠ°Π·Π°Π»ΠΈ, ΡΡΠΎ Π²Π°Ρ ΡΠΊΡΠ°Π½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΊΡΡΡΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π½Π°ΠΆΠΌΠ΅ΡΠ΅ ΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Π·Π°ΠΊΡΡΡΠΈΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Pygame ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΡΡΠΈΠ΅ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«ΠΠ«Π₯ΠΠΒ», ΠΈ Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:0004
ΠΈΠΌΠΏΠΎΡΡ pygame pygame. init() Π΄ΠΈΡ=pygame.display.set_mode((400,300)) pygame.display.update() pygame.display.set_caption('ΠΠΌΠ΅ΠΉΠΊΠ° ΠΎΡ Edureka') game_over = ΠΠΎΠΆΡ ΠΏΠΎΠΊΠ° Π½Π΅ game_over: Π΄Π»Ρ ΡΠΎΠ±ΡΡΠΈΡ Π² pygame.event.get(): Π΅ΡΠ»ΠΈ event.type==pygame.ΠΠ«ΠΠ’Π: game_over = ΠΡΡΠΈΠ½Π° pygame.Π²ΡΠΉΡΠΈ() quit()
ΠΡΠ°ΠΊ, ΡΠ΅ΠΏΠ΅ΡΡ Π²Π°Ρ ΡΠΊΡΠ°Π½ Π³ΠΎΡΠΎΠ². Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΡΠ°ΡΡΡ β Π½Π°ΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π°ΡΡ Π·ΠΌΠ΅Ρ Π½Π° ΡΠΊΡΠ°Π½Π΅, ΡΡΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅.
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π·ΠΌΠ΅Ρ:Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π·ΠΌΠ΅Ρ, Ρ ΡΠ½Π°ΡΠ°Π»Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ²Π΅ΡΠΎΠ²ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΡΡΠΎΠ±Ρ ΡΠ°ΡΠΊΡΠ°ΡΠΈΡΡ Π·ΠΌΠ΅Ρ, Π΅Π΄Ρ, ΡΠΊΡΠ°Π½ ΠΈ Ρ. Π΄. Π¦Π²Π΅ΡΠΎΠ²Π°Ρ ΡΡ Π΅ΠΌΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ Π² Pygame, β ΡΡΠΎ RGB, Ρ. Π΅. Β«ΠΡΠ°ΡΠ½ΡΠΉ ΠΠ΅Π»Π΅Π½ΡΠΉ Π‘ΠΈΠ½ΠΈΠΉΒ» . ΠΡΠ»ΠΈ Π²Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π²ΡΠ΅ ΡΡΠΎ Π½Π° 0, ΡΠ²Π΅Ρ Π±ΡΠ΄Π΅Ρ ΡΠ΅ΡΠ½ΡΠΌ, Π° Π²ΡΠ΅ 255 Π±ΡΠ΄ΡΡ Π±Π΅Π»ΡΠΌΠΈ. Π’Π°ΠΊ ΡΡΠΎ Π½Π°ΡΠ° Π·ΠΌΠ΅Ρ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠΌ. Π§ΡΠΎΠ±Ρ ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΈ Π² Pygame, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ 9.0008 draw.rect()Β
ΠΈΠΌΠΏΠΎΡΡ pygame pygame. init() Π΄ΠΈΡ=pygame.display.set_mode((400,300)) pygame.display.set_caption('ΠΠΌΠ΅ΠΉΠΊΠ° ΠΎΡ Edureka') ΡΠΈΠ½ΠΈΠΉ = (0,0,255) ΠΊΡΠ°ΡΠ½ΡΠΉ=(255,0,0) game_over = ΠΠΎΠΆΡ ΠΏΠΎΠΊΠ° Π½Π΅ game_over: Π΄Π»Ρ ΡΠΎΠ±ΡΡΠΈΡ Π² pygame.event.get(): Π΅ΡΠ»ΠΈ event.type==pygame.ΠΠ«ΠΠ’Π: game_over = ΠΡΡΠΈΠ½Π° pygame.draw.rect(dis,ΡΠΈΠ½ΠΈΠΉ,[200,150,10,10]) pygame.display.update() pygame.Π²ΡΠΉΡΠΈ() Π²ΡΠΉΡΠΈ()
ΠΠ«ΠΠΠ:
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, Π·ΠΌΠ΅Π΅Π³ΠΎΠ»ΠΎΠ² ΡΠΎΠ·Π΄Π°Π½ Π² Π²ΠΈΠ΄Π΅ ΡΠΈΠ½Π΅Π³ΠΎ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π³ β Π·Π°ΡΡΠ°Π²ΠΈΡΡ Π²Π°ΡΡ Π·ΠΌΠ΅Ρ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ.
ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·ΠΌΠ΅ΠΈ:
Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ Π·ΠΌΠ΅Ρ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ, ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡΠΈΠ΅ Π² ΠΊΠ»Π°ΡΡΠ΅ KEYDOWN Pygame. ΠΠ΄Π΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΎΠ±ΡΡΠΈΡ K_UP, K_DOWN, K_LEFT ΠΈ K_RIGHT, ΡΡΠΎΠ±Ρ Π·Π°ΡΡΠ°Π²ΠΈΡΡ Π·ΠΌΠ΅Ρ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ Π²Π²Π΅ΡΡ , Π²Π½ΠΈΠ·, Π²Π»Π΅Π²ΠΎ ΠΈ Π²ΠΏΡΠ°Π²ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠΊΡΠ°Π½ Π΄ΠΈΡΠΏΠ»Π΅Ρ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Ρ ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π° Π±Π΅Π»ΡΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ 9.0008 ΠΌΠ΅ΡΠΎΠ΄ fill()
.Π― ΡΠΎΠ·Π΄Π°Π» Π½ΠΎΠ²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ x1_change ΠΈ y1_change Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ x ΠΈ y.
ΠΈΠΌΠΏΠΎΡΡ pygame pygame.init() Π±Π΅Π»ΡΠΉ = (255, 255, 255) ΡΠ΅ΡΠ½ΡΠΉ = (0, 0, 0) ΠΊΡΠ°ΡΠ½ΡΠΉ = (255, 0, 0) dis = pygame.display.set_mode((800, 600)) pygame.display.set_caption('ΠΠΌΠ΅ΠΉΠΊΠ° ΠΎΡ Edureka') game_over = ΠΠΎΠΆΡ Ρ 1 = 300 Ρ1 = 300 Ρ 1_ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ = 0 Ρ1_ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ = 0 ΡΠ°ΡΡ = pygame.time.Clock() ΠΏΠΎΠΊΠ° Π½Π΅ game_over: Π΄Π»Ρ ΡΠΎΠ±ΡΡΠΈΡ Π² pygame.event.get(): Π΅ΡΠ»ΠΈ event.type == pygame.ΠΠ«ΠΠ’Π: game_over = ΠΡΡΠΈΠ½Π° Π΅ΡΠ»ΠΈ event.type == pygame.KEYDOWN: Π΅ΡΠ»ΠΈ event.key == pygame.K_LEFT: x1_change = -10 Ρ1_ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ = 0 elif event.key == pygame.K_RIGHT: Ρ 1_ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ = 10 Ρ1_ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ = 0 ΠΠ»ΠΈΡ event.key == pygame.K_UP: y1_change = -10 Ρ 1_ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ = 0 ΠΠ»ΠΈΡ event.key == pygame.K_DOWN: Ρ1_ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ = 10 Ρ 1_ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ = 0 x1 += x1_change y1 += y1_change Π΄ΠΈΡ.Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅(Π±Π΅Π»ΡΠΉ) pygame.draw.rect(dis, ΡΠ΅ΡΠ½ΡΠΉ, [x1, y1, 10, 10]) pygame.display.update() ΡΠ°ΡΡ.ΡΠΈΠΊ(30) pygame.Π²ΡΠΉΡΠΈ() Π²ΡΠΉΡΠΈ()
ΠΠ«ΠΠΠ:
ΠΠ³ΡΠ° ΠΎΠΊΠΎΠ½ΡΠ΅Π½Π°, ΠΊΠΎΠ³Π΄Π° ΠΠΌΠ΅Ρ Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ Π³ΡΠ°Π½ΠΈΡ:Π ΡΡΠΎΠΉ ΠΈΠ³ΡΠ΅ ΡΠΎ Π·ΠΌΠ΅ΡΠΌΠΈ, Π΅ΡΠ»ΠΈ ΠΈΠ³ΡΠΎΠΊ Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ Π³ΡΠ°Π½ΠΈΡ ΡΠΊΡΠ°Π½Π°, ΠΎΠ½ ΠΏΡΠΎΠΈΠ³ΡΡΠ²Π°Π΅Ρ. Π§ΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ ΡΡΠΎ, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ if, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΡΠ΅Π΄Π΅Π»Ρ Π΄Π»Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ x ΠΈ y Π·ΠΌΠ΅ΠΈ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ ΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌ ΡΠΊΡΠ°Π½Π°. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½Π΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅, ΡΡΠΎ Ρ ΡΠ΄Π°Π»ΠΈΠ» Ρ Π°ΡΠ΄ΠΊΠΎΠ΄Ρ ΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΡΡΠΎΠ±Ρ Π²Π°ΠΌ Π±ΡΠ»ΠΎ ΠΏΡΠΎΡΠ΅ Π²Π½ΠΎΡΠΈΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΈΠ³ΡΡ ΠΏΠΎΠ·ΠΆΠ΅.
ΠΈΠΌΠΏΠΎΡΡ pygame Π²ΡΠ΅ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠ° pygame.init() Π±Π΅Π»ΡΠΉ = (255, 255, 255) ΡΠ΅ΡΠ½ΡΠΉ = (0, 0, 0) ΠΊΡΠ°ΡΠ½ΡΠΉ = (255, 0, 0) dis_width = 800 dis_height = 600 dis = pygame.display.set_mode((dis_width, dis_width)) pygame.display.set_caption('ΠΠΌΠ΅ΠΉΠΊΠ° ΠΎΡ Edureka') game_over = ΠΠΎΠΆΡ x1 = ΡΠΈΡΠΈΠ½Π°_ΡΠΈΡΠΈΠ½Ρ/2 Ρ1 = Π²ΡΡΠΎΡΠ°_Π²ΡΡΠΎΡΡ/2 Π·ΠΌΠ΅Ρ_Π±Π»ΠΎΠΊ = 10 Ρ 1_ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ = 0 Ρ1_ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ = 0 ΡΠ°ΡΡ = pygame.time.Clock() Π·ΠΌΠ΅Ρ_ΡΠΊΠΎΡΠΎΡΡΡ=30 font_style = pygame. font.SysFont (Π½Π΅Ρ, 50) ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π·Π°ΡΠΈΡΡ (ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΡΠ²Π΅Ρ): ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ = ΡΡΠΈΠ»Ρ_ΡΡΠΈΡΡΠ°.ΡΠ΅Π½Π΄Π΅Ρ (ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΡΡΠΈΠ½Π°, ΡΠ²Π΅Ρ) dis.blit(mesg, [dis_width/2, dis_height/2]) ΠΏΠΎΠΊΠ° Π½Π΅ game_over: Π΄Π»Ρ ΡΠΎΠ±ΡΡΠΈΡ Π² pygame.event.get(): Π΅ΡΠ»ΠΈ event.type == pygame.ΠΠ«ΠΠ’Π: game_over = ΠΡΡΠΈΠ½Π° Π΅ΡΠ»ΠΈ event.type == pygame.KEYDOWN: Π΅ΡΠ»ΠΈ event.key == pygame.K_LEFT: x1_change = -snake_block Ρ1_ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ = 0 elif event.key == pygame.K_RIGHT: x1_change = Π·ΠΌΠ΅ΠΈΠ½ΡΠΉ_Π±Π»ΠΎΠΊ Ρ1_ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ = 0 ΠΠ»ΠΈΡ event.key == pygame.K_UP: y1_change = -snake_block Ρ 1_ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ = 0 ΠΠ»ΠΈΡ event.key == pygame.K_DOWN: y1_change = Π·ΠΌΠ΅ΠΈΠ½ΡΠΉ_Π±Π»ΠΎΠΊ Ρ 1_ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ = 0 Π΅ΡΠ»ΠΈ x1 >= dis_width ΠΈΠ»ΠΈ x1 < 0 ΠΈΠ»ΠΈ y1 >= dis_height ΠΈΠ»ΠΈ y1 < 0: game_over = ΠΡΡΠΈΠ½Π° x1 += x1_change y1 += y1_change Π΄ΠΈΡ.Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅(Π±Π΅Π»ΡΠΉ) pygame.draw.rect(dis, ΡΠ΅ΡΠ½ΡΠΉ, [x1, y1, Π·ΠΌΠ΅Ρ_Π±Π»ΠΎΠΊ, Π·ΠΌΠ΅Ρ_Π±Π»ΠΎΠΊ]) pygame. display.update() ΡΠ°ΡΡ.ΡΠΈΠΊ (snake_speed) ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅("ΠΡ ΠΏΠΎΡΠ΅ΡΡΠ»ΠΈ",ΠΊΡΠ°ΡΠ½ΡΠΉ) pygame.display.update() Π²ΡΠ΅ΠΌΡ ΡΠ½Π°(2) pygame.Π²ΡΠΉΡΠΈ() Π²ΡΠΉΡΠΈ()
ΠΠ«ΠΠΠ:
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΅Π΄Ρ:ΠΠ΄Π΅ΡΡ Ρ Π΄ΠΎΠ±Π°Π²Π»Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΅Π΄Ρ Π΄Π»Ρ Π·ΠΌΠ΅ΠΈ, ΠΈ ΠΊΠΎΠ³Π΄Π° Π·ΠΌΠ΅Ρ ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Ρ ΡΡΡ Π΅Π΄Ρ, Ρ ΠΌΠ΅Π½Ρ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Β«ΠΠΊΡΡΠ½ΡΡΠΊΠ°!!Β». ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Ρ Π²Π½Π΅ΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, Π²ΠΊΠ»ΡΡΠΈΠ² Π² Π½Π΅Π³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠΉΡΠΈ ΠΈΠ· ΠΈΠ³ΡΡ ΠΈΠ»ΠΈ ΡΠ½ΠΎΠ²Π° ΡΡΠ³ΡΠ°ΡΡ Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠΈΠ³ΡΡΡΠ°.
ΠΈΠΌΠΏΠΎΡΡ pygame Π²ΡΠ΅ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΉ pygame.init() Π±Π΅Π»ΡΠΉ = (255, 255, 255) ΡΠ΅ΡΠ½ΡΠΉ = (0, 0, 0) ΠΊΡΠ°ΡΠ½ΡΠΉ = (255, 0, 0) ΡΠΈΠ½ΠΈΠΉ = (0, 0, 255) dis_width = 800 dis_height = 600 dis = pygame.display.set_mode((dis_width, dis_height)) pygame.display.set_caption('ΠΠΌΠ΅ΠΉΠΊΠ° ΠΎΡ Edureka') ΡΠ°ΡΡ = pygame.time.Clock() Π·ΠΌΠ΅Ρ_Π±Π»ΠΎΠΊ = 10 Π·ΠΌΠ΅Ρ_ΡΠΊΠΎΡΠΎΡΡΡ = 30 font_style = pygame.font.SysFont (Π½Π΅Ρ, 30) ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ def (msg, ΡΠ²Π΅Ρ): ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ = ΡΡΠΈΠ»Ρ_ΡΡΠΈΡΡΠ°.ΡΠ΅Π½Π΄Π΅Ρ (ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΡΡΠΈΠ½Π°, ΡΠ²Π΅Ρ) dis.blit(mesg, [dis_width/3, dis_height/3]) def gameLoop(): # ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ game_over = ΠΠΎΠΆΡ game_close = ΠΠΎΠΆΡ x1 = ΡΠΈΡΠΈΠ½Π°_ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ / 2 Ρ1 = Π²ΡΡΠΎΡΠ°_Π²ΡΡΠΎΡΡ / 2 Ρ 1_ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ = 0 Ρ1_ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ = 0 foodx = round(random. randrange(0, dis_width - Π·ΠΌΠ΅Ρ_Π±Π»ΠΎΠΊ) / 10,0) * 10,0 foody = round(random.randrange(0, dis_width - Π·ΠΌΠ΅Ρ_Π±Π»ΠΎΠΊ) / 10.0) * 10.0 ΠΏΠΎΠΊΠ° Π½Π΅ game_over: Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ game_close == ΠΡΡΠΈΠ½Π°: Π΄ΠΈΡ.Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅(Π±Π΅Π»ΡΠΉ) message("ΠΡ ΠΏΡΠΎΠΈΠ³ΡΠ°Π»ΠΈ! ΠΠ°ΠΆΠΌΠΈΡΠ΅ Q-Quit ΠΈΠ»ΠΈ C-Play Π΅ΡΠ΅ ΡΠ°Π·", ΠΊΡΠ°ΡΠ½ΡΠΉ) pygame.display.update() Π΄Π»Ρ ΡΠΎΠ±ΡΡΠΈΡ Π² pygame.event.get(): Π΅ΡΠ»ΠΈ event.type == pygame.KEYDOWN: Π΅ΡΠ»ΠΈ event.key == pygame.K_q: game_over = ΠΡΡΠΈΠ½Π° game_close = ΠΠΎΠΆΡ Π΅ΡΠ»ΠΈ event.key == pygame.K_c: ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ»() Π΄Π»Ρ ΡΠΎΠ±ΡΡΠΈΡ Π² pygame.event.get(): Π΅ΡΠ»ΠΈ event.type == pygame.ΠΠ«ΠΠ’Π: game_over = ΠΡΡΠΈΠ½Π° Π΅ΡΠ»ΠΈ event.type == pygame.KEYDOWN: Π΅ΡΠ»ΠΈ event.key == pygame.K_LEFT: x1_change = -snake_block Ρ1_ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ = 0 elif event.key == pygame. K_RIGHT: x1_change = Π·ΠΌΠ΅ΠΈΠ½ΡΠΉ_Π±Π»ΠΎΠΊ Ρ1_ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ = 0 ΠΠ»ΠΈΡ event.key == pygame.K_UP: y1_change = -snake_block Ρ 1_ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ = 0 ΠΠ»ΠΈΡ event.key == pygame.K_DOWN: y1_change = Π·ΠΌΠ΅ΠΈΠ½ΡΠΉ_Π±Π»ΠΎΠΊ Ρ 1_ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ = 0 Π΅ΡΠ»ΠΈ x1 >= dis_width ΠΈΠ»ΠΈ x1 < 0 ΠΈΠ»ΠΈ y1 >= dis_height ΠΈΠ»ΠΈ y1 < 0: game_close = ΠΡΡΠΈΠ½Π° x1 += x1_change y1 += y1_change Π΄ΠΈΡ.Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅(Π±Π΅Π»ΡΠΉ) pygame.draw.rect(dis, blue, [foodx, foody, Π·ΠΌΠ΅Ρ_Π±Π»ΠΎΠΊ, Π·ΠΌΠ΅Ρ_Π±Π»ΠΎΠΊ]) pygame.draw.rect(dis, ΡΠ΅ΡΠ½ΡΠΉ, [x1, y1, Π·ΠΌΠ΅Ρ_Π±Π»ΠΎΠΊ, Π·ΠΌΠ΅Ρ_Π±Π»ΠΎΠΊ]) pygame.display.update() Π΅ΡΠ»ΠΈ x1 == foodx ΠΈ y1 == foody: print("ΠΠΊΡΡΠ½ΡΡΠΊΠ°!!") ΡΠ°ΡΡ.ΡΠΈΠΊ (snake_speed) pygame.Π²ΡΠΉΡΠΈ() ΠΏΠΎΠΊΠΈΠ΄Π°ΡΡ() ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ»()
ΠΠ«Π₯ΠΠ:
Π’Π΅ΡΠΌΠΈΠ½Π°Π»:
Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ Π·ΠΌΠ΅ΠΉΠΊΠΈ: 9 0002 Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΡΠ²Π΅Π»ΠΈΡΠΈΡ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π°ΡΠ΅Π³ΠΎ ΡΠ°ΠΊΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ ΡΡΠ΅ΡΡ Π΅Π΄Ρ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΅ΡΠ»ΠΈ Π·ΠΌΠ΅Ρ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎ ΡΠ²ΠΎΠΈΠΌ ΡΠ΅Π»ΠΎΠΌ, ΠΈΠ³ΡΠ° ΠΎΠΊΠΎΠ½ΡΠ΅Π½Π°, ΠΈ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Β«ΠΡ ΠΏΡΠΎΠΈΠ³ΡΠ°Π»ΠΈ! ΠΠ°ΠΆΠΌΠΈΡΠ΅ Q-Quit ΠΈΠ»ΠΈ C-Play Π΅ΡΠ΅ ΡΠ°Π·Β». ΠΠ»ΠΈΠ½Π° Π·ΠΌΠ΅ΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π² ΡΠΏΠΈΡΠΊΠ΅, Π° Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅, ΡΠ°Π²Π΅Π½ ΠΎΠ΄Π½ΠΎΠΌΡ Π±Π»ΠΎΠΊΡ.ΠΈΠΌΠΏΠΎΡΡ pygame Π²ΡΠ΅ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΉ pygame.init() Π±Π΅Π»ΡΠΉ = (255, 255, 255) ΠΆΠ΅Π»ΡΡΠΉ = (255, 255, 102) ΡΠ΅ΡΠ½ΡΠΉ = (0, 0, 0) ΠΊΡΠ°ΡΠ½ΡΠΉ = (213, 50, 80) Π·Π΅Π»Π΅Π½ΡΠΉ = (0, 255, 0) ΡΠΈΠ½ΠΈΠΉ = (50, 153, 213) dis_width = 600 dis_height = 400 dis = pygame.display.set_mode((dis_width, dis_height)) pygame.display.set_caption('ΠΠΌΠ΅ΠΉΠΊΠ° ΠΎΡ Edureka') ΡΠ°ΡΡ = pygame.time.Clock() Π·ΠΌΠ΅Ρ_Π±Π»ΠΎΠΊ = 10 Π·ΠΌΠ΅Ρ_ΡΠΊΠΎΡΠΎΡΡΡ = 15 font_style = pygame.font.SysFont("bahnschrift", 25) score_font = pygame.font.SysFont("comicsansms", 35) def our_snake (Π·ΠΌΠ΅ΠΈΠ½ΡΠΉ_Π±Π»ΠΎΠΊ, Π·ΠΌΠ΅ΠΈΠ½ΡΠΉ_ΡΠΏΠΈΡΠΎΠΊ): Π΄Π»Ρ x Π² Π·ΠΌΠ΅Π΅_ΡΠΏΠΈΡΠΊΠ΅: pygame.draw.rect (dis, ΡΠ΅ΡΠ½ΡΠΉ, [x [0], x [1], Π·ΠΌΠ΅Ρ_Π±Π»ΠΎΠΊ, Π·ΠΌΠ΅Ρ_Π±Π»ΠΎΠΊ]) ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ def (msg, ΡΠ²Π΅Ρ): ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ = ΡΡΠΈΠ»Ρ_ΡΡΠΈΡΡΠ°.ΡΠ΅Π½Π΄Π΅Ρ (ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΡΡΠΈΠ½Π°, ΡΠ²Π΅Ρ) dis. blit(mesg, [dis_width / 6, dis_height / 3]) ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°(): game_over = ΠΠΎΠΆΡ game_close = ΠΠΎΠΆΡ x1 = ΡΠΈΡΠΈΠ½Π°_ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ / 2 Ρ1 = Π²ΡΡΠΎΡΠ°_Π²ΡΡΠΎΡΡ / 2 Ρ 1_ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ = 0 Ρ1_ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ = 0 Π·ΠΌΠ΅Ρ_Π‘ΠΏΠΈΡΠΎΠΊ = [] ΠΠ»ΠΈΠ½Π°_Π·ΠΌΠ΅ΠΈ = 1 foodx = round(random.randrange(0, dis_width - Π·ΠΌΠ΅Ρ_Π±Π»ΠΎΠΊ) / 10,0) * 10,0 foody = round(random.randrange(0, dis_height - Π·ΠΌΠ΅Ρ_Π±Π»ΠΎΠΊ) / 10.0) * 10.0 ΠΏΠΎΠΊΠ° Π½Π΅ game_over: Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ game_close == ΠΡΡΠΈΠ½Π°: dis.fill (ΡΠΈΠ½ΠΈΠΉ) message("ΠΡ ΠΏΡΠΎΠΈΠ³ΡΠ°Π»ΠΈ! ΠΠ°ΠΆΠΌΠΈΡΠ΅ C-Play Π΅ΡΠ΅ ΡΠ°Π· ΠΈΠ»ΠΈ Q-Quit", ΠΊΡΠ°ΡΠ½ΡΠΉ) pygame.display.update() Π΄Π»Ρ ΡΠΎΠ±ΡΡΠΈΡ Π² pygame.event.get(): Π΅ΡΠ»ΠΈ event.type == pygame.KEYDOWN: Π΅ΡΠ»ΠΈ event.key == pygame.K_q: game_over = ΠΡΡΠΈΠ½Π° game_close = ΠΠΎΠΆΡ Π΅ΡΠ»ΠΈ event.key == pygame.K_c: ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ»() Π΄Π»Ρ ΡΠΎΠ±ΡΡΠΈΡ Π² pygame.event.get(): Π΅ΡΠ»ΠΈ event. type == pygame.ΠΠ«ΠΠ’Π: game_over = ΠΡΡΠΈΠ½Π° Π΅ΡΠ»ΠΈ event.type == pygame.KEYDOWN: Π΅ΡΠ»ΠΈ event.key == pygame.K_LEFT: x1_change = -snake_block Ρ1_ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ = 0 elif event.key == pygame.K_RIGHT: x1_change = Π·ΠΌΠ΅ΠΈΠ½ΡΠΉ_Π±Π»ΠΎΠΊ Ρ1_ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ = 0 ΠΠ»ΠΈΡ event.key == pygame.K_UP: y1_change = -snake_block Ρ 1_ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ = 0 ΠΠ»ΠΈΡ event.key == pygame.K_DOWN: y1_change = Π·ΠΌΠ΅ΠΈΠ½ΡΠΉ_Π±Π»ΠΎΠΊ Ρ 1_ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ = 0 Π΅ΡΠ»ΠΈ x1 >= dis_width ΠΈΠ»ΠΈ x1 < 0 ΠΈΠ»ΠΈ y1 >= dis_height ΠΈΠ»ΠΈ y1 < 0: game_close = ΠΡΡΠΈΠ½Π° x1 += x1_change y1 += y1_change dis.fill (ΡΠΈΠ½ΠΈΠΉ) pygame.draw.rect(dis, green, [foodx, foody, Π·ΠΌΠ΅Ρ_Π±Π»ΠΎΠΊ, Π·ΠΌΠ΅Ρ_Π±Π»ΠΎΠΊ]) Π·ΠΌΠ΅Ρ_Π³ΠΎΠ»ΠΎΠ²Π° = [] Π·ΠΌΠ΅Ρ_Head.append (x1) Π·ΠΌΠ΅Ρ_Head.append(y1) Π·ΠΌΠ΅Ρ_List.append (snake_Head) Π΅ΡΠ»ΠΈ len(snake_List) > Length_of_snake: ΡΠΏΠΈΡΠΎΠΊ_Π·ΠΌΠ΅ΠΉ[0] Π΄Π»Ρ x Π² Π·ΠΌΠ΅Π΅_List[:-1]: Π΅ΡΠ»ΠΈ Ρ == Π·ΠΌΠ΅Ρ_Π³ΠΎΠ»ΠΎΠ²Π°: game_close = ΠΡΡΠΈΠ½Π° Π½Π°ΡΠ°_Π·ΠΌΠ΅Ρ (Π·ΠΌΠ΅Ρ_Π±Π»ΠΎΠΊ, Π·ΠΌΠ΅Ρ_ΡΠΏΠΈΡΠΎΠΊ) pygame. display.update() Π΅ΡΠ»ΠΈ x1 == foodx ΠΈ y1 == foody: foodx = round(random.randrange(0, dis_width - Π·ΠΌΠ΅Ρ_Π±Π»ΠΎΠΊ) / 10,0) * 10,0 foody = round(random.randrange(0, dis_height - Π·ΠΌΠ΅Ρ_Π±Π»ΠΎΠΊ) / 10.0) * 10.0 ΠΠ»ΠΈΠ½Π°_Π·ΠΌΠ΅ΠΈ += 1 ΡΠ°ΡΡ.ΡΠΈΠΊ (snake_speed) pygame.Π²ΡΠΉΡΠΈ() ΠΏΠΎΠΊΠΈΠ΄Π°ΡΡ() ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ»()
ΠΠ«ΠΠΠ:
ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΠ°:Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅, Π½ΠΎ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½ΠΎΠ΅: Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΡΡΠ΅Ρ ΠΈΠ³ΡΠΎΠΊΠ°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Ρ ΡΠΎΠ·Π΄Π°Π» Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Β«Your_scoreΒ». ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π΄Π»ΠΈΠ½Ρ Π·ΠΌΠ΅ΠΈ Π·Π° Π²ΡΡΠ΅ΡΠΎΠΌ 1, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π·ΠΌΠ΅ΠΈ.
ΠΈΠΌΠΏΠΎΡΡ pygame Π²ΡΠ΅ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΉ pygame.init() Π±Π΅Π»ΡΠΉ = (255, 255, 255) ΠΆΠ΅Π»ΡΡΠΉ = (255, 255, 102) ΡΠ΅ΡΠ½ΡΠΉ = (0, 0, 0) ΠΊΡΠ°ΡΠ½ΡΠΉ = (213, 50, 80) Π·Π΅Π»Π΅Π½ΡΠΉ = (0, 255, 0) ΡΠΈΠ½ΠΈΠΉ = (50, 153, 213) dis_width = 600 dis_height = 400 dis = pygame.display.set_mode((dis_width, dis_height)) pygame.display.set_caption('ΠΠΌΠ΅ΠΉΠΊΠ° ΠΎΡ Edureka') ΡΠ°ΡΡ = pygame. time.Clock() Π·ΠΌΠ΅Ρ_Π±Π»ΠΎΠΊ = 10 Π·ΠΌΠ΅Ρ_ΡΠΊΠΎΡΠΎΡΡΡ = 15 font_style = pygame.font.SysFont("bahnschrift", 25) score_font = pygame.font.SysFont("comicsansms", 35) Def Your_score(ΡΡΠ΅Ρ): value = score_font.render("ΠΠ°ΡΠ° ΠΎΡΠ΅Π½ΠΊΠ°: " + str(score), True, ΠΆΠ΅Π»ΡΡΠΉ) dis.blit(Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, [0, 0]) def our_snake (Π·ΠΌΠ΅ΠΈΠ½ΡΠΉ_Π±Π»ΠΎΠΊ, Π·ΠΌΠ΅ΠΈΠ½ΡΠΉ_ΡΠΏΠΈΡΠΎΠΊ): Π΄Π»Ρ x Π² Π·ΠΌΠ΅Π΅_ΡΠΏΠΈΡΠΊΠ΅: pygame.draw.rect (dis, ΡΠ΅ΡΠ½ΡΠΉ, [x [0], x [1], Π·ΠΌΠ΅Ρ_Π±Π»ΠΎΠΊ, Π·ΠΌΠ΅Ρ_Π±Π»ΠΎΠΊ]) ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ def (msg, ΡΠ²Π΅Ρ): ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ = ΡΡΠΈΠ»Ρ_ΡΡΠΈΡΡΠ°.ΡΠ΅Π½Π΄Π΅Ρ (ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΡΡΠΈΠ½Π°, ΡΠ²Π΅Ρ) dis.blit(mesg, [dis_width / 6, dis_height / 3]) ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°(): game_over = ΠΠΎΠΆΡ game_close = ΠΠΎΠΆΡ x1 = ΡΠΈΡΠΈΠ½Π°_ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ / 2 Ρ1 = Π²ΡΡΠΎΡΠ°_Π²ΡΡΠΎΡΡ / 2 Ρ 1_ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ = 0 Ρ1_ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ = 0 Π·ΠΌΠ΅Ρ_Π‘ΠΏΠΈΡΠΎΠΊ = [] ΠΠ»ΠΈΠ½Π°_Π·ΠΌΠ΅ΠΈ = 1 foodx = round(random.randrange(0, dis_width - Π·ΠΌΠ΅Ρ_Π±Π»ΠΎΠΊ) / 10,0) * 10,0 foody = round(random.randrange(0, dis_height - Π·ΠΌΠ΅Ρ_Π±Π»ΠΎΠΊ) / 10.0) * 10.0 ΠΏΠΎΠΊΠ° Π½Π΅ game_over: Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ game_close == ΠΡΡΠΈΠ½Π°: dis. fill (ΡΠΈΠ½ΠΈΠΉ) message("ΠΡ ΠΏΡΠΎΠΈΠ³ΡΠ°Π»ΠΈ! ΠΠ°ΠΆΠΌΠΈΡΠ΅ C-Play Π΅ΡΠ΅ ΡΠ°Π· ΠΈΠ»ΠΈ Q-Quit", ΠΊΡΠ°ΡΠ½ΡΠΉ) Your_score(Length_of_snake - 1) pygame.display.update() Π΄Π»Ρ ΡΠΎΠ±ΡΡΠΈΡ Π² pygame.event.get(): Π΅ΡΠ»ΠΈ event.type == pygame.KEYDOWN: Π΅ΡΠ»ΠΈ event.key == pygame.K_q: game_over = ΠΡΡΠΈΠ½Π° game_close = ΠΠΎΠΆΡ Π΅ΡΠ»ΠΈ event.key == pygame.K_c: ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ»() Π΄Π»Ρ ΡΠΎΠ±ΡΡΠΈΡ Π² pygame.event.get(): Π΅ΡΠ»ΠΈ event.type == pygame.ΠΠ«ΠΠ’Π: game_over = ΠΡΡΠΈΠ½Π° Π΅ΡΠ»ΠΈ event.type == pygame.KEYDOWN: Π΅ΡΠ»ΠΈ event.key == pygame.K_LEFT: x1_change = -snake_block Ρ1_ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ = 0 elif event.key == pygame.K_RIGHT: x1_change = Π·ΠΌΠ΅ΠΈΠ½ΡΠΉ_Π±Π»ΠΎΠΊ Ρ1_ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ = 0 ΠΠ»ΠΈΡ event.key == pygame.K_UP: y1_change = -snake_block Ρ 1_ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ = 0 ΠΠ»ΠΈΡ event. key == pygame.K_DOWN: y1_change = Π·ΠΌΠ΅ΠΈΠ½ΡΠΉ_Π±Π»ΠΎΠΊ Ρ 1_ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ = 0 Π΅ΡΠ»ΠΈ x1 >= dis_width ΠΈΠ»ΠΈ x1 < 0 ΠΈΠ»ΠΈ y1 >= dis_height ΠΈΠ»ΠΈ y1 < 0: game_close = ΠΡΡΠΈΠ½Π° x1 += x1_change y1 += y1_change dis.fill (ΡΠΈΠ½ΠΈΠΉ) pygame.draw.rect(dis, green, [foodx, foody, Π·ΠΌΠ΅Ρ_Π±Π»ΠΎΠΊ, Π·ΠΌΠ΅Ρ_Π±Π»ΠΎΠΊ]) Π·ΠΌΠ΅Ρ_Π³ΠΎΠ»ΠΎΠ²Π° = [] Π·ΠΌΠ΅Ρ_Head.append (x1) Π·ΠΌΠ΅Ρ_Head.append(y1) Π·ΠΌΠ΅Ρ_List.append (snake_Head) Π΅ΡΠ»ΠΈ len(snake_List) > Length_of_snake: ΡΠΏΠΈΡΠΎΠΊ_Π·ΠΌΠ΅ΠΉ[0] Π΄Π»Ρ x Π² Π·ΠΌΠ΅Π΅_List[:-1]: Π΅ΡΠ»ΠΈ Ρ == Π·ΠΌΠ΅Ρ_Π³ΠΎΠ»ΠΎΠ²Π°: game_close = ΠΡΡΠΈΠ½Π° Π½Π°ΡΠ°_Π·ΠΌΠ΅Ρ (Π·ΠΌΠ΅Ρ_Π±Π»ΠΎΠΊ, Π·ΠΌΠ΅Ρ_ΡΠΏΠΈΡΠΎΠΊ) Your_score(Length_of_snake - 1) pygame.display.update() Π΅ΡΠ»ΠΈ x1 == foodx ΠΈ y1 == foody: foodx = round(random.randrange(0, dis_width - Π·ΠΌΠ΅Ρ_Π±Π»ΠΎΠΊ) / 10,0) * 10,0 foody = round(random.randrange(0, dis_height - Π·ΠΌΠ΅Ρ_Π±Π»ΠΎΠΊ) / 10.0) * 10.0 ΠΠ»ΠΈΠ½Π°_Π·ΠΌΠ΅ΠΈ += 1 ΡΠ°ΡΡ. ΡΠΈΠΊ (snake_speed) pygame.Π²ΡΠΉΡΠΈ() ΠΏΠΎΠΊΠΈΠ΄Π°ΡΡ() ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ»()
ΠΠ«ΠΠΠ:
ΠΠ° ΡΡΠΎΠΌ ΠΌΡ ΠΏΠΎΠ΄ΠΎΡΠ»ΠΈ ΠΊ ΠΊΠΎΠ½ΡΡ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ ΠΎΠ± ΠΈΠ³ΡΠ΅ Β«ΠΠΌΠ΅ΠΉΠΊΠ°Β» Π½Π° Python. Π― Π½Π°Π΄Π΅ΡΡΡ, ΡΡΠΎ Π²Ρ ΠΏΠΎΠ½ΡΠ»ΠΈ Π²ΡΠ΅, ΡΡΠΎ Π±ΡΠ»ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Ρ ΡΡΠ΅Π½ΠΈΡΡΠ΅ΡΠ΅ΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΠ΅ ΡΠ²ΠΎΠΉ ΠΎΠΏΡΡ. Β Β
ΠΡΡΡ ΠΊ Π½Π°ΠΌ Π²ΠΎΠΏΡΠΎΡ? ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΡΡΠΎ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΡΡΠΎΠ³ΠΎ Π±Π»ΠΎΠ³Π° Β«Snake Game in PythonΒ», ΠΈ ΠΌΡ ΡΠ²ΡΠΆΠ΅ΠΌΡΡ Ρ Π²Π°ΠΌΠΈ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΡΠ΅Π΅.
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π³Π»ΡΠ±ΠΎΠΊΠΈΠ΅ Π·Π½Π°Π½ΠΈΡ ΠΎ Π»ΡΠ±ΡΡ ΡΡΠ΅Π½Π΄ΠΎΠ²ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡ ΠΈ ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ , Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΏΡΡΠΌΠΎΠΉ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΈΒ Π‘Π΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΠΊΡΡΡ Python Ρ ΠΊΡΡΠ³Π»ΠΎΡΡΡΠΎΡΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΈ ΠΏΠΎΠΆΠΈΠ·Π½Π΅Π½Π½ΡΠΌ Π΄ΠΎΡΡΡΠΏΠΎΠΌ.
ΠΠΌΠ΅ΠΉΠΊΠ° Ρ PyGame | Replit Docs
Snake Π±ΡΠ»Π° Π½Π΅Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠΉ ΠΈΠ³ΡΠΎΠΉ, ΠΊΠΎΡΠΎΡΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΠΎΠΌΠ½ΠΈΠ»ΠΈ ΠΏΠΎ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠΌ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°ΠΌ 1990-Ρ Π³ΠΎΠ΄ΠΎΠ². ΠΠ° ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΡΠΎ Π±ΡΠ»Π° Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΠΈΠ³ΡΠ° Π½Π° ΡΠ΅Π»Π΅ΡΠΎΠ½Π΅. Π ΡΠ°ΠΌΠΎΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΎΡΠΌΠ΅ ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠ°Ρ ΠΈΠ³ΡΠ°, Π½ΠΎ Π²ΡΠ΅ ΠΆΠ΅ ΡΡΡΠ°Π½Π½ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π°Ρ. ΠΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ»ΠΈΡΠ½Π°Ρ ΠΈΠ³ΡΠ° Π΄Π»Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ² ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ³Ρ.
Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΠΌΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ ΡΠ°ΠΌΡΡ ΠΏΡΠΎΡΡΡΡ ΡΠΎΡΠΌΡ ΠΠΌΠ΅ΠΈ Π² pygame 9.0004
ΠΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅Π±-IDE Replit Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π°ΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ Snake.
ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΡΠΌΠ°Π΅ΠΌ, ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ. ΠΠΌΠ΅Ρ Π² ΡΠ²ΠΎΠ΅ΠΉ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΎΡΠΌΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ΅ΡΠΈΡ Π±Π»ΠΎΠΊΠΎΠ², ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΡ Π·ΠΌΠ΅Ρ, Π΄Π²ΠΈΠΆΡΡΡΡΡΡ ΠΏΠΎ ΡΠ΅ΡΠΊΠ΅, Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅Ρ ΠΈΠ³ΡΠΎΠΊ. Π’Π°ΠΊΠΆΠ΅ Π² Π½Π΅ΠΉ Π΅ΡΡΡ ΠΏΡΠΎΡΡΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° β ΠΊΠΎΠ³Π΄Π° Π·ΠΌΠ΅Ρ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΡΡΠΎΡΠΎΠ½ ΡΠΊΡΠ°Π½Π°, ΠΎΠ½Π° ΡΠΌΠΈΡΠ°Π΅Ρ. ΠΡΠ»ΠΈ Π·ΠΌΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΊΡΠ΅ΡΡΠΈΡΡΡ, ΠΎΠ½Π° ΡΠΎΠΆΠ΅ ΠΏΠΎΠ³ΠΈΠ±Π½Π΅Ρ. ΠΡΠ»ΠΈ Π·ΠΌΠ΅Ρ ΡΡΠ΅ΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΅Π΄Ρ (Π±Π»ΠΎΠΊ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°), ΠΎΠ½Π° Π²ΡΡΠ°ΡΡΠ΅Ρ Π½Π° 1 Π±Π»ΠΎΠΊ. ΠΠ°ΡΠ΅ΠΌ Π΅Π΄Π° ΡΠ½ΠΎΠ²Π° ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π² Π΄ΡΡΠ³ΠΎΠΌ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ Π½Π° ΡΠΊΡΠ°Π½Π΅.
ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΡΡΡΠΎΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²:
- Π‘ΠΏΠΎΡΠΎΠ± ΡΠΈΡΠΎΠ²Π°ΡΡ Π±Π»ΠΎΠΊΠΈ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ ΠΈΡ ΠΏΠΎ ΡΠΊΡΠ°Π½Ρ.
- Π‘ΠΏΠΎΡΠΎΠ± ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΎΡ ΠΈΠ³ΡΠΎΠΊΠ° ΠΊ Π·ΠΌΠ΅Π΅.
- Π‘ΠΏΠΎΡΠΎΠ± ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, Π²ΡΡΠ»Π° Π»ΠΈ Π·ΠΌΠ΅Ρ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΡΠΊΡΠ°Π½Π°.
- Π‘ΠΏΠΎΡΠΎΠ± ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΏΠ΅ΡΠ΅ΡΡΡΠΏΠΈΠ»Π° Π»ΠΈ Π·ΠΌΠ΅Ρ ΡΠ΅ΡΠ΅Π· ΡΠ΅Π±Ρ (ΠΈΠ»ΠΈ ΡΠΊΡΡΠΈΠ»Π° ΡΠ΅Π±Ρ, ΠΊΠ°ΠΊ Π΄ΡΡΠ³Π°Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ).
- Π‘ΠΏΠΎΡΠΎΠ± ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π΅Π΄Ρ Π½Π° ΡΠΊΡΠ°Π½Π΅.
- Π‘ΠΏΠΎΡΠΎΠ± ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΡΠ΅Π»Π° Π»ΠΈ Π·ΠΌΠ΅Ρ ΠΏΠΈΡΡ ΠΈΠ»ΠΈ ΠΏΡΠΈΠΊΠΎΡΠ½ΡΠ»Π°ΡΡ ΠΊ Π½Π΅ΠΉ.
- Π‘ΠΏΠΎΡΠΎΠ± Π²ΡΡΠ°ΡΠΈΠ²Π°Π½ΠΈΡ Π·ΠΌΠ΅ΠΈ.
ΠΡΡΡ Π½Π°Π΄ ΡΠ΅ΠΌ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ! ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°ΡΠ½Π΅ΠΌ ΠΈ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΠΎΠ΅ΠΊΡ Π² Replit.
ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ Replit ΠΈ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ repl. ΠΡΠ±Π΅ΡΠΈΡΠ΅ Python Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ·ΡΠΊΠ°. Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°ΠΉΡΠ΅ ΡΡΠΎΠΉ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ΅ ΠΈΠΌΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Β«snake-pygameΒ».
ΠΠΎΡΠ»Π΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ repl Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ°ΠΉΠ» main.py
. ΠΠ΄Π΅ΡΡ ΠΌΡ Π½Π°ΡΠ½Π΅ΠΌ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ.
ΠΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ ΠΈΠ³ΡΠΎΠ²Π°Ρ ΡΡΠ΅Π΄Π° Π² Python β ΡΡΠΎ pygame. ΠΠ½ ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΡΠΌ ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΠΊΡΠ°Π½Π΅, Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ, Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Π·Π²ΡΠΊΠΎΠ² ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ. ΠΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΡΠΎΠΉ ΠΈΠ³ΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊ ΠΎΠ½Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π² Π½Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ Π² Π½Π°Ρ ΡΠ°ΠΉΠ» main.py
:
import pygame
Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ pygame, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠΎΠ΄ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ: ()
bounds = (300,300)
window = pygame. display.set_mode(bounds)
pygame.display.set_caption("Snake")
Π‘ΡΡΠΎΠΊΠ° 1 ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΡ pygame, ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡ Π΅Π΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ΄ ΡΡΠΈΡΡΠ°, Π·Π²ΡΠΊΠ° ΠΈΠ»ΠΈ Π³ΡΠ°ΡΠΈΠΊΠΈ). Π‘ΡΡΠΎΠΊΠ° 2 ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΡΡΠ΅ΠΆ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ bounds
. ΠΡΠΎΡ ΠΊΠΎΡΡΠ΅ΠΆ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΎΠΊΠ½Π°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π½Π°ΡΡ ΠΈΠ³ΡΡ ΠΏΡΠΎ Π·ΠΌΠ΅ΠΉΠΊΡ. Π‘ΡΡΠΎΠΊΠ° 3 ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π°ΡΠ΅ΠΉ ΠΈΠ³ΡΡ. Π‘ΡΡΠΎΠΊΠ° 4 Π΄Π°Π΅Ρ ΠΎΠΊΠ½Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΈΠ»ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ΅, ΡΡΠΎ Π²Ρ Ρ
ΠΎΡΠ΅Π»ΠΈ Π±Ρ Π½Π°Π·Π²Π°ΡΡ ΠΈΠ³ΡΠΎΠΉ.
ΠΡΠ»ΠΈ Π²Ρ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ « Run > » Π²Π²Π΅ΡΡ Ρ Π² ΡΠ΅Π½ΡΡΠ΅ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΏΡΡΡΠΎΠ΅ ΠΎΠΊΠ½ΠΎ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²ΡΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ΠΎ ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ.
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΡΡΡΡΠΊΡΡΡΠ°, Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΊΠ»Π°ΡΡ Π΄Π»Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π°ΡΠ΅ΠΉ Π·ΠΌΠ΅ΠΈ. Π£ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π±ΡΠ΄ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΠ±ΡΠ·Π°Π½Π½ΠΎΡΡΠΈ:
- Π‘Π»Π΅Π΄ΠΈΡΡ Π·Π° ΡΠ΅ΠΌ, Π³Π΄Π΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π·ΠΌΠ΅Ρ.
- ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ Π·ΠΌΠ΅ΠΈ.
- ΠΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ Π·ΠΌΠ΅Π΅ ΡΠ°ΡΡΠΈ.
- ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΈ Ρ Π³ΡΠ°Π½ΠΈΡΠ°ΠΌΠΈ ΠΎΠΊΠ½Π°.
- ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΎΠ³ΠΎ, Π½Π΅ ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ»Π° Π»ΠΈ Π·ΠΌΠ΅Ρ (Β«ΡΠΊΡΡΠΈΠ»Π°Β») ΡΠ΅Π±Ρ
- ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ Π·ΠΌΠ΅ΠΈ.
ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°ΡΠ½Π΅ΠΌ Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π·ΠΌΠ΅Ρ.py
. ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
ΠΈΠ· enum import Enumclass Direction(Enum):
UP = 0
DOWN = 1
LEFT = 2
RIGHT = 3class Snake:
length = None
direction = None 9001 2 ΡΠ΅Π»Π° = None
block_size = None
color = (0,0,255)
bounds = Nonedef __init__(self, block_size, bounds):
self.block_size = block_size
self.bounds = bounds
self.respawn()def respawn(self):
self.length = 3
self.body = [(20,20),(20,40),(20,60)]
self.direction = Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ .DOWN
ΠΠ΅ΡΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ Π² ΡΡΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ β ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΠΎΡΠΎΡΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΡΠ³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°ΡΡ Π½Π°Π±ΠΎΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ. ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ Π·ΠΌΠ΅Ρ, ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, Π»Π΅Π³ΠΊΠΎ ΡΠΈΡΠ°Π΅ΠΌΡΠΌ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΌ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΏΡΠΎΡΡΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΈΡΠ΅Π» ΠΈΠ»ΠΈ ΡΡΡΠΎΠΊ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ.
ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΠ°ΠΌ ΠΊΠ»Π°ΡΡ Snake
. ΠΠ΅ΡΠ²ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ β Π² Python ΡΡΠΎ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ, Π½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΈΠ»ΠΈ ΡΠ²ΠΎΠΉΡΡΠ² Π² Π½Π°ΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡΠ΅.
ΠΠ°ΡΠ΅ΠΌ Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π² ΡΡΡΠΎΠΊΠ΅, Π½Π°ΡΠΈΠ½Π°ΡΡΠ΅ΠΉΡΡ Ρ def __init__
. ΠΠΎΠ³Π΄Π° ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ° Snake
, ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ block_size
, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ΅Π»ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°, ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ Π½Π°ΡΡ ΡΠ΅ΡΠΊΡ. ΠΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° Π·ΠΌΠ΅ΠΉΠΊΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π·ΠΌΠ΅ΠΉΠΊΠΈ Π½Π° Π΄ΠΎΡΠΊΠ΅. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΠΌ Π² ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅Ρ
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π½Π°Π±ΠΎΡ ΡΠ΅Π»ΡΡ
ΡΠΈΡΠ΅Π» Ρ ΡΠΈΡΠΈΠ½ΠΎΠΉ ΠΈ Π²ΡΡΠΎΡΠΎΠΉ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ (ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ°, ΡΡΠΎ ΠΈ ΠΎΠ±Π»Π°ΡΡΡ ΡΠΊΡΠ°Π½Π°). Π’Π°ΠΊ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π²ΡΡΠ»Π° Π»ΠΈ Π·ΠΌΠ΅Ρ Π·Π° Π³ΡΠ°Π½ΠΈΡΡ. Π ΠΌΠ΅ΡΠΎΠ΄Π΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠ° ΠΌΡ Π½Π°Π·Π½Π°ΡΠ°Π΅ΠΌ ΡΡΠΈ Π²Ρ
ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠ° Π½Π°ΡΠΈΠΌ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ·ΠΆΠ΅ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ
Π² Π΄ΡΡΠ³ΠΈΡ
ΠΌΠ΅ΡΠΎΠ΄Π°Ρ
. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ Π½Π°Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ respawn
, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ Π΄Π»ΠΈΠ½Ρ Π·ΠΌΠ΅ΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° ΡΠ΅Π»Π° ΠΈ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ½ΠΈΠΌ Π²ΠΎΠ·ΡΠΎΠΆΠ΄Π°Π΅ΡΡΡ
Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π·ΠΌΠ΅Ρ ΠΏΠ°Π΄Π°Π΅Ρ ΠΈΠ»ΠΈ ΡΠΌΠΈΡΠ°Π΅Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ, ΡΡΠΎΠ±Ρ ΡΠ±ΡΠΎΡΠΈΡΡ ΠΈΠ³ΡΡ.
ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ body
. ΠΡΠΎ ΡΠΏΠΈΡΠΎΠΊ Python, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΊΠΎΡΡΠ΅ΠΆΠΈ (ΠΈΠ»ΠΈ ΠΏΠ°ΡΡ) ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ. ΠΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· ΡΡΠΈΡ
ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ Π²Π΅ΡΡ
Π½ΠΈΠ΅ Π»Π΅Π²ΡΠ΅ x ΠΈ y ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΊΡΠ°Π½Π° ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° ΡΠ΅Π»Π° ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊΠ°. ΠΡ Π±ΡΠ΄Π΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ (Π΄ΠΎΠΏΠΎΠ»Π½ΡΡΡ) ΡΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΡΠΎΡΡΠ° Π·ΠΌΠ΅ΠΈ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ ΠΏΡΠΈ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π·ΠΌΠ΅ΠΈ.
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΎΡΠ½ΠΎΠ²Ρ ΠΠ»Π°ΡΡ Snake
ΠΈ Π΅Π³ΠΎ ΠΊΠΎΠ΄ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π·Π°ΠΏΡΡΠ΅Π½Ρ, Π΄Π°Π²Π°ΠΉΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·ΠΌΠ΅ΠΈ Π½Π° ΡΠΊΡΠ°Π½Π΅. ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΠΎ ΠΊ ΠΊΠ»Π°ΡΡΡ Snake
:
def draw(self, game, window):
Π΄Π»Ρ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° Π² self.body:
game.draw.rect(window, self.color, (segment[0],segment[ 1],self. block_size, self.block_size))
ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ pygame, game
ΠΈ ΠΎΠΊΠ½ΠΎ (ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅ΡΡ
Π½ΠΎΡΡΡ Π² ΠΎΠ±ΡΠ΅ΠΉ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ pygame) Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ°ΡΠ΅ΠΌ ΠΎΠ½ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΡΠ΅ΠΆΠ΅ΠΉ Π² body
ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ pygame, Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π² ΠΌΠ΅ΡΠΎΠ΄ draw.rect
, Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΈΠ»ΠΈ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° Π·ΠΌΠ΅ΠΈ Π² ΡΠΏΠΈΡΠΊΠ΅ body. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π½Π°Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ block_size
Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠΈΡΠΈΠ½Ρ ΠΈ Π²ΡΡΠΎΡΡ Π½Π°ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΠΎ, ΡΡΠΎ Ρ Π½Π°Ρ Π΅ΡΡΡ. ΠΡ ΠΏΡΠΎΡΡΠΎ ΡΠ²ΠΈΠ΄ΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π±Π»ΠΎΠΊΠΎΠ² Π½Π° ΡΠΊΡΠ°Π½Π΅, Π½ΠΎ ΡΡΠΎ Ρ
ΠΎΡΠΎΡΠΈΠΉ ΡΠ΅ΡΡ, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ, Π²ΡΠ΅ Π»ΠΈ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΏΡΡΠΈ. Π§ΡΠΎΠ±Ρ ΡΡΠΎ Π·Π°ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ ΠΈ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Snake
ΠΈ Π½Π°ΡΡΡΠΎΠΈΠΌ ΠΏΠ΅ΡΠ²ΡΡ ΡΠ°ΡΡΡ Π½Π°ΡΠ΅Π³ΠΎ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° Π² main.py
.
ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΊΠ»Π°ΡΡΠΎΠ² Π² ΡΠ°ΠΉΠ» snake.py
Π²Π²Π΅ΡΡ
Ρ ΡΠ°ΠΉΠ»Π° main.py
, ΡΡΠ°Π·Ρ ΠΏΠΎΠ΄ ΡΡΡΠΎΠΊΠΎΠΉ import pygame
: ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΠΏΡΡΠΌΠΎ ΠΏΠΎΠ΄ ΡΡΡΠΎΠΊΠΎΠΉ pygame. display.set_caption("Snake")
:
block_size = 20
Π·ΠΌΠ΅Ρ = Snake(block_size, bounds)
ΠΡΠΎΡ ΠΊΠΎΠ΄ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π½Π°Ρ block_size
Π΄Π»Ρ Π½Π°ΡΠ΅ΠΉ ΡΠ΅ΡΠΊΠΈ Π² ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 20 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π°ΡΠ΅Π³ΠΎ ΠΠ»Π°ΡΡ Snake
Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ Π±Π»ΠΎΠΊΠ° ΠΈ Π³ΡΠ°Π½ΠΈΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π°ΡΠ΅Π³ΠΎ ΠΎΠΊΠ½Π°, ΠΈ ΡΡΠΎ ΡΠΎ, ΡΡΠΎ Π·ΠΌΠ΅ΠΉΠΊΠ° Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ, Π½Π΅ ΡΠ΄Π°ΡΠΈΡ Π»ΠΈ ΠΎΠ½Π° ΠΏΠΎ ΠΊΡΠ°Ρ ΠΎΠΊΠ½Π°.
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΠΌ Π½Π°Ρ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ». ΠΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ» β ΡΡΠΎ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½ΠΈΡΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΈΠ³Ρ. ΠΠ½ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°, ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΡΡΠ°ΡΡΡ ΠΈΠ³ΡΠΎΠΊΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ·ΠΈΡΠΈΡ, ΡΡΠ΅Ρ ΠΈ Ρ. Π΄.), ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΈ ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ Π² ΡΠ°ΠΉΠ» main.py
, ΡΡΠΎΠ±Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ»:
run = True
while run:
pygame.time.delay(100)Π΄Π»Ρ ΡΠΎΠ±ΡΡΠΈΡ Π² pygame.event.get():
if event.type == pygame.QUIT:
run = Falsewindow. fill ((0,0,0))
snake.draw(pygame, window)
pygame.display.flip()
ΠΡΠΎΡ ΠΊΠΎΠ΄ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΈΠΊΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠ΅ 100 ΠΌΡ, ΠΏΠΎΠΊΠ° ΠΈΠ· ΠΎΠΊΠ½Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ ΡΠΈΠ³Π½Π°Π» Π²ΡΡ
ΠΎΠ΄Π°. . ΠΡΠΎ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΈΠ³ΡΠΎΠΊ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ ΠΊΠ½ΠΎΠΏΠΊΡ Β«ΠΠ°ΠΊΡΡΡΡ ΠΎΠΊΠ½ΠΎΒ» Π² Π²Π΅ΡΡ
Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΠΎΠΊΠ½Π°. Pygame ΠΈΠΌΠ΅Π΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΈΡΠ°ΡΡ ΡΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π·Π°ΡΠΈΠΊΠ»ΠΈΠ²Π°Π΅ΠΌΡΡ Π² Π½Π°ΡΠ΅ΠΌ ΠΈΠ³ΡΠΎΠ²ΠΎΠΌ ΡΠΈΠΊΠ»Π΅, ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ, Π½Π΅ Π±ΡΠ»ΠΎ Π»ΠΈ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ ΠΈΠ· ΡΠΎΠ±ΡΡΠΈΠΉ ΡΠΈΡΠ»ΠΎΠΌ 9.0331 Π‘ΠΈΠ³Π½Π°Π» ΠΠ«ΠΠ’Π . ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΈΠΊΠ»Π° Π½Π° False
, ΠΈ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΡΠΈΠΊΠ» Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ, Π½Π°ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ while
Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΡΠΈΠ½Π½ΡΠΌ, ΠΈ ΠΈΠ³ΡΠ° Π·Π°Π²Π΅ΡΡΠΈΡΡΡ.
ΠΠ°Ρ ΡΠΈΠΊΠ» ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΈΡΠ°Π΅Ρ ΠΎΠΊΠ½ΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°ΡΠ½Π΄Π΅, Π³ΠΎΡΠΎΠ²ΡΡΡ ΠΊ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈΠ³ΡΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ ΡΡΠΎ Π² ΡΡΡΠΎΠΊΠ΅ window.fill((0,0,0))
. ΠΡΠΎ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²ΡΠ΅ ΠΎΠΊΠ½ΠΎ ΡΠ΅ΡΠ½ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ Π² ΠΊΠΎΡΡΠ΅ΠΆΠ΅ ΡΠ²Π΅ΡΠ° RGB (0,0,0)
. Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠΈΡΡΡΠΉ Π»ΠΈΡΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°Π·Π²Π°ΡΡ Π½Π°ΡΠΈΡΡΠΉΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄
Π½Π° Π½Π°ΡΠ΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ΅-Π·ΠΌΠ΅Π΅. ΠΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΡ pygame ΠΈ Window, ΡΡΠΎΠ±Ρ Snake ΠΌΠΎΠ³ ΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Π½ΠΈΡ
. ΠΠΎΠ³Π΄Π° ΠΌΡ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ Π½Π°ΡΡ Π΅Π΄Ρ, ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π½Π°Π·ΡΠ²Π°ΡΡ Π΅Π΅ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ Π΄Π΅Π»Π°Π΅ΠΌ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³ Π½Π° ΡΠΊΡΠ°Π½, Π²ΡΠ·ΡΠ²Π°Ρ pygame.display.flip()
. ΠΡΠΎ Π±Π΅ΡΠ΅Ρ Π²ΡΠ΅ Π½Π°ΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈ Β«ΠΏΠ΅ΡΠ΅Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅ΡΒ» ΠΈΡ
ΠΈΠ· ΠΎΠΊΠΎΠ½Π½ΠΎΠ³ΠΎ Π±ΡΡΠ΅ΡΠ° Π½Π° ΡΠΊΡΠ°Π½.
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΠΎ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ» ΠΈ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½Π°ΠΆΠ°Π² Π±ΠΎΠ»ΡΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ « Run > » Π² Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ repl. Π ΠΏΡΠ°Π²ΠΎΠΌ Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ³Π»Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ΅ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΠΈΠΌΠΈ Π·ΠΌΠ΅Ρ.
ΠΠ°Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π³ β Π·Π°ΡΡΠ°Π²ΠΈΡΡ Π·ΠΌΠ΅Ρ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ ΠΏΠΎ ΡΠΊΡΠ°Π½Ρ. Π‘ΠΏΠΎΡΠΎΠ± ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ β ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π² ΠΊΠ°ΠΊΠΎΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π΄Π²ΠΈΠΆΠ΅ΡΡΡ Π·ΠΌΠ΅Ρ, ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π±Π»ΠΎΠΊ ΠΏΠ΅ΡΠ΅Π΄ Π·ΠΌΠ΅Π΅ΠΉ Π² ΡΡΠΎΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ. ΠΠ°ΡΠ΅ΠΌ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ Π±Π»ΠΎΠΊ Π² Ρ Π²ΠΎΡΡΠΎΠ²ΠΎΠΉ ΡΠ°ΡΡΠΈ Π·ΠΌΠ΅ΠΈ.
Π§ΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π² ΠΊΠ»Π°ΡΡ Snake
Π² ΡΠ°ΠΉΠ»Π΅ snap. py
:
def move(self):
curr_head = self.body[-1]
if self.direction == Direction .DOWN:
next_head = (curr_head[0], curr_head[1] + self.block_size)
self.body.append(next_head)
elif self.direction == Direction.UP:
next_head = (curr_head[0], curr_head[1] - self.block_size)
self.body.append(next_head)
elif self .direction == Direction.RIGHT:
next_head = (curr_head[0] + self.block_size, curr_head[1])
self.body.append(next_head)
elif self.direction == Direction.LEFT:
next_head = ( curr_head[0] - self.block_size, curr_head[1])
self.body.append(next_head), Π΅ΡΠ»ΠΈ self.length < len(self.body):
self.body.pop(0)
ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Β«Π³ΠΎΠ»ΠΎΠ²ΡΒ» Π·ΠΌΠ΅ΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ Π½Π°ΡΠ΅Π³ΠΎ ΡΠΏΠΈΡΠΊΠ° body
. Python ΠΈΠΌΠ΅Π΅Ρ ΡΠ΄ΠΎΠ±Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ
ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ². ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΈΠ½Π΄Π΅ΠΊΡ -1
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΡΠΏΠΈΡΠΊΠ΅, -2
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π½ΡΡ ΡΠ°ΡΡΡ Π·ΠΌΠ΅ΠΈ Π² Π½Π°ΡΠ΅ΠΌ ΡΠΏΠΈΡΠΊΠ΅ ΡΠ΅Π», ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠ΄ curr_head = self.body[-1]
.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π³ΠΎΠ»ΠΎΠ²Ρ Π·ΠΌΠ΅ΠΈ, ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, Π² ΠΊΠ°ΠΊΠΎΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π΄Π²ΠΈΠΆΠ΅ΡΡΡ Π·ΠΌΠ΅Ρ. ΠΡΠ»ΠΈ ΠΎΠ½Π° Π΄Π²ΠΈΠΆΠ΅ΡΡΡ Π²Π²Π΅ΡΡ
ΠΈΠ»ΠΈ Π²Π½ΠΈΠ·, ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π½ΠΎΠ²ΡΠΉ Π±Π»ΠΎΠΊ, ΠΊΠΎΠΏΠΈΡΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ x ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π³ΠΎΠ»ΠΎΠ²Ρ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡ ΠΈΠ»ΠΈ Π²ΡΡΠΈΡΠ°Ρ (Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΈΠ΄Π΅Ρ Π»ΠΈ Π·ΠΌΠ΅ΠΉΠΊΠ° Π²Π²Π΅ΡΡ
ΠΈΠ»ΠΈ Π²Π½ΠΈΠ·) ΠΎΠ΄Π½Π° ΡΠ΅ΡΠΊΠ° block_size
Π½Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ y. Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, Π΅ΡΠ»ΠΈ Π·ΠΌΠ΅Ρ Π΄Π²ΠΈΠΆΠ΅ΡΡΡ Π²Π»Π΅Π²ΠΎ ΠΈΠ»ΠΈ Π²ΠΏΡΠ°Π²ΠΎ, ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π½ΠΎΠ²ΡΠΉ Π±Π»ΠΎΠΊ Π² ΡΠΏΠΈΡΠΎΠΊ body
, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ y ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π³ΠΎΠ»ΠΎΠ²Ρ, Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ x Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ block_size
.
ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π΅Π»Π°Π½ΠΎ, ΠΌΡ ΡΠ΄Π°Π»ΠΈΠΌ Π±Π»ΠΎΠΊ Π² Ρ
Π²ΠΎΡΡΠΎΠ²ΠΎΠΉ ΡΠ°ΡΡΠΈ Π·ΠΌΠ΅ΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠ΄ self.body.pop(0)
. ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΡΡΠΈΠΌ Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅: if self.length < len(self.body)
. ΠΡΠΎ Π²Π°ΠΆΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π΄ΠΎΠ±Π΅ΡΠ΅ΠΌΡΡ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π·ΠΌΠ΅Ρ Π΅ΡΡ ΠΈΠ»ΠΈ ΡΠ°ΡΡΠ΅Ρ. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π·ΠΌΠ΅Ρ Π΅ΡΡ, ΠΌΡ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ Π΄Π»ΠΈΠ½Π°
ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π·ΠΌΠ΅ΠΈ. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ length
, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, Π΄ΠΎΠ»ΠΆΠ½Ρ Π»ΠΈ ΠΌΡ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ΄Π°Π»ΡΡΡ Ρ
Π²ΠΎΡΡΠΎΠ²ΠΎΠΉ ΡΠ΅Π³ΠΌΠ΅Π½Ρ Π·ΠΌΠ΅ΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° Π΄Π²ΠΈΠΆΠ΅ΡΡΡ.
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π²ΡΠ·ΠΎΠ² ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° move
Π² Π½Π°Ρ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ». Π ΡΠ°ΠΉΠ»Π΅ main.py
ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ», ΡΡΠΎΠ±Ρ Π²ΡΠ·Π²Π°ΡΡ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄:
run = True
while run:
pygame.time.delay(100)Π΄Π»Ρ ΡΠΎΠ±ΡΡΠΈΡ Π² pygame.event.get():
if event.type == pygame.QUIT:
run = FalseΠ·ΠΌΠ΅ΠΉΠΊΠ°.move()
window.fill((0,0,0))
Π·ΠΌΠ΅ΠΉΠΊΠ°.draw(pygame, ΠΎΠΊΠ½ΠΎ)
pygame.display.update()
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΡΡΡΠΎΠΊΡ Π·ΠΌΠ΅Ρ.move()
. ΠΡΠΎ Π²ΡΠ·ΠΎΠ²Π΅Ρ Π½Π°Ρ ΠΌΠ΅ΡΠΎΠ΄ move
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ»ΠΈ ΠΊ Π½Π°ΡΠ΅ΠΉ Π·ΠΌΠ΅ΠΉΠΊΠ΅ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠΈΠΊΠ»Π΅. ΠΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΠ΅, ΡΡΠΎ Π·ΠΌΠ΅Ρ ΠΏΠ»Π°Π²Π½ΠΎ Π΄Π²ΠΈΠΆΠ΅ΡΡΡ ΠΏΠΎ ΡΠΊΡΠ°Π½Ρ. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΡΠΎ, Π½Π°ΠΆΠ°Π² ΠΊΠ½ΠΎΠΏΠΊΡ Β« Run > Β» Π² Π²Π΅ΡΡ
Π½Π΅ΠΉ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ repl. ΠΠΌΠ΅Ρ Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Π² Π»Π΅Π²ΠΎΠΌ Π²Π΅ΡΡ
Π½Π΅ΠΌ ΡΠ³Π»Ρ ΠΎΠΊΠ½Π° ΠΈ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ Π²Π½ΠΈΠ· ΠΏΠΎ ΡΠΊΡΠ°Π½Ρ, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΈΡΡΠ΅Π·Π½Π΅Ρ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΎΠΊΠ½Π°.
ΠΠΌΠ΅Ρ Π΄Π²ΠΈΠΆΠ΅ΡΡΡ! ΠΠ°ΡΠ° ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ Π·Π°Π΄Π°ΡΠ° β ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ ΠΈΠ³ΡΠΎΠΊΠ°, ΡΡΠΎΠ±Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π·ΠΌΠ΅Π΅ΠΉ. ΠΡ Π½Π°ΡΠ½Π΅ΠΌ Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π² ΠΊΠ»Π°ΡΡ Snake
Π² ΡΠ°ΠΉΠ»Π΅ Π·ΠΌΠ΅ΠΈ.py
:
def steer(self, direction):
if self.direction == Direction.DOWN and direction != Direction. ΠΠΠΠ Π₯:
self.direction = Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅
elif self.direction == Direction.UP ΠΈ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ != Direction.DOWN:
self.direction = Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅
elif self.direction == Direction.LEFT ΠΈ direction != Direction.RIGHT:
self.direction = direction
elif self.direction == Direction.RIGHT ΠΈ direction != Direction.LEFT:
self.direction = direction
ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°Ρ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ direction
, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½Π°ΡΠΈΡ
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ Direction
, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ ΡΠ°Π½Π΅Π΅. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ Π΄Π΅Π»Π°Π΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π½ΠΎΠ²ΠΎΠ΅ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΡΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π΄Π²ΠΈΠΆΠ΅ΡΡΡ Π·ΠΌΠ΅Ρ β ΡΡΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΌΡ Π½Π΅ Ρ
ΠΎΡΠΈΠΌ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡ ΡΠ΅Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·ΠΌΠ΅ΠΈ Π² Π½Π°ΡΠ΅ΠΉ ΠΈΠ³ΡΠ΅. ΠΡΠ»ΠΈ Π²Ρ
ΠΎΠ΄Π½ΠΎΠ΅ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΌ Ρ
ΠΎΠ΄ΠΎΠΌ, ΠΌΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌ 9 Π·ΠΌΠ΅ΠΈ.0331 Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠΌ. ΠΠ°ΠΊ Π²Ρ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΠΈΠ· Π½Π°ΡΠ΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° move
, ΡΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ list body Π·ΠΌΠ΅ΠΈ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π·ΠΌΠ΅ΠΈ.
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π·ΠΌΠ΅ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ ΠΈΠ³ΡΠΎΠΊΠ°. Π Pygame Π΅ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ key.get_pressed()
, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΡΠΈ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ΅. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠ°ΠΊΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ ΠΈΠ³ΡΠΎΠΊ, ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π² ΡΡΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅ ΠΊΠ»Π°Π²ΠΈΡ. Π ΡΡΠ°ΡΡΡΡ, Π½Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² pygame Π΅ΡΡΡ ΡΠ΄ΠΎΠ±ΠΎΡΠΈΡΠ°Π΅ΠΌΡΠ΅ ΠΈΠΌΠ΅Π½Π°, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ, Π½Π°ΠΆΠ°ΡΠ° Π»ΠΈ ΡΡΡΠ΅Π»ΠΊΠ° Π²Π²Π΅ΡΡ
, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠ·Π²Π°ΡΡ keys = pygame.key.get_pressed()
, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΡΠ°ΡΡΡΠΎΠ² Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΊΠ»ΡΡΠ΅ΠΉ. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΉΡΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ Β«Π‘ΡΡΠ΅Π»ΠΊΠ° Π²Π²Π΅ΡΡ
Β», ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅Π² Π·Π°ΠΏΠΈΡΡ Π΄Π»Ρ ΡΡΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΡΠΈ Ρ ΠΊΠΎΠ΄ΠΎΠΌ keys[pygame.K_UP]
. ΠΡΠ»ΠΈ ΠΊΠ»Π°Π²ΠΈΡΠ° Π½Π°ΠΆΠ°ΡΠ°, ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ True
; Π΅ΡΠ»ΠΈ Π½Π΅ Π½Π°ΠΆΠΈΠΌΠ°ΡΡ, Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ False
.
ΠΠ°Π²Π°ΠΉΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΊΠΎΠ΄ Π² Π½Π°Ρ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ», ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π½Π°ΠΆΠ°ΡΡ Π»ΠΈ ΠΊΠ»Π°Π²ΠΈΡΠΈ ΡΠΎ ΡΡΡΠ΅Π»ΠΊΠ°ΠΌΠΈ Β«ΠΠ²Π΅ΡΡ
Β», Β«ΠΠ½ΠΈΠ·Β», Β«ΠΠ»Π΅Π²ΠΎΒ» ΠΈΠ»ΠΈ Β«ΠΠΏΡΠ°Π²ΠΎΒ». ΠΠ°ΡΠ΅ΠΌ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π½Π°ΠΆΠ°ΡΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΡΠΈ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠ·Π²Π°ΡΡ Π½Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΡΠ»Π΅Π²ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ
Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ Π½Π°Π΄ ΡΡΡΠΎΠΊΠΎΠΉ snake.move()
Π² ΠΈΠ³ΡΠΎΠ²ΠΎΠΌ ΡΠΈΠΊΠ»Π΅ Π² ΡΠ°ΠΉΠ»Π΅ main.py
: .steer(Direction.LEFT)
ΠΊΠ»Π°Π²ΠΈΡ elif[pygame.K_RIGHT]:
Π·ΠΌΠ΅ΠΉΠΊΠ°.steer(Direction.RIGHT)
ΠΊΠ»Π°Π²ΠΈΡ elif[pygame.K_UP]:
Π·ΠΌΠ΅Ρ.steer(Direction.UP)
ΠΊΠ»Π°Π²ΠΈΡ elif[pygame.K_DOWN ]:
Π·ΠΌΠ΅Ρ.ΡΠΏΡΠ°Π²Π»ΡΡΡ(ΠΠ°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅.ΠΠΠΠ)
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ ΡΡΠΎ. ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Β« Run > Β» Π² Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ repl. Π§ΡΠΎΠ±Ρ Pygame ΠΏΠΎΠ»ΡΡΠ°Π» Π²Π²ΠΎΠ΄ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ½Π°ΡΠ°Π»Π° Π±ΡΡΡΡΠΎ ΡΠ΅Π»ΠΊΠ½ΡΡΡ Π² ΠΎΠΊΠ½Π΅ ΠΈΠ³ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΈΠ³ΡΠ° Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ. Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»Π°Π²ΠΈΡΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΡΡΡΠΎΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π·ΠΌΠ΅Π΅ΠΉ ΠΏΠΎ ΡΠΊΡΠ°Π½Ρ! Π£ Π½Π°Ρ ΠΏΠΎΠΊΠ° Π½Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π³ΡΠ°Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π·ΠΌΠ΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΡΠ΅Π·Π½ΡΡΡ Π·Π° ΠΊΡΠ°Π΅ΠΌ ΠΎΠΊΠ½Π°.
Π£ Π½Π°Ρ Π΅ΡΡΡ Π·ΠΌΠ΅Ρ, ΠΎΠ½Π° Π΄Π²ΠΈΠΆΠ΅ΡΡΡ, ΠΈ ΠΈΠ³ΡΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ Π΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ. ΠΠ°Π²Π°ΠΉΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΈΡΠΈ, ΠΊΠΎΡΠΎΡΡΡ Π·ΠΌΠ΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ΅ΡΡΡ, ΡΡΠΎ Π·Π°ΡΡΠ°Π²ΠΈΡ Π΅Π΅ ΡΠ°ΡΡΠΈ Π΄ΠΎΠ»ΡΡΠ΅.
ΠΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΅Π΄Ρ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π·ΠΌΠ΅Ρ. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ food.py
. Π ΡΡΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΊΠ»Π°ΡΡ Food
Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ Π΅Π΄Ρ Π½Π° ΡΠ΅ΡΠΊΠ΅.
Π ΠΈΠ³ΡΠ΅ Β«ΠΠΌΠ΅ΠΉΠΊΠ°Β» ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΈΡΠ΅Π²ΠΎΠΉ Π±Π»ΠΎΠΊ ΡΡΠ΅Π΄Π΅Π½, Π² ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΡΠ΅ΡΠΊΠΈ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ
ΡΠΈΡΠ΅Π», ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΌΠ΅ΡΡΠΎΠ½Π°Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π΅Π΄Ρ. Π Python Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π΅ΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ random
. Π£ ΡΡΠΎΠ³ΠΎ Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ randint
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π΅Π΄Ρ. ΠΠ°ΡΠ½Π΅ΠΌ Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΌΠΎΠ΄ΡΠ»Ρ random
Π² ΡΠ°ΠΉΠ» food. py
. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΊΠ»Π°ΡΡ Food
.
ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΉ ΠΈΠΌΠΏΠΎΡΡΠΊΠ»Π°ΡΡ ΠΠ΄Π°:
block_size = None
color = (0,255,0)
x = 0;
Π³ = 0;
bounds = Nonedef __init__(self, block_size, bounds):
self.block_size = block_size
self.bounds = boundsdef draw(self, game, window):
game.draw.rect(window, self.color, (self.x, self.y, self.block_size, self.block_size))def respawn(self):
blocks_in_x = (self.bounds[0])/self.block_size;
blocks_in_y = (self.bounds[1])/self.block_size;
self.x = random.randint(0, blocks_in_x - 1) * self.block_size
self.y = random.randint(0, blocks_in_y - 1) * self.block_size
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΡ
ΠΎΠ΄ΡΡΠ²ΠΎ Ρ Snake
ΡΠΎΡΡ. Π£ ΠΎΠ±ΠΎΠΈΡ
ΠΌΠ΅ΡΠΎΠ΄ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΈ ΠΌΠ΅ΡΠΎΠ΄ Π²ΠΎΠ·ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ
. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π² ΠΈΠ³ΡΠ°Ρ
Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈΠΌΠ΅ΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ.
ΠΠ»Π°ΡΡ Food ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΡ
ΠΎΠ΄Π½ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° Ρ ΠΊΠ»Π°ΡΡΠΎΠΌ Snake. ΠΠ½ ΠΈΠΌΠ΅Π΅Ρ block_size
, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° Π² Π½Π°ΡΠ΅ΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΊΠ΅. Π£ Π½Π΅Π³ΠΎ Π΅ΡΡΡ ΠΊΠΎΡΡΠ΅ΠΆ ΡΠ²Π΅ΡΠ°
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π΅Π΄Ρ. ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π°ΠΏΠΈΡΡ ΠΎ Π³ΡΠ°Π½ΠΈΡΠ°Ρ
ΠΎΠΊΠ½Π°, ΡΡΠΎΠ±Ρ ΠΌΡ Π½Π΅ ΡΠΈΡΠΎΠ²Π°Π»ΠΈ Π΅Π΄Ρ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΅Π΄Π° ΡΠΎΡΡΠΎΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· 1 Π±Π»ΠΎΠΊΠ°, Π½Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½Ρ 9 Π±Π»ΠΎΠΊΠΎΠ².ΠΠ°ΡΡΠΈΠ² 0331 body ΠΏΠΎΡ
ΠΎΠΆ Π½Π° ΠΊΠ»Π°ΡΡ Π·ΠΌΠ΅ΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ½ΡΡ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
x ΠΈ y.
ΠΠ΅ΡΠΎΠ΄ draw
ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠΏΡΠΎΡΠ΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° Π² ΠΊΠ»Π°ΡΡΠ΅ Π·ΠΌΠ΅ΠΉ. ΠΡΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π½Π°ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ 1 Π±Π»ΠΎΠΊ.
ΠΠ΅ΡΠΎΠ΄ Π²ΠΎΠ·ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ
ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½. ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΡΠΎΠ²Π½ΡΡΡ Π½Π°ΡΡ Π΅Π΄Ρ Ρ Π½Π°ΡΠ΅ΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΊΠΎΠΉ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠΉ block_size
. ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ ΠΌΡ ΠΏΡΠΎΡΡΠΎ Π²ΡΠ·ΠΎΠ²Π΅ΠΌ random.randint
, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΅Π΄Ρ ΠΏΠΎ ΠΎΡΡΠΌ x ΠΈ y, ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π½Π° ΠΏΠΎΠ»ΠΏΡΡΠΈ ΡΠ΅ΡΠ΅Π· Π±Π»ΠΎΠΊ Π² ΡΠ΅ΡΠΊΠ΅. ΠΡΠΎ ΡΠ΄Π΅Π»Π°Π΅Ρ ΡΡΡΠ°Π½Π½ΡΠΌ ΠΏΡΡΠ°ΡΡΡΡ ΠΏΡΠΈΡΠ΅Π»ΠΈΡΡΡΡ Π·ΠΌΠ΅Π΅ΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π·ΠΌΠ΅Ρ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΡΠΎΠ²Π½Π΅Π½Π° Ρ Π΅Π΄ΠΎΠΉ.
Π§ΡΠΎΠ±Ρ Π²ΡΠ΅ Π±ΡΠ»ΠΎ Π²ΡΡΠΎΠ²Π½Π΅Π½ΠΎ, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²Π·ΡΡΡ Π½Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ΅ ΠΎΠΊΠ½Π°, ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π² Π½Π°ΡΠ΅ΠΌ ΡΠ²ΠΎΠΉΡΡΠ²Π΅ bounds
, ΠΈ Π½Π°ΡΠΈ Π·Π½Π°Π½ΠΈΡ ΠΎ block_size
Π½Π°ΡΠ΅ΠΉ ΡΠ΅ΡΠΊΠΈ, ΡΡΠΎΠ±Ρ Π²ΡΡΠΈΡΠ»ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠΊΠ½Π° Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠΈ. Π’Π°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΎΠΊΠ½Π° ΠΈΠ»ΠΈ Π³ΡΠ°Π½ΠΈΡ
ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 300×300 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ, Π° ΡΠ°Π·ΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ°
ΡΠ°Π²Π΅Π½ 20 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ, ΡΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ 300 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ/20 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ = 15 Π±Π»ΠΎΠΊΠΎΠ². ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠ±ΡΠ°ΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² Π±Π»ΠΎΠΊΠ°, ΡΠΎ Π΅ΡΡΡ Π²ΡΠ±ΡΠ°ΡΡ ΡΠΈΡΠ»ΠΎ ΠΎΡ 1 Π΄ΠΎ 15, Π² ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π΅Π΄Ρ. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΊΡΠ°Π½Π½ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ x ΠΈ y Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±Π»ΠΎΠΊΠ°, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ ΡΠΌΠ½ΠΎΠΆΠΈΡΡ Π½ΠΎΠΌΠ΅Ρ Π½Π°ΡΠ΅Π³ΠΎ Π±Π»ΠΎΠΊΠ° Π½Π° 9.0331 ΡΠ°Π·ΠΌΠ΅Ρ_Π±Π»ΠΎΠΊΠ° .
Π ΠΏΠ΅ΡΠ²ΡΡ
2 ΡΡΡΠΎΠΊΠ°Ρ
ΠΌΠ΅ΡΠΎΠ΄Π° respawn
Π½Π°Ρ
ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±Π»ΠΎΠΊΠΎΠ² Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ, ΠΊΠ°ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π²ΡΡΠ΅. ΠΠ°ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ 2 ΡΡΡΠΎΠΊΠΈ Π½Π°Ρ
ΠΎΠ΄ΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΉ Π±Π»ΠΎΠΊ ΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΡ ΡΡΠΎΡ Π±Π»ΠΎΠΊ Π² ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ x ΠΈ y. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΌΠ΅ΠΆΠ΄Ρ 1 ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ Π±Π»ΠΎΠΊΠΎΠ² Π² ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ, ΠΌΡ Π½Π°Ρ
ΠΎΠ΄ΠΈΠΌ ΡΠΈΡΠ»ΠΎ ΠΌΠ΅ΠΆΠ΄Ρ 0 ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ Π±Π»ΠΎΠΊΠΎΠ² ΠΌΠΈΠ½ΡΡ 1. ΠΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΎΠΊΠ½Π° x ΠΈ y Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ 0, Π° Π½Π΅ Ρ 1, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π²ΠΈΠ½ΡΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π½Π° 1, ΡΡΠΎΠ±Ρ ΠΊΠΎΠΌΠΏΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ.
Π£ Π½Π°Ρ Π΅ΡΡΡ ΠΊΠ»Π°ΡΡ Food
, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ Π΅Π³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ».
Π‘Π½Π°ΡΠ°Π»Π° Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΠ°ΠΉΠ» food.py ΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡ Food
. Π ΡΠ°ΠΉΠ»Π΅ main.py
ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΡΡΠΎΠΊΠΈ import pygame
Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
from food import Food
Π ΡΠ°ΠΉΠ»Π΅ main.py
ΠΏΠΎΡΠ»Π΅ ΡΡΡΠΎΠΊΠΈ Π³ΡΠ°Π½ΠΈΡ) , ΠΈ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΠΈΠ³ΡΠΎΠ²ΡΠΌ ΡΠΈΠΊΠ»ΠΎΠΌ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ Food
ΠΎΠ±ΡΠ΅ΠΊΡ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΡΡΡΠΎΠΊΡ:
food = Food(block_size,bounds)
Π ΠΈΠ³ΡΠΎΠ²ΠΎΠΌ ΡΠΈΠΊΠ»Π΅ Π² main.py
, ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΡΡΠΎΠΊΠΈ snake.draw(pygame, window)
, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π»ΠΈΠ½ΠΈΡ, ΡΡΠΎΠ±Ρ Π½Π°ΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π΄Ρ. ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ:
food.draw(pygame, window)
ΠΡΠ»ΠΈΡΠ½ΠΎ! ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ°, ΡΠ½ΠΎΠ²Π° Π½Π°ΠΆΠ°Π² ΠΊΠ½ΠΎΠΏΠΊΡ Β« Run > Β». Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π·ΠΌΠ΅Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ Π·Π΅Π»Π΅Π½ΡΠΉ Π±Π»ΠΎΠΊ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ Π΅Π΄Ρ.
ΠΡ Π·Π°ΠΌΠ΅ΡΠΈΡΠ΅, ΡΡΠΎ Π·ΠΌΠ΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΉΡΠΈ ΠΏΡΡΠΌΠΎ Π½Π°Π΄ Π΅Π΄ΠΎΠΉ, ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ. ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠ΅ΠΉ ΠΈΠ³Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΉ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΡΠΎΠ³ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΅ΡΠΊΠΈ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΏΡΠΎΡΠ΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΉ. ΠΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΠ»Π°ΡΡ Π»ΠΈ Π·ΠΌΠ΅Ρ ΠΈΠ»ΠΈ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»Π°ΡΡ Ρ ΠΏΠΈΡΠ΅Π²ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ Π΄Π»ΠΈΠ½Ρ Π·ΠΌΠ΅ΠΈ ΠΈ ΡΠ½ΠΎΠ²Π° Π²ΠΎΠ·ΡΠΎΠ΄ΠΈΡΡ Π΅Π΄Ρ.
ΠΡ Π²ΠΎΠ·Π»ΠΎΠΆΠΈΠΌ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΉ Π½Π° ΠΊΠ»Π°ΡΡ Snake
. Π snap.py
, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π²Π° ΠΌΠ΅ΡΠΎΠ΄Π° Π² ΠΊΠ»Π°ΡΡ Snake
:
def eat(self):
self.length += 1# ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π»ΠΈ Π³ΠΎΠ»ΠΎΠ²Π° Π·ΠΌΠ΅ΠΈ Π½Π°Π΄ Π΅Π΄ΠΎΠΉ
def check_for_food (self, food):
head = self.body[-1]
if head[0] == food.x and head[1] == food.y:
self.eat()
food.respawn()
ΠΠ΅ΡΠ²ΡΠΉ ΡΠΏΠΎΡΠΎΠ±, Π΅ΡΡ
, ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ Π΄Π»ΠΈΠ½Ρ Π·ΠΌΠ΅ΠΉΠΊΠΈ. ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ length
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΌΠ΅ΡΠΎΠ΄ move
Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Ρ
Π²ΠΎΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°.
ΠΠ°ΡΠ΅ΠΌ Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ check_for_food
. ΠΡΠΎ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ food
Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°. Π ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠ°ΠΌΡΠΉ ΠΏΠ΅ΡΠ΅Π΄Π½ΠΈΠΉ Π±Π»ΠΎΠΊ Π·ΠΌΠ΅ΠΈ, ΠΈΠ»ΠΈ Π³ΠΎΠ»ΠΎΠ²Ρ
, ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² ΡΠΏΠΈΡΠΊΠ΅ ΡΠ΅Π»ΠΎ
. ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ. ΠΠ°ΡΠ΅ΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΡΠΎΠ³ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΅ΡΠΊΠΈ Π΄Π»Ρ Π½Π°ΡΠ΅ΠΉ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΡ
Π΅ΠΌΡ, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΠ°Π²Π½Ρ Π»ΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ x ΠΈ y Π³ΠΎΠ»ΠΎΠ²Ρ Π·ΠΌΠ΅ΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌ x ΠΈ y ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π΅Π΄Ρ. ΠΡΠ»ΠΈ ΠΎΠ½ΠΈ Π΅ΡΡΡ, ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ Π΅ΡΡΡ
ΠΌΠ΅ΡΠΎΠ΄ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ Π΄Π»ΠΈΠ½Ρ Π·ΠΌΠ΅ΠΈ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ respawn
Π½Π° Π΅Π΄Π΅, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° ΠΈΡΡΠ΅Π·Π»Π° ΠΈΠ· ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠ½ΠΎΠ²Π° ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅.
Π ΠΈΠ³ΡΠΎΠ²ΠΎΠΌ ΡΠΈΠΊΠ»Π΅ Π² ΡΠ°ΠΉΠ»Π΅ main.py
Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΡΡΠΎΠΊΠΈ snake. move()
:
Π·ΠΌΠ΅Ρ. ΠΌΠ΅ΡΠΎΠ΄ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΉ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠΈΠΊΠ»Π΅ ΠΈΠ³ΡΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π·ΠΌΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΠ»Π°ΡΡ Π² Π½ΠΎΠ²ΡΠΉ Π±Π»ΠΎΠΊ.ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠΎ Π΅ΡΠ΅ ΡΠ°Π· ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΡΠ°ΡΡΠ΅Ρ Π»ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ Π½Π°ΡΠ° Π·ΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π΅Π΄ΠΈΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΅Π΄Ρ. ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Β« Run > Β» Π΅ΡΠ΅ ΡΠ°Π· Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ.
Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΉ, Π΅ΡΠ»ΠΈ Π·ΠΌΠ΅Ρ ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°Π΅Ρ ΡΠ°ΠΌΡ ΡΠ΅Π±Ρ. ΠΡΠΎ ΡΠΌΠ΅ΡΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΈΠ΅ΠΌ ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π΄ΠΎΡΡΠΈΡΡ Β«Game OverΒ» Π² Snake. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅, ΡΡΠ΅Π»Π° Π»ΠΈ Π·ΠΌΠ΅Ρ ΠΏΠΈΡΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΊ ΠΊΠ»Π°ΡΡΡ
Snake
Π² ΡΠ°ΠΉΠ»Π΅snake.py
, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ»Π° Π»ΠΈ Π·ΠΌΠ΅Ρ ΠΈΠ»ΠΈ ΡΠΊΡΡΠΈΠ»Π° ΡΠ΅Π±Ρ:def check_tail_collision(self):
head = self.body[-1]
has_eaten_tail = Falsefor i in range(len(self.body) - 1):
segment = self.body[i]
if head [0] == segment[0] and head[1] == segment[1]:
has_eaten_tail = Truereturn has_eaten_tail
ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ
Π³ΠΎΠ»ΠΎΠ²Ρ
Π·ΠΌΠ΅ΠΈ, ΠΊΠ°ΠΊ ΠΈ ΡΠ°Π½ΡΡΠ΅ Π² Π½Π°ΡΠ΅ΠΌcheck_for_food ΠΠ΅ΡΠΎΠ΄
. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ»Π°Π³Π°, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΡΠ΅Π»Π° Π»ΠΈ Π·ΠΌΠ΅Ρ ΡΠ²ΠΎΠΉ Ρ Π²ΠΎΡΡ, ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ 9.0331 ΠΠΎΠΆΡ .Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΡΠ°ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΠ΅Π· Π²ΡΠ΅ ΡΠ΅Π³ΠΌΠ΅Π½ΡΡ, ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΡΠ΅Π»ΠΎ
Π·ΠΌΠ΅ΠΈ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΏΠΈΡΠΊΠ°
ΡΠ΅Π»Π°
, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π³ΠΎΠ»ΠΎΠ²Ρ Π·ΠΌΠ΅ΠΈ. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ x ΠΈ y Π³ΠΎΠ»ΠΎΠ²ΡΠΈ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°. ΠΡΠ»ΠΈ ΠΎΠ½ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π³ΠΎΠ»ΠΎΠ²Π° Π·ΠΌΠ΅ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π°Π΄ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΎΠΌ ΡΠ΅Π»Π°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΡΠ»Π°Π³Π°
has_eaten_tail
Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true.ΠΠΎΡΠ»Π΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²ΡΠ΅Ρ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
ΡΠ»Π°Π³ has_eaten_tail
.ΠΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ, β ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·ΠΌΠ΅ΠΈ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΎΠΊΠ½Π°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΠΊΠ»Π°ΡΡ
Snake
ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄:def check_bounds(self):
head = self.body[-1]
if head[0] >= self.bounds[0]:
Π²Π΅ΡΠ½ΡΡΡ True
, Π΅ΡΠ»ΠΈ head[1] >= self. bounds[1]:
Π²Π΅ΡΠ½ΡΡΡ True, Π΅ΡΠ»ΠΈ head[0] < 0:
Π²Π΅ΡΠ½ΡΡΡ True
, Π΅ΡΠ»ΠΈ head[1] < 0:
Π²Π΅ΡΠ½ΡΡΡ TrueΠ²Π΅ΡΠ½ΡΡΡ False
ΠΡΠΎΡ ΠΊΠΎΠ΄ Π΅ΡΠ΅ ΡΠ°Π· ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ Π±Π»ΠΎΠΊ
head
Π·ΠΌΠ΅ΠΈ ΠΈΠ· ΠΊΠΎΠ½ΡΠ° ΡΠΏΠΈΡΠΊΠ°body
. ΠΠ°ΡΠ΅ΠΌ ΠΎΠ½ ΡΠ²Π΅ΡΡΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Ρ Π³ΡΠ°Π½ΠΈΡΠ°ΠΌΠΈ ΠΎΠΊΠ½Π°. ΠΡΠ»ΠΈ ΠΎΠ½ Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· ΡΡΠΈΡ Π³ΡΠ°Π½ΠΈΡ, ΠΌΠ΅ΡΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡTrue
. ΠΡΠ»ΠΈ Π³ΠΎΠ»ΠΎΠ²Π° Π·ΠΌΠ΅ΠΈ Π²ΡΠ΅ Π΅ΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ Π³ΡΠ°Π½ΠΈΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡFalse
.Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡ ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΈΠ³ΡΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠΎΠ΄ Π² ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ» Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠΎΠ½ΡΠ° ΠΈΠ³ΡΡ. ΠΠΎΠ³Π΄Π° ΠΈΠ³ΡΠ° Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΈΠ³ΡΠΎΠΊΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Β«ΠΠ³ΡΠ° ΠΎΠΊΠΎΠ½ΡΠ΅Π½Π°Β» Π½Π° ΡΠ΅ΠΊΡΠ½Π΄Ρ ΠΈΠ»ΠΈ Π΄Π²Π΅. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ±ΡΠΎΡΠΈΡΡ Π·ΠΌΠ΅Ρ ΠΈ Π΅Π΄Ρ, ΡΡΠΎΠ±Ρ Π΄Π°ΡΡ ΠΈΠ³ΡΠΎΠΊΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π½Ρ.
Π§ΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Β«ΠΠ³ΡΠ° ΠΎΠΊΠΎΠ½ΡΠ΅Π½Π°Β», ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΡΠΈΡΡΠ° pygame. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ°Π³ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΈΡΡΠ° Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅ΠΊΡΡΠ° Π½Π° ΡΠΊΡΠ°Π½:
- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΡΠΈΡΡΠ°, ΡΠΊΠ°Π·Π°Π² ΡΠΈΠΏ ΡΡΠΈΡΡΠ°, ΡΠ°Π·ΠΌΠ΅Ρ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΆΠΈΡΠ½ΡΠΉ / ΠΊΡΡΡΠΈΠ² , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°
font. SysFont
.- ΠΡΠΎΠ±ΡΠ°Π·ΠΈΡΠ΅ ΠΆΠ΅Π»Π°Π΅ΠΌΡΠΉ ΡΠ΅ΠΊΡΡ Π½Π° ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠ΅ΡΠΎΠ΄
render
Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΡΠΈΡΡΠ°, ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅.blit
ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΠΉ ΡΠ΅ΠΊΡΡ Π½Π° ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°.- ΠΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΊΠ½Π°, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΡΠΎ.
Π§ΡΠΎΠ±Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π²ΡΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ font , Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ Π² ΡΡΡΠΎΠΊΡ
food = Food(block_size,bounds)
Π² ΡΠ°ΠΉΠ»Π΅main.py
:font = pygame.font .SysFont('comicsans',60, True)
Π ΠΈΠ³ΡΠΎΠ²ΠΎΠΌ ΡΠΈΠΊΠ»Π΅ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ·Π²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΡΠ°Π½Π΅Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π² ΠΊΠ»Π°ΡΡ Π·ΠΌΠ΅ΠΈ. ΠΡΠ»ΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΎ ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ Π½Π°ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Β«ΠΠ³ΡΠ° ΠΎΠΊΠΎΠ½ΡΠ΅Π½Π°Β», ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΈΠ³ΡΡ. ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΠΏΠΎΠ΄ ΡΡΡΠΎΠΊΡ
snake.check_for_food(food)
Π² ΠΈΠ³ΡΠΎΠ²ΠΎΠΌ ΡΠΈΠΊΠ»Π΅ Π² ΡΠ°ΠΉΠ»Π΅main.py
:if Π·ΠΌΠ΅ΠΉΠΊΠ°.check_bounds() == True ΠΈΠ»ΠΈ Π·ΠΌΠ΅ΠΉΠΊΠ°.check_tail_collision() == True:
text = font.