ΠΊΠΎΠ΄ ΠΈΠ³ΡΡ Π½Π° ΠΏΠΈΡΠΎΠ½Π΅ pygame
ΠΠΌΠ΅ΠΉΠΊΠ° Π½Π° Python
Π― ΡΠΎΡΠ½ΠΎ Π·Π½Π°Ρ, ΡΡΠΎ Π² Π΄Π΅ΡΡΡΠ²Π΅ Π²Ρ Π²ΡΠ΅ ΠΈΠ³ΡΠ°Π»ΠΈ Π² ΠΈΠ³ΡΡ Β«ΠΠΌΠ΅ΠΉΠΊΠ°Β» ΠΈ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π²ΡΠ΅Π³Π΄Π° Ρ ΠΎΡΠ΅Π»ΠΈ Π²ΡΠΈΠ³ΡΠ°ΡΡ. ΠΡΠ΄ΡΡΠΈ Π΄Π΅ΡΡΠΌΠΈ, ΠΌΡ Π²ΡΠ΅ Π»ΡΠ±ΠΈΠ»ΠΈ ΠΈΡΠΊΠ°ΡΡ Π±Π°Π³ΠΈ Π² ΠΈΠ³ΡΠ΅, ΡΡΠΎΠ±Ρ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π²ΠΈΠ΄Π΅ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Game over, Π½ΠΎ ΡΠ΅ΠΉΡΠ°Ρ, Π±ΡΠ΄ΡΡΠΈ ΡΠ΅Ρ Π½Π°ΡΡΠΌΠΈ, Π½Π°ΠΌ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° Ρ ΠΎΡΠ΅ΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΠ³ΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΊΠΎΠΌΠ°Ρ Π½ΠΎΡΠ° Π½Π΅ ΠΏΠΎΠ΄ΡΠΎΡΠΈΠ». ΠΠΌΠ΅Π½Π½ΠΎ ΠΎΠ± ΡΡΠΎΠΌ ΠΈ ΠΏΠΎΠΉΠ΄Π΅Ρ ΡΠ΅ΡΡ Π² Π½Π°ΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅.
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ Π΄Π°Π»ΡΡΠ΅, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ°Π·Π΄Π΅Π»Ρ Π½Π°ΡΠ΅ΠΉ ΡΡΠ°ΡΡΠΈ:
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Pygame
ΠΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Pygame. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΠΏΡΠΎΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΡΠΏΠΎΠ»Π½ΠΈΠ² ΡΡΠΎ, ΠΏΡΠΎΡΡΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΈ ΠΏΡΠΈΡΡΡΠΏΠΈΠΌ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈΠ³ΡΡ. ΠΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΡΡΠΈΠΌ Π΄Π°Π²Π°ΠΉΡΠ΅ Π²Π·Π³Π»ΡΠ½Π΅ΠΌ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π°Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΈΠ³ΡΡ.
Π€ΡΠ½ΠΊΡΠΈΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ Π²ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Pygame (Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΆ Π² ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅Ρ Π° ΠΈΠ»ΠΈ Π½Π΅ΡΠ΄Π°ΡΠΈ). | |
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π»ΠΈΠ±ΠΎ ΡΠΏΠΈΡΠΎΠΊ Π»ΠΈΠ±ΠΎ ΠΊΠΎΡΡΠ΅ΠΆ (ΠΊΠΎΡΡΠ΅ΠΆ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½Π΅ΠΉ). | |
ΠΠ°Π΄Π°Π΅Ρ ΡΡΠΈΡΡ Pygame, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ. |
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΊΡΠ°Π½Π°
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
Π’Π΅ΠΏΠ΅ΡΡ Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠΊΡΠ°Π½ Π΄Π»Ρ ΠΈΠ³ΡΡ, Π½ΠΎ ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΊΠ»ΠΈΠΊΠ½Π΅ΡΠ΅ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ close, ΡΠΊΡΠ°Π½ Π½Π΅ Π·Π°ΠΊΡΠΎΠ΅ΡΡΡ. ΠΡΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΌΡ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ. ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ Π² Pygame ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½ΠΎ ΡΠΎΠ±ΡΡΠΈΠ΅ Β«QIUTΒ», ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠ»Π΅ΡΠ΄ΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π½Π°Ρ ΡΠΊΡΠ°Π½ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½, Π½Π°ΠΌ ΠΏΡΠ΅Π΄ΡΡΠΎΠΈΡ Π½Π°ΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Π½Π΅ΠΌ Π·ΠΌΠ΅ΠΉΠΊΡ. ΠΡΠΎΠΌΡ ΠΏΠΎΡΠ²ΡΡΠ΅Π½ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π·Π΄Π΅Π».
ΠΠ°ΡΠΊ ΠΡΡΡ Β«ΠΠ·ΡΡΠ°Π΅ΠΌ PythonΒ»
Π‘ΠΊΠ°ΡΠΈΠ²Π°ΠΉΡΠ΅ ΠΊΠ½ΠΈΠ³Ρ Ρ Π½Π°Ρ Π² ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π·ΠΌΠ΅ΠΉΠΊΠΈ
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ Π·ΠΌΠ΅ΠΉΠΊΡ, ΠΌΡ ΠΈΠ½ΠΈΡΠΈΠΈΡΡΠ΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ²Π΅ΡΠΎΠ²ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΡΠ°ΡΠΊΡΠ°ΡΠΈΠ²Π°Π½ΠΈΡ ΡΠ°ΠΌΠΎΠΉ Π·ΠΌΠ΅ΠΉΠΊΠΈ, Π΅Π΄Ρ ΠΈ ΡΠΊΡΠ°Π½Π°. Π Pygame ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ²Π΅ΡΠΎΠ²Π°Ρ ΡΡ Π΅ΠΌΠ° RGB (RED, GREEN, BLUE). Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π²ΡΠ΅Ρ ΡΠ²Π΅ΡΠΎΠ² Π² 0 ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠ΅ΡΠ½ΠΎΠΌΡ ΡΠ²Π΅ΡΡ, Π° Π² 255 β ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π±Π΅Π»ΠΎΠΌΡ.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ, Π·ΠΌΠ΅ΠΉΠΊΠ° ΡΠΎΠ·Π΄Π°Π½Π° Π² Π²ΠΈΠ΄Π΅ Π³ΠΎΠ»ΡΠ±ΠΎΠ³ΠΎ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°. Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π½Π°ΡΡΠΈΡΡ Π΅Π΅ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ.
ΠΠ²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π·ΠΌΠ΅ΠΉΠΊΠΈ
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
Β«Game overΒ» ΠΏΡΠΈ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠΈ Π·ΠΌΠ΅ΠΉΠΊΠΎΠΉ Π³ΡΠ°Π½ΠΈΡΡ
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΅Π΄Ρ
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΅Π΄Ρ Π΄Π»Ρ Π·ΠΌΠ΅ΠΉΠΊΠΈ, ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ Π΅Π΅ ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°ΡΡ, ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Β«Yummy!!β. ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ, ΠΌΡ Π²Π½Π΅ΡΠ΅ΠΌ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π°Π΄ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΠ³ΡΠΎΠΊΡ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°ΡΡ ΠΈΠ³ΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π°ΡΠΈΠ½Π°ΡΡ Π΅Π΅ Π·Π°Π½ΠΎΠ²ΠΎ Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΡΠ°ΠΆΠ΅Π½ΠΈΡ.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
Terminal:
Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ Π·ΠΌΠ΅ΠΉΠΊΠΈ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ Π΄Π»ΠΈΠ½Ρ Π·ΠΌΠ΅ΠΉΠΊΠΈ ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠ³Π»ΠΎΡΠ΅Π½ΠΈΡ Π΅Ρ Π΅Π΄Ρ. Π’Π°ΠΊΠΆΠ΅, Π΅ΡΠ»ΠΈ Π·ΠΌΠ΅ΠΉΠΊΠ° ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅ΡΡΡ Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌ Ρ Π²ΠΎΡΡΠΎΠΌ, ΠΈΠ³ΡΠ° Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅: βYou Lost! Press Q-Quit or C-Play Againβ. ΠΠ»ΠΈΠ½Π° Π·ΠΌΠ΅ΠΉΠΊΠΈ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΡΠΏΠΈΡΠΊΠ΅, Π° Π±Π°Π·ΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Π½Ρ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΡΠ²ΠΎΠ΄ ΡΡΠ΅ΡΠ° Π½Π° ΡΠΊΡΠ°Π½
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΠΎΡ ΠΌΡ ΠΈ Π΄ΠΎΡΠ»ΠΈ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° Π½Π°ΡΠ΅ΠΉ ΡΡΠ°ΡΡΠΈ. ΠΡ Π½Π°Π΄Π΅Π΅ΠΌΡΡ, ΡΡΠΎ ΠΎΠ½Π° Π²Π°ΠΌ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΠ»Π°ΡΡ ΠΈ Π²ΡΠ΅ Π±ΡΠ»ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎ. Π‘Π°ΠΌΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅, Π½Π΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΎΠ²Π°ΡΡΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π°ΡΠΈ Π·Π½Π°Π½ΠΈΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅.
ΠΠΈΡΠ΅ΠΌ ΠΏΡΠΎΡΡΡΡ ΠΈΠ³ΡΡ Π½Π° python
Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π²ΡΠ΅ΠΌ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΠΈΠ³ΡΡ ΠΊΠ°ΠΌΠ΅Π½Ρ, Π½ΠΎΠΆΠ½ΠΈΡΡ, Π±ΡΠΌΠ°Π³Π°. Π ΡΡΠΎΠΌ Π½Π°ΠΌ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π―Π python ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° tkinter, Π½ΠΎ Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅ ΡΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅, ΡΠΎΠ²Π΅ΡΡΡ ΠΏΠΎΡΠΈΡΠ°ΡΡ Π΄Π°Π½Π½ΡΡ ΡΡΠ°ΡΡΡ.
ΠΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎ Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΡΡΡΡΠΊΡΡΡΠ°, ΠΎΠΊΠΎΡΠΊΠΎ, Ρ ΠΌΠ΅Π½Ρ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
ΠΠ΄Π΅ΡΡ ΠΌΡ ΡΠΎΠ·Π΄Π°ΡΠΌ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ΅ ΠΎΠΊΠ½ΠΎ 500 Π½Π° 500 Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ Β«ΠΠ°ΠΌΠ΅Π½Ρ, Π½ΠΎΠΆΠ½ΠΈΡΡ, Π±ΡΠΌΠ°Π³Π°Β» ΠΈ Π±Π΅Π»ΡΠΌ ΡΠΎΠ½ΠΎΠΌ. ΠΠΌΠ΅Π½Π½ΠΎ Π² ΡΡΠΎ ΠΎΠΊΠΎΡΠΊΠΎ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΊΠ½ΠΎΠΏΠΎΡΠΊΠΈ, ΡΡΠ΅ΡΡΠΈΠΊΠΈ ΠΈ Ρ.Π΄.
Π’Π΅ΠΏΠ΅ΡΡ Π² Π½Π°Ρ ΠΌΠ΅ΡΠΎΠ΄ startUI Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ°ΠΊΠΈΠ΅ ΡΡΡΠΎΡΠΊΠΈ:
ΠΡΠΈ 7 ΡΡΡΠΎΡΠ΅ΠΊ Π΄ΠΎΠ±Π°Π²ΡΡ Π² Π½Π°ΡΠ΅ ΠΎΠΊΠ½ΠΎ 3 ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°ΡΡ. ΠΡ ΠΈΡΠΏΡΠ°Π²ΠΈΠΌ ΡΡΠΎ ΠΏΠΎΠ·ΠΆΠ΅.
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄Π΅Π»Π°Π΅Ρ ΡΠ²ΠΎΠΉ Π²ΡΠ±ΠΎΡ, Π½Π°ΠΆΠΈΠΌΠ°Ρ Π½Π° ΠΎΠ΄Π½Ρ ΠΈΠ· 3 ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΡΡΠΎ ΠΊΡΡΡΠΎ, Π½ΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΠΎΠΏΠΏΠΎΠ½Π΅Π½Ρ, ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ΅Π½ ΠΌΠΎΠ΄ΡΠ»Ρ random.
Π Π²ΠΎΡ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π²ΡΠ±ΠΎΡ, ΠΈ Π²ΡΠ΄Π°Π²Π°ΡΡ ΠΎΡΠ²Π΅Ρ, ΠΊΡΠΎ ΠΆΠ΅ Π²ΡΠΈΠ³ΡΠ°Π» Π² ΡΡΠΎΠΌ ΡΠ°ΡΠ½Π΄Π΅. Π‘Π΄Π΅Π»Π°Π΅ΠΌ ΡΡΠΎ Π²ΠΎΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π§ΡΠΎ ΡΡΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ?
ΠΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ. ΠΡΡΠ±ΠΎ Π³ΠΎΠ²ΠΎΡΡ, Π΅ΡΠ»ΠΈ ΠΈΠ³ΡΠΎΠΊ Π½Π°ΠΆΠΌΠ΅Ρ ΠΊΠ°ΠΌΠ΅Π½Ρ, ΠΎΡΠΏΡΠ°Π²ΠΈΡΡΡ 1, Π΅ΡΠ»ΠΈ Π½ΠΎΠΆΠ½ΠΈΡΡ, ΡΠΎ 2, Π° Π΅ΡΠ»ΠΈ Π±ΡΠΌΠ°Π³Π°, ΡΠΎ 3, ΠΏΡΠΈΡΠ΅ΠΌ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡΡ, Π½ΠΎ ΠΈ Π²ΡΠ²Π΅Π΄Π΅ΡΡΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ.
ΠΠ° ΡΡΠ΅Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°. ΠΠ½ ΡΠ²ΠΎΠΉ Π²ΡΠ±ΠΎΡ Π΄Π΅Π»Π°Π΅Ρ, Π½ΠΎ Π΅Π³ΠΎ Π²ΡΠ±ΠΎΡ Π½ΠΈΠΊΡΠ΄Π° Π½Π΅ ΠΈΠ΄ΡΡ.
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ Π΄Π΅Π»Π°ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈΠ³ΡΠΎΠΊΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΠΈ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Label. ΠΠΎΠ±Π°Π²ΠΈΠΌ Π² startUI ΡΠ°ΠΊΠΈΠ΅ ΡΡΡΠΎΡΠΊΠΈ:
ΠΡΠ»ΠΈΡΠ½ΠΎ. Π’Π΅ΠΏΠ΅ΡΡ Ρ Π½Π°Ρ Π΅ΡΡΡ Π½Π°Π΄ΠΏΠΈΡΡ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°ΡΠ½Π΄Π° ΠΈ Π½Π°Π΄ΠΏΠΈΡΡ ΡΠΎ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΎΠΉ.
Π‘Π΄Π΅Π»Π°Π΅ΠΌ 3 ΡΡΠ΅ΡΡΠΈΠΊΠ°:
1. ΠΠΎΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
2. ΠΠΎΠ±Π΅Π΄
3. ΠΠΈΡΠ΅ΠΉ
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²ΡΠ΅ Π² ΡΠΎΡ ΠΆΠ΅ startUI Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ°ΠΊΡΡ ΡΡΡΠΎΠΊΡ:
Π’Π΅ΠΏΠ΅ΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅ main ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ btn_click, ΠΈ ΠΏΠΈΡΠ΅ΠΌ Π² Π½Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ:
ΠΠ΅Π΄ΠΎΠ»Π³ΠΎ ΠΌΡΠ·ΡΠΊΠ° ΠΈΠ³ΡΠ°Π»Π°. Π’Π°ΠΌ ΠΆΠ΅, Π² btn_click, ΡΠ΄Π°Π»ΡΠ΅ΠΌ
Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ Π²ΡΡ, Π½Π° ΡΡΠΎΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»ΠΎΡΡ. ΠΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ³ΡΠ°ΡΡ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ³Ρ Π½Π° 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.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Pygame / Π§Π°ΡΡΡ 1. ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΡΠΎ ΠΏΠ΅ΡΠ²Π°Ρ ΡΠ°ΡΡΡ ΡΠ΅ΡΠΈΠΈ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ² Β«Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΠ³Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ PygameΒ». ΠΠ½Π° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈ ΡΡΠ΅Π΄Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Ρ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΈΠ³Ρ ΠΈ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ Π½Π°Π²ΡΠΊΠΎΠ² ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Python.
ΠΠΎΠ΄ Π² ΡΡΠΎΠΊΠ°Ρ Π±ΡΠ» Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Python 3.7 ΠΈ Pygame 1.9.6
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Pygame?
Pygame β ΡΡΠΎ Β«ΠΈΠ³ΡΠΎΠ²Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Β», Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΏΠΎΠΌΠΎΠ³Π°ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈΠ³ΡΡ. Π Π½ΠΈΠΌ ΠΎΡΠ½ΠΎΡΡΡΡΡ:
ΠΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ»
Π ΡΠ΅ΡΠ΄ΡΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ³ΡΡ Π»Π΅ΠΆΠΈΡ ΡΠΈΠΊΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ½ΡΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ Β«ΠΈΠ³ΡΠΎΠ²ΡΠΌ ΡΠΈΠΊΠ»ΠΎΠΌΒ». ΠΠ½ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠ½ΠΎΠ²Π° ΠΈ ΡΠ½ΠΎΠ²Π°, Π΄Π΅Π»Π°Ρ Π²ΡΠ΅, ΡΡΠΎΠ±Ρ ΡΠ°Π±ΠΎΡΠ°Π»Π° ΠΈΠ³ΡΠ°. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠΈΠΊΠ» Π² ΠΈΠ³ΡΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°Π΄ΡΠΎΠΌ.
Π ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠ°Π΄ΡΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΌΠ°ΡΡΠ° Π²Π΅ΡΠ΅ΠΉ, Π½ΠΎ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π±ΠΈΡΡ Π½Π° ΡΡΠΈ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ:
Π Π΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΎΠ±ΠΎ Π²ΡΠ΅ΠΌ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π²Π½Π΅ ΠΈΠ³ΡΡ β ΡΠ΅Ρ ΡΠΎΠ±ΡΡΠΈΡΡ , Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ. ΠΡΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ΅, ΠΊΠ»ΠΈΠΊΠΈ ΠΌΡΡΡΡ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³ΠΎ, ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ°Π΄ΡΠ°. ΠΡΠ»ΠΈ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆ Π² Π²ΠΎΠ·Π΄ΡΡ Π΅, Π³ΡΠ°Π²ΠΈΡΠ°ΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΡΡΠ½ΡΡΡ Π΅Π³ΠΎ Π²Π½ΠΈΠ·. ΠΡΠ»ΠΈ Π΄Π²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ Π½Π° Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΠΈ, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²Π·ΠΎΡΠ²Π°ΡΡΡΡ.
Π ΡΡΠΎΠΌ ΡΠ°Π³Π΅ Π²ΡΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΠΊΡΠ°Π½: ΡΠΎΠ½Ρ, ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠΈ, ΠΌΠ΅Π½Ρ. ΠΡΠ΅, ΡΡΠΎ ΠΈΠ³ΡΠΎΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΈΠ΄Π΅ΡΡ, ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π² Π½ΡΠΆΠ½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅.
ΠΡΠ΅ΠΌΡ
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π²Π°ΠΆΠ½ΡΠΉ Π°ΡΠΏΠ΅ΠΊΡ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° β ΡΠΊΠΎΡΠΎΡΡΡ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΡ. ΠΠ½ΠΎΠ³ΠΈΠ΅ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° Π·Π½Π°ΠΊΠΎΠΌΡ Ρ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠΌ FPS, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ Frames Per Second (ΠΈΠ»ΠΈ ΠΊΠ°Π΄ΡΡ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ). ΠΠ½ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠΎ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· ΡΠΈΠΊΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡΡΡ Π·Π° ΠΎΠ΄Π½Ρ ΡΠ΅ΠΊΡΠ½Π΄Ρ. ΠΡΠΎ Π²Π°ΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΈΠ³ΡΠ° Π½Π΅ Π±ΡΠ»Π° ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π±ΡΡΡΡΠΎΠΉ. ΠΠ°ΠΆΠ½ΠΎ ΠΈ ΡΠΎ, ΡΡΠΎΠ±Ρ ΠΈΠ³ΡΠ° Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π»Π° Ρ ΡΠ°Π·Π½ΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΡΡ Π½Π° ΡΠ°Π·Π½ΡΡ ΠΠ. ΠΡΠ»ΠΈ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ 10 ΡΠ΅ΠΊΡΠ½Π΄ Π½Π° ΡΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΡ ΡΠΊΡΠ°Π½, ΡΡΠΈ 10 ΡΠ΅ΠΊΡΠ½Π΄ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΡΠΌΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ².
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Π° Pygame
Π’Π΅ΠΏΠ΅ΡΡ, Π·Π½Π°Ρ ΠΈΠ· ΠΊΠ°ΠΊΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ³ΡΠ°, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ ΠΊ ΠΏΡΠΎΡΠ΅ΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π°. ΠΠ°ΡΠ°ΡΡ ΡΡΠΎΠΈΡ Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ pygame, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΠΎΠΊΠ½ΠΎ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ». ΠΡΠΎ ΠΎΡΠΏΡΠ°Π²Π½Π°Ρ ΡΠΎΡΠΊΠ° Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° pygame.
Π Π½Π°ΡΠ°Π»Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½ΡΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ Π·Π°Π΄Π°ΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΈΠ³ΡΡ:
ΠΠ°Π»ΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠΊΡΡΡΡ ΠΎΠΊΠ½ΠΎ ΠΈΠ³ΡΡ:
Π’Π΅ΠΏΠ΅ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ»:
Π Π°Π·Π΄Π΅Π» ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° (ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ)
ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΡΠ°Π·Π΄Π΅Π»Π° ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ. ΠΠ΅ΡΡΠΎΠ½Π°ΠΆΠ΅ΠΉ ΠΏΠΎΠΊΠ° Π½Π΅Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠΊΡΠ°Π½ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΏΠ»ΠΎΡΠ½ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ. Π§ΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ, Π½ΡΠΆΠ½ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠ²Π΅ΡΠ°.
ΠΠΊΡΠ°Π½Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ² ΡΠ΄Π΅Π»Π°Π½Ρ ΠΈΠ· ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ 3 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°: ΠΊΡΠ°ΡΠ½ΡΠΉ, Π·Π΅Π»Π΅Π½ΡΠΉ ΠΈ ΡΠΈΠ½ΠΈΠΉ. Π¦Π²Π΅Ρ ΠΏΠΈΠΊΡΠ΅Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ Π³ΠΎΡΠΈΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²:
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΡΠ΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ²Π΅ΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ 0 (Π²ΡΠΊΠ»ΡΡΠ΅Π½) Π΄ΠΎ 255 (Π²ΠΊΠ»ΡΡΠ΅Π½ Π½Π° 100%), ΡΠ°ΠΊ ΡΡΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π΅ΡΡΡ 256 Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ².
Π£Π·Π½Π°ΡΡ ΠΎΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠΌ ΡΠ²Π΅ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ, ΡΠΌΠ½ΠΎΠΆΠΈΠ²:
Π’Π΅ΠΏΠ΅ΡΡ, Π·Π½Π°Ρ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ²Π΅ΡΠ°, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΠΈΡ Π² Π½Π°ΡΠ°Π»Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ:
Π ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ β Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ Π²Π΅ΡΡ ΡΠΊΡΠ°Π½.
ΠΠΎ ΡΡΠΎΠ³ΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ. ΠΠΈΡΠΏΠ»Π΅ΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π΅ ΡΠ°ΠΊ. ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΈΠΊΡΠ΅Π»Ρ β Π·Π½Π°ΡΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠ΅, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° ΠΏΠ΅ΡΠ΅Π΄Π°Π»Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΊΡΠ°Π½Ρ. ΠΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΠΌ ΠΌΠ΅ΡΠΊΠ°ΠΌ ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ. ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ Π½Π°ΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅Π³ΠΎ, ΡΡΠΎ Π·Π°ΠΉΠΌΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ β Π΄Π²ΠΎΠΉΠ½Π°Ρ Π±ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΡ. ΠΠ²ΡΡΠΈΡ Π½Π΅ΠΎΠ±ΡΡΠ½ΠΎ, Π½ΠΎ Π²ΠΎΡ ΡΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅.
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ Ρ Π²Π°Ρ Π΅ΡΡΡ Π΄Π²ΡΡΡΠΎΡΠΎΠ½Π½ΡΡ Π΄ΠΎΡΠΊΠ°, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ²ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡ, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Ρ ΡΠΎ ΠΎΠ΄Π½Ρ, ΡΠΎ Π²ΡΠΎΡΡΡ ΡΡΠΎΡΠΎΠ½Ρ. ΠΠ΄Π½Π° Π±ΡΠ΄Π΅Ρ Π΄ΠΈΡΠΏΠ»Π΅Π΅ΠΌ (ΡΠΎ, ΡΡΠΎ Π²ΠΈΠ΄ΠΈΡ ΠΈΠ³ΡΠΎΠΊ), Π° Π²ΡΠΎΡΠ°Ρ β ΠΎΡΡΠ°Π²Π°ΡΡΡΡ ΡΠΊΡΡΡΠΎΠΉ, Π΅Π΅ ΡΠΌΠΎΠΆΠ΅Ρ Β«Π²ΠΈΠ΄Π΅ΡΡΒ» ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ. Π‘ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΠΊΠ°Π΄ΡΠΎΠΌ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ Π½Π° Π·Π°Π΄Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ Π΄ΠΎΡΠΊΠΈ. ΠΠΎΠ³Π΄Π° ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ, Π΄ΠΎΡΠΊΠ° ΠΏΠΎΠ²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ ΠΈ Π΅Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅ΡΡΡ ΠΈΠ³ΡΠΎΠΊΡ.
Π ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π·Π° ΠΊΠ°Π΄Ρ, Π° Π½Π΅ ΠΏΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°.
Π pygame ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΡΠΆΠ½ΠΎ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΡΠΊΠ°Π·Π°ΡΡ Π΄ΠΎΡΠΊΠ΅, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° ΠΏΠ΅ΡΠ΅Π²Π΅ΡΠ½ΡΠ»Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π·Π°Π²Π΅ΡΡΠ΅Π½Π°. ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ flip() :
ΠΠ»Π°Π²Π½ΠΎΠ΅ β ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΡΡΠ½ΠΊΡΠΈΡ flip() Π±ΡΠ»Π° Π² ΠΊΠΎΠ½ΡΠ΅. ΠΡΠ»ΠΈ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠ²ΠΎΡΠΎΡΠ°, ΡΡΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅.
Π Π°Π·Π΄Π΅Π» Π²Π²ΠΎΠ΄Π° (ΡΠΎΠ±ΡΡΠΈΠΉ)
ΠΠ³ΡΡ Π΅ΡΠ΅ Π½Π΅Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΠΊΠ° ΡΠ»ΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ. ΠΠΎ Π½ΡΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΎΠ΄Π½ΠΎ Π²Π°ΠΆΠ½ΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅. ΠΡΠ»ΠΈ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ΅ΠΉΡΠ°Ρ, ΡΠΎ ΡΡΠ°Π½Π΅Ρ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ Π½Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π°ΠΊΡΡΡΡ ΠΎΠΊΠ½ΠΎ. ΠΠ°ΠΆΠ°ΡΡ Π½Π° ΠΊΡΠ΅ΡΡΠΈΠΊ Π² Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ³Π»Ρ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ. ΠΡΠΎ ΡΠΎΠΆΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅, ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠΎΠ±ΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° ΡΡΠΈΡΠ°Π»Π° Π΅Π³ΠΎ ΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π·Π°ΠΊΡΡΠ»Π° ΠΈΠ³ΡΡ.
Π‘ΠΎΠ±ΡΡΠΈΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ. Π§ΡΠΎ, Π΅ΡΠ»ΠΈ ΠΈΠ³ΡΠΎΠΊ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΏΡΡΠΆΠΊΠ° Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ? ΠΡΠΎ Π½Π΅Π»ΡΠ·Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΈΠ½Π°ΡΠ΅ ΠΈΠ³ΡΠΎΠΊ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·ΠΎΡΠ°ΡΠΎΠ²Π°Π½. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ pygame ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π²ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ, ΠΏΡΠΎΠΈΠ·ΠΎΡΠ΅Π΄ΡΠΈΠ΅ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠ°Π΄ΡΠ°. ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΈΠ³ΡΠΎΠΊ Π±ΡΠ΄Π΅Ρ Π»ΡΠΏΠΈΡΡ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌ, Π²Ρ Π½Π΅ ΠΏΡΠΎΠΏΡΡΡΠΈΡΠ΅ Π½ΠΈ ΠΎΠ΄Π½Ρ ΠΈΠ· Π½ΠΈΡ . Π‘ΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ, ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠΊΠ»Π° for ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΉΡΠΈΡΡ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΠΈΠ· Π½ΠΈΡ .
ΠΠΎΠ½ΡΡΠΎΠ»Ρ FPS
ΠΠΎΠΊΠ° ΡΡΠΎ Π½Π΅ΡΠ΅Π³ΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π² ΡΠ°Π·Π΄Π΅Π» Update (ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅), Π½ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° FPS ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅Ρ ΡΠΊΠΎΡΠΎΡΡΡ ΠΈΠ³ΡΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠΎΠΌΠ°Π½Π΄Π° tick() ΠΏΡΠΎΡΠΈΡ pygame ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΡΠΈΠΊΠ», Π° Π·Π°ΡΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠ°ΡΠ·Ρ, ΡΡΠΎΠ±Ρ ΡΠΈΠΊΠ» (ΡΠ΅Π»ΡΠΉ ΠΊΠ°Π΄Ρ) Π΄Π»ΠΈΠ»ΡΡ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ΅ΠΌΡ. ΠΡΠ»ΠΈ Π·Π°Π΄Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ FPS 30, ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π΄Π»ΠΈΠ½Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ°Π΄ΡΠ° β 1/30, ΡΠΎ Π΅ΡΡΡ 0,03 ΡΠ΅ΠΊΡΠ½Π΄Ρ. ΠΡΠ»ΠΈ ΡΠΈΠΊΠ» ΠΊΠΎΠ΄Π° (ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅, ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³ ΠΈ ΠΏΡΠΎΡΠ΅Π΅) Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 0,01 ΡΠ΅ΠΊΡΠ½Π΄Ρ, ΡΠΎΠ³Π΄Π° pygame ΡΠ΄Π΅Π»Π°Π΅Ρ ΠΏΠ°ΡΠ·Ρ Π½Π° 0,02 ΡΠ΅ΠΊΡΠ½Π΄Ρ.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π½ΡΠΆΠ½ΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ» Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ, ΠΎΠΊΠ½ΠΎ ΠΈΠ³ΡΡ Π·Π°ΠΊΡΡΠ²Π°Π΅ΡΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ pygame.quit() Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ΄Π°. Π€ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ pygame Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ Π²ΠΎΡ ΡΠ°ΠΊ:
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΡΡΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ ΠΊΠ°ΠΊ ΠΎΡΠΏΡΠ°Π²Π½Π°Ρ ΡΠΎΡΠΊΠ° Π΄Π»Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΈ ΠΈΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ.
ΠΠΈΡΠ΅ΠΌ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Ρ Π½Π° Python, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ pygame
Π‘ΡΠ°Π·Ρ ΠΎΠ³ΠΎΠ²ΠΎΡΡΡΡ, ΡΡΠΎ Π·Π΄Π΅ΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π΄Π»Ρ ΡΠ°ΠΌΡΡ
ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΡ
Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
.
ΠΠ°Π²Π½ΠΎ Ρ ΠΎΡΠ΅Π» ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΠ΅Π±Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠ³ΡΠΎΠ΄Π΅Π»Π°, ΠΈ Π½Π΅Π΄Π°Π²Π½ΠΎ Π²ΡΠΏΠ°Π» ΡΠ»ΡΡΠ°ΠΉ ΠΈΠ·ΡΡΠΈΡΡ Python ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΄Π°Π²Π½ΡΡ ΠΌΠ΅ΡΡΡ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Ρ?
ΠΠ»Π°ΡΡΠΎΡΠΌΠ΅Ρ(platformer)β ΠΆΠ°Π½Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ
ΠΈΠ³Ρ, Π² ΠΊΠΎΡΠΎΡΡΡ
ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ΅ΡΡΠΎΠΉ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΡΠ³Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΠΌ, Π»Π°Π·Π°Π½ΡΠ΅ ΠΏΠΎ Π»Π΅ΡΡΠ½ΠΈΡΠ°ΠΌ, ΡΠΎΠ±ΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠΎΠ², ΠΎΠ±ΡΡΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΡ
Π΄Π»Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ²Π½Ρ.
ΠΠΈΠΊΠΈ
ΠΠ΄Π½ΠΈΠΌΠΈ ΠΈΠ· ΠΌΠΎΠΈΡ Π»ΡΠ±ΠΈΠΌΡΡ ΠΈΠ³Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΆΠ°Π½ΡΠ° ΡΠ²Π»ΡΡΡΡΡ Β«Super Mario BrothersΒ» ΠΈ Β«Super Meat BoyΒ». ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ Π½Π΅ΡΡΠΎ ΡΡΠ΅Π΄Π½Π΅Π΅ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ.
Π‘Π°ΠΌΠΎΠ΅ β ΡΠ°ΠΌΠΎΠ΅ Π½Π°ΡΠ°Π»ΠΎ.
ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅! ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ python Π²Π΅ΡΠΊΠΈ 2.Ρ , Ρ 3.Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ° Π½ΠΈΠΆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ ΡΠΊΡΠΈΠΏΡΠΎΠ²!
ΠΠ°Π²Π΅ΡΠ½ΠΎΠ΅, Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ³ΡΡ, Π΄Π° ΠΈ Π²ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ pygame Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
ΠΠ³ΡΠ° Π±ΡΠ΄Π΅Ρ Β«ΠΊΡΡΡΠΈΡΡΡΡΒ» Π² ΡΠΈΠΊΠ»Π΅ ( while 1), ΠΊΠ°ΠΆΠ΄ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΡΠ²Π°ΡΡ Π²ΡΡ (ΡΠΎΠ½, ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, ΠΌΠΎΠ½ΡΡΡΠΎΠ², ΡΠΈΡΡΠΎΠ²ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ Ρ.Π΄). ΠΠ°ΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ΄Π΅Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Ρ.Π΅. Π΅ΡΠ»ΠΈ ΡΠΏΠ΅ΡΠ²Π° Π½Π°ΡΠΈΡΠΎΠ²Π°ΡΡ Π³Π΅ΡΠΎΡ, Π° ΠΏΠΎΡΠΎΠΌ Π·Π°Π»ΠΈΡΡ ΡΠΎΠ½, ΡΠΎ Π³Π΅ΡΠΎΡ Π²ΠΈΠ΄Π½ΠΎ Π½Π΅ Π±ΡΠ΄Π΅Ρ, ΡΡΡΠΈΡΠ΅ ΡΡΠΎ Π½Π° Π±ΡΠ΄ΡΡΠ΅Π΅.
ΠΠ°ΠΏΡΡΡΠΈΠ² ΡΡΠΎΡ ΠΊΠΎΠ΄, ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ ΠΎΠΊΠ½ΠΎ, Π·Π°Π»ΠΈΡΠΎΠ΅ Π·Π΅Π»Π΅Π½Π΅Π½ΡΠΊΠΈΠΌ ΡΠ²Π΅ΡΠΎΠΌ.
(ΠΠ°ΡΡΠΈΠ½ΠΊΠ° ΠΊΠ»ΠΈΠΊΠ°Π±Π΅Π»ΡΠ½Π°)
ΠΡ ΡΡΠΎ ΠΆΠ΅, Π½Π°ΡΠ°Π»ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΎ, ΠΈΠ΄ΡΠΌ Π΄Π°Π»ΡΡΠ΅.
Π£ΡΠΎΠ²Π΅Π½Ρ.
Π ΠΊΠ°ΠΊ Π±Π΅Π· Π½Π΅Π³ΠΎ? ΠΠΎΠ΄ ΡΠ»ΠΎΠ²ΠΎΠΌ Β«ΡΡΠΎΠ²Π΅Π½ΡΒ» Π±ΡΠ΄Π΅ΠΌ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ Π²ΡΡΠΊΠΎΠΉ β Π²ΡΡΡΠΈΠ½ΠΎΠΉ, ΠΈ ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠ³Π°ΡΡΡΡ Π½Π°Ρ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆ.
ΠΠ»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΡΠΎΠ²Π½Ρ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² m Π½Π° n. ΠΠ°ΠΆΠ΄Π°Ρ ΡΡΠ΅ΠΉΠΊΠ° (m,n) Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΠΈΠ· ΡΠ΅Π±Ρ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ. ΠΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ Π² ΡΠ΅Π±Π΅ ΡΡΠΎ-ΡΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ, Π° ΠΌΠΎΠΆΠ΅Ρ ΠΈ Π±ΡΡΡ ΠΏΡΡΡΡΠΌ. ΠΡ Π² ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°Ρ Π±ΡΠ΄Π΅ΠΌ ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.
ΠΠΎΠ±Π°Π²ΠΈΠΌ Π΅ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ
ΠΠ°ΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΠΎΠ²Π½Ρ Π² ΡΡΠ½ΠΊΡΠΈΡ main
Π Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΈΠΊΠ» Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
Π’.Π΅. ΠΡ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅ΠΌ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² level, ΠΈ, Π΅ΡΠ»ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ ΡΠΈΠΌΠ²ΠΎΠ» Β«-Β», ΡΠΎ ΠΏΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌ (x * PLATFORM_WIDTH, y * PLATFORM_HEIGHT), Π³Π΄Π΅ x,y β ΠΈΠ½Π΄Π΅ΠΊΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ level
ΠΠ°ΠΏΡΡΡΠΈΠ², ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΠ΅ΡΡΠΎΠ½Π°ΠΆ
ΠΡΠΎΡΡΠΎ ΠΊΡΠ±ΠΈΠΊΠΈ Π½Π° ΡΠΎΠ½Π΅ β ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠΊΡΡΠ½ΠΎ. ΠΠ°ΠΌ Π½ΡΠΆΠ΅Π½ Π½Π°Ρ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π±Π΅Π³Π°ΡΡ ΠΈ ΠΏΡΡΠ³Π°ΡΡ ΠΏΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΠΌ.
Π‘ΠΎΠ·Π΄Π°ΡΠΌ ΠΊΠ»Π°ΡΡ Π½Π°ΡΠ΅Π³ΠΎ Π³Π΅ΡΠΎΡ.
ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π°, Π±ΡΠ΄Π΅ΠΌ Π΄Π΅ΡΠΆΠ°ΡΡ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ° Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ player.py
Π§ΡΠΎ ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ?
ΠΠ°ΡΠ½ΡΠΌ Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΌΡ ΡΠΎΠ·Π΄Π°ΡΠΌ Π½ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ, Π½Π°ΡΠ»Π΅Π΄ΡΡΡΡ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° pygame.sprite.Sprite, ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ Π½Π°ΡΠ»Π΅Π΄ΡΡ Π²ΡΠ΅ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΡΠΏΡΠ°ΠΉΡΠ°.
CΠΏΡΠ°ΠΉΡ β ΡΡΠΎ Π΄Π²ΠΈΠΆΡΡΠ΅Π΅ΡΡ ΡΠ°ΡΡΡΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. ΠΠΌΠ΅Π΅Ρ ΡΡΠ΄ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ ΡΠ²ΠΎΠΉΡΡΠ².
self.rect = Rect(x, y, WIDTH, HEIGHT), Π² ΡΡΠΎΠΉ ΡΡΡΠΎΡΠΊΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π³ΡΠ°Π½ΠΈΡΡ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ°, ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ Π³Π΅ΡΠΎΡ, Π½ΠΎ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π΅Π³ΠΎ Π½Π° ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ. ΠΠΎ ΠΎΠ± ΡΡΠΎΠΌ ΡΡΡΡ Π½ΠΈΠΆΠ΅.
ΠΠ΅ΡΠΎΠ΄ update(self, left, right)) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ update(*args) β None. ΠΠΎΠΆΠ΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ Π² Π³ΡΡΠΏΠΏΠ°Ρ ΡΠΏΡΠ°ΠΉΡΠΎΠ².
ΠΠ΅ΡΠΎΠ΄ draw(self, screen) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ° Π½Π° ΡΠΊΡΠ°Π½. ΠΠ°Π»Π΅Π΅ ΠΌΡ ΡΠ±Π΅ΡΠ΅ΠΌ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΈ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π³Π΅ΡΠΎΡ.
ΠΠΎΠ±Π°Π²ΠΈΠΌ Π½Π°ΡΠ΅Π³ΠΎ Π³Π΅ΡΠΎΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ°ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ΅ΡΠ΅Π΄ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠ²Π½Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π³Π΅ΡΠΎΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ.
Π ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΠΎΠ±ΡΡΠΈΠΉ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
Π’.Π΅. ΠΡΠ»ΠΈ Π½Π°ΠΆΠ°Π»ΠΈ Π½Π° ΠΊΠ»Π°Π²ΠΈΡΡ Β«Π»Π΅Π²ΠΎΒ», ΡΠΎ ΠΈΠ΄ΡΠΌ Π²Π»Π΅Π²ΠΎ. ΠΡΠ»ΠΈ ΠΎΡΠΏΡΡΡΠΈΠ»ΠΈ β ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌΡΡ. Π’Π°ΠΊ ΠΆΠ΅ Ρ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Β«ΠΏΡΠ°Π²ΠΎΒ»
Π‘Π°ΠΌΠΎ ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΠ°ΠΊ: (Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΠΎΠ½Π° ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌ)
ΠΠΎ, ΠΊΠ°ΠΊ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, Π½Π°Ρ ΡΠ΅ΡΡΠΉ Π±Π»ΠΎΠΊ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π±ΡΡΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΡΡ, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ ΠΊΠ°Π΄ΡΠΎΠ² Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΡΠ»Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠΎΠ²Π½Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ°ΠΉΠΌΠ΅Ρ
Π Π² Π½Π°ΡΠ°Π»ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΠ°Π²ΠΈΡ Π² Π²ΠΎΠ·Π΄ΡΡ Π΅
ΠΠ°, Π½Π°Ρ Π³Π΅ΡΠΎΠΉ Π² Π±Π΅Π·Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΎΠ½ Π·Π°Π²ΠΈΡ Π² Π²ΠΎΠ·Π΄ΡΡ
Π΅.
ΠΠΎΠ±Π°Π²ΠΈΠΌ Π³ΡΠ°Π²ΠΈΡΠ°ΡΠΈΠΈ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΡΠ³Π°ΡΡ.
Π ΡΠ°ΠΊ, ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Π² ΡΠ°ΠΉΠ»Π΅ player.py
ΠΠΎΠ±Π°Π²ΠΈΠΌ Π΅ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ
Π ΠΌΠ΅ΡΠΎΠ΄ _init_ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΡΡΠΎΠΊΠΈ:
ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π²Ρ
ΠΎΠ΄Π½ΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π² ΠΌΠ΅ΡΠΎΠ΄ update
def update(self, left, right, up):
Π Π² Π½Π°ΡΠ°Π»ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ:
Π ΠΏΠ΅ΡΠ΅Π΄ ΡΡΡΠΎΡΠΊΠΎΠΉ self.rect.x += self.xvel
ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ
Π Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ°ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
ΠΠΎΡΠ»Π΅ ΡΡΡΠΎΡΠΊΠΈ left = right = False
ΠΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ up
Π ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΠΎΠ±ΡΡΠΈΠΉ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ
Π ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ Π²ΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° update, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π½ΠΎΠ²ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ up:
hero.update(left, right)
Π½Π°
ΠΠ΄Π΅ΡΡ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠΈΠ»Ρ Π³ΡΠ°Π²ΠΈΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΡΠ½ΡΡΡ Π½Π°Ρ Π²Π½ΠΈΠ·, ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π½Π°ΡΠ°ΡΠΈΠ²Π°Ρ ΡΠΊΠΎΡΠΎΡΡΡ, Π΅ΡΠ»ΠΈ ΠΌΡ Π½Π΅ ΡΡΠΎΠΈΠΌ Π½Π° Π·Π΅ΠΌΠ»Π΅, ΠΈ ΠΏΡΡΠ³Π°ΡΡ Π² ΠΏΠΎΠ»Π΅ΡΠ΅ ΠΌΡ Π½Π΅ ΡΠΌΠ΅Π΅ΠΌ. Π ΠΌΡ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ²Π΅ΡΠ΄ΠΎ Π²ΡΡΠ°ΡΡ Π½Π° ΡΡΠΎ-ΡΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ Π½Π°Ρ Π³Π΅ΡΠΎΠΉ ΠΏΠ°Π΄Π°Π΅Ρ Π΄Π°Π»Π΅ΠΊΠΎ Π·Π° Π³ΡΠ°Π½ΠΈΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ.
ΠΡΡΠ°Π½Ρ ΠΎΠ±Π΅ΠΈΠΌΠΈ Π½ΠΎΠ³Π°ΠΌΠΈ Π½Π° Π·Π΅ΠΌΠ»Ρ ΡΠ²ΠΎΡ.
ΠΠ°ΠΊ ΡΠ·Π½Π°ΡΡ, ΡΡΠΎ ΠΌΡ Π½Π° Π·Π΅ΠΌΠ»Π΅ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ²Π΅ΡΠ΄ΠΎΠΉ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ? ΠΡΠ²Π΅Ρ ΠΎΡΠ΅Π²ΠΈΠ΄Π΅Π½ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π½Π° ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, Π½ΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌ.
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» blocks.py, ΠΈ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ΅ΠΌ Π² Π½Π΅Π³ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.
ΠΠ°Π»ΡΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΊΠ»Π°ΡΡ, Π½Π°ΡΠ»Π΅Π΄ΡΡΡΡ ΠΎΡ pygame.sprite.Sprite
Π’ΡΡ Π½Π΅Ρ Π½ΠΈ ΡΠ΅Π³ΠΎ Π½Π°ΠΌ ΡΠΆΠ΅ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΠΎΠ³ΠΎ, ΠΈΠ΄ΡΠΌ Π΄Π°Π»ΡΡΠ΅.
Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ°ΠΉΠ»Π΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅Π΄ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΠ²Π° level Π΄ΠΎΠ±Π°Π²ΠΈΠΌ
ΠΡΡΠΏΠΏΠ° ΡΠΏΡΠ°ΠΉΡΠΎΠ² entities Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠΎΠΉ Π³ΡΡΠΏΠΏΡ.
ΠΠ°ΡΡΠΈΠ² platforms Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π° ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ.
Π’.Π΅. ΡΠΎΠ·Π΄Π°ΡΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»Ρ ΠΊΠ»Π°ΡΡΠ° Platform, Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π΅Π³ΠΎ Π² Π³ΡΡΠΏΠΏΡ ΡΠΏΡΠ°ΠΉΡΠΎΠ² entities ΠΈ ΠΌΠ°ΡΡΠΈΠ² platforms. Π entities, ΡΡΠΎΠ±Ρ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° Π½Π΅ ΠΏΠΈΡΠ°ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. Π platforms Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠΎΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ² Π±Π»ΠΎΠΊΠΎΠ² Π½Π° ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΈΠ³ΡΠΎΠΊΠΎΠΌ.
ΠΠ°Π»ΡΡΠ΅, Π²Π΅ΡΡ ΠΊΠΎΠ΄ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΡΠΎΠ²Π½Ρ Π²ΡΠ½ΠΎΡΠΈΠΌ ΠΈΠ· ΡΠΈΠΊΠ»Π°.
Π ΡΠ°ΠΊ ΠΆΠ΅ ΡΡΡΠΎΡΠΊΡ
hero.draw(screen) # ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
ΠΠ°ΠΌΠ΅Π½ΠΈΠΌ Π½Π°
ΠΠ°ΠΏΡΡΡΠΈΠ², ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Π½ΠΈ ΡΠ΅Π³ΠΎ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ. ΠΠ΅ΡΠ½ΠΎ. ΠΠ΅Π΄Ρ ΠΌΡ Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π½Π°ΡΠ΅Π³ΠΎ Π³Π΅ΡΠΎΡ Π½Π° ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ. ΠΠ°ΡΠ½ΡΠΌ ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²Π»ΡΡΡ.
Π Π°Π±ΠΎΡΠ°Π΅ΠΌ Π² ΡΠ°ΠΉΠ»Π΅ player.py
Π£Π΄Π°Π»ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ draw, ΠΎΠ½ Π½Π°ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ΅Π½. Π Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π½ΠΎΠ²ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ collide
Π ΡΡΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π³Π΅ΡΠΎΡ ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌ, Π΅ΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠ²ΠΎΠ΅ ΠΈΠΌΠ΅Π΅ΡΡΡ, ΡΠΎ Π²ΡΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅.
ΠΡ, ΠΈ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π±Ρ ΡΡΠΎ Π²ΡΡ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΠ»ΠΎ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄.
ΠΠ·ΠΌΠ΅Π½ΠΈΠΌ ΡΠΈΡΠ»ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄Π° update, ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ½ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
Π Π½Π΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π΅Π³ΠΎ Π²ΡΠ·ΠΎΠ² Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅.
Π’.Π΅. ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠ½ΡΠ»ΠΈ Π³Π΅ΡΠΎΡ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎ, ΠΏΡΠΎΠ²Π΅ΡΠΈΠ»ΠΈ Π½Π° ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ, ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠ½ΡΠ»ΠΈ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎ, ΡΠ½ΠΎΠ²Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΠ»ΠΈ Π½Π° ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ.
ΠΠΎΡ, ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π·Π°ΠΏΡΡΡΠΈΠΌ.
Π€Ρ[Ρ]! ΠΠ²ΠΈΠΆΡΡΠΈΠΉΡΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ β Π½Π΅ ΠΊΡΠ°ΡΠΈΠ²ΠΎ!
ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΡΠΊΡΠ°ΡΠΈΠΌ Π½Π°ΡΠ΅Π³ΠΎ ΠΠ°ΡΠΈΠΎΠΠΎΡ.
ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² ΡΠ°ΠΉΠ»Π΅ blocks.py ΡΠ΄Π΅Π»Π°Π΅ΠΌ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
ΠΠ°ΠΌΠ΅Π½ΠΈΠΌ Π·Π°Π»ΠΈΠ²ΠΊΡ ΡΠ²Π΅ΡΠΎΠΌ Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΡΠΎΡΠΊΡ
self.image.fill(Color(PLATFORM_COLOR))
ΠΠ°ΠΌΠ΅Π½ΠΈΠΌ Π½Π°
ΠΡ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΏΠ»ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ°. Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, ΡΠ°ΠΉΠ» Β«platform.pngΒ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ Β«blocksΒ», ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌΠΈ ΠΊΠΎΠ΄Π°ΠΌΠΈ.
ΠΠΎΡ, ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ
Π‘ΠΏΠ΅ΡΠ²Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² Π±Π»ΠΎΠΊ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ.
Π’ΡΡ, Π΄ΡΠΌΠ°Ρ, ΠΏΠΎΠ½ΡΡΠ½ΠΎ, Π°Π½ΠΈΠΌΠ°ΡΠΈΡ ΡΠ°Π·Π½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π³Π΅ΡΠΎΡ.
Π’Π΅ΠΏΠ΅ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ Π² ΠΌΠ΅ΡΠΎΠ΄ __init__
ΠΠ΄Π΅ΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π½Π°Π±ΠΎΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΉ, ΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΠΈΡ
(Ρ.Π΅. ΠΠΊΠ»ΡΡΠ°Π΅ΠΌ ΡΠΌΠ΅Π½Ρ ΠΊΠ°Π΄ΡΠΎΠ²).
))
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΊΠ°Π΄Ρ ΠΈΠΌΠ΅Π΅Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΠΈ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠΊΠ°Π·Π°.
ΠΡΡΠ°Π»ΠΎΡΡ Π² Π½ΡΠΆΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π½ΡΠΆΠ½ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ.
ΠΠΎΠ±Π°Π²ΠΈΠΌ ΡΠΌΠ΅Π½Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΉ Π² ΠΌΠ΅ΡΠΎΠ΄ update.
ΠΡΠ°Π»Ρ!
ΠΠΎΠ»ΡΡΠ΅, Π½ΡΠΆΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΠΌΠ΅ΡΡΠ°
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π² ΡΠ°Π·ΠΌΠ΅ΡΠ΅ ΠΎΠΊΠ½Π° ΠΌΡ ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅Π΅ΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΠ°ΠΌΠ΅ΡΡ.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΊΠ»Π°ΡΡ Camera
ΠΠ°Π»Π΅Π΅, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΌΠ΅ΡΡ
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ°ΠΌΠ΅ΡΡ, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΠ΅ΡΠ΅Π΄ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΡΠΈΠΊΠ»ΠΎΠΌ:
ΠΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π²Π½ΡΡΡΠΈ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°, ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²ΡΡΠΈΡΠ»ΡΡΡΡΡ ΡΠ°ΠΊ:
ΠΌΠ΅Π½ΡΡΠΈΠΉ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ, ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ, ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΡΠΌ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΎΠΊΠ½Π°.
ΠΠ΅Π½ΡΡΠΈΠΉ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ ΡΠ΅Π½ΡΡΠΈΡΡΠ΅ΡΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ°(ΠΌΠ΅ΡΠΎΠ΄ update), ΠΈ Π²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠΈΡΡΡΡΡΡ Π² ΠΌΠ΅Π½ΡΡΠ΅ΠΌ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ΅ (ΠΌΠ΅ΡΠΎΠ΄ apply), Π·Π° ΡΡΠ΅Ρ ΡΠ΅Π³ΠΎ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΠΌΠ΅ΡΡ.
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Π²ΡΡΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ, Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
ΠΠ°ΠΌΠ΅Π½ΠΈΠΌ ΡΡΡΠΎΡΠΊΡ
entities.draw(screen) # ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
ΠΠ°
Π ΠΏΠ΅ΡΠ΅Π΄ Π½Π΅ΠΉ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎΠ²Π΅Π½Ρ.
ΠΠΎΡ, ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ, ΡΡΡΠ»ΠΊΠ° Π½Π° GitHub
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ, Π΅ΡΠ»ΠΈ Π±ΡΠ΄Π΅Ρ Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΎ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎΠΌ, ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ²ΠΎΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΡΠΎΠ²Π½Π΅ΠΉ Ρ Π±Π»ΡΠΊΠ΄ΠΆΠ΅ΠΊΠΎΠΌ ΠΈ ΡΠ»ΡΡ
Π°ΠΌΠΈ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌ, ΠΌΠΎΠ½ΡΡΡΠ°ΠΌΠΈ, ΡΠ΅Π»Π΅ΠΏΠΎΡΡΠ°ΠΌΠΈ, ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, ΠΏΡΠΈΠ½ΡΠ΅ΡΡΠΎΠΉ.
upd pygame ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΠΎΡΡΡΠ΄Π°, ΡΠΏΠ°ΡΠΈΠ±ΠΎ, Chris_Griffin Π·Π° Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
upd1 ΠΡΠΎΡΠ°Ρ ΡΠ°ΡΡΡ