Π·ΠΌΠ΅ΠΉΠΊΠ° Π½Π° ΠΏΠ°ΠΉΡΠΎΠ½ ΠΊΠΎΠ΄
ΠΡΠΎΡΡΠ΅ΠΉΡΠ°Ρ Π·ΠΌΠ΅ΠΉΠΊΠ° Π½Π° Python ΠΌΠ΅Π½Π΅Π΅, ΡΠ΅ΠΌ Π² 100 ΡΡΡΠΎΡΠ΅ΠΊ ΠΊΠΎΠ΄Π°
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΡΡΠΎΡΠ΅ΠΊ ΠΊΠΎΠ΄Π° Ρ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ ΠΈΠ³ΡΡ Π±ΡΠ΄Π΅Ρ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΠΌΠ΅Π½ΡΡΠ΅, Π΄ΠΎΠ±ΡΡΡ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ ΡΠΊΡΠΈΠΏΡΠ° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ, ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΡΠΎΠΆΠ΄ΡΠ½Π½ΠΎΠΉ Π·ΠΌΠ΅ΠΈ, Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ Π΅ΡΡ ΠΏΠ°ΡΠΎΡΠΊΠ° ΠΌΠ΅Π»ΠΎΡΠ΅ΠΉ. ΠΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½Π° Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ ΠΆΠ΅ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ , ΠΊΠ°ΠΊ ΠΈ Ρ ΡΠ°ΠΌ. Π Π΄Π°, Π² ΠΊΠΎΠ΄Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Π² Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π΅ Π²ΠΈΠΆΡ Π² ΡΠΈΠ»Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΎΠΏΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΠ΅Π³ΠΎΡΡ Π½Π° ΠΏΡΠΎΡΡΠ΅Π½ΠΈΠΈ ΠΠ°ΡΠΊΠ° ΠΡΡΡΠ° ΠΈ ΠΏΠΎΠΊΠ° Π΅ΡΡ Π½Π΅Π΄ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΌ ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ Π±ΠΎΡΠ΅, Π½ΠΎ Π·ΠΌΠ΅ΠΉΠΊΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈΡΠΏΡΠ°Π²Π½ΠΎ ΠΈ Π΄Π΅Π»Π°Π΅Ρ Π²ΡΡ, ΡΡΠΎ Π±ΡΠ»ΠΎ Π·Π°Π΄ΡΠΌΠ°Π½ΠΎ. ΠΠΈΡΠ°ΡΡ Π±ΡΠ΄Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ turtle. ΠΠΎΠ³Π½Π°Π»ΠΈ.
ΠΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈ Π·Π°Π΄Π°ΡΠΌ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ. ΠΠΎΠ΄ΡΠ»Ρ time ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠ°ΡΠ·Ρ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΡΠΈΠΊΠ»Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, turtle Π±ΡΠ΄Π΅Ρ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π·Π° Π³ΡΠ°ΡΠΈΠΊΡ Π² ΠΈΠ³ΡΠ΅, ΠΈΠ· ΠΌΠΎΠ΄ΡΠ»Ρ random Π²ΠΎΠ·ΡΠΌΡΠΌ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅ΡΠΎΠ΄ randrange Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π΅Π΄Ρ Π΄Π»Ρ Π½Π°ΡΠ΅ΠΉ Π·ΠΌΠ΅ΠΈ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ BREAK_FLAG Π±ΡΠ΄Π΅ΠΌ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΈΠ³ΡΡ ΠΏΡΠΈ ΡΠΊΡΡΠ΅ Π·ΠΌΠ΅ΠΉΠΊΠΈ ΡΠ°ΠΌΠΎΠΉ ΡΠ΅Π±Ρ, ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ± ΡΡΠΎΠΌ ΠΏΠΎΠ·ΠΆΠ΅.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ°Π³ΠΎΠΌ ΡΠΎΠ·Π΄Π°ΡΠΌ ΠΎΠΊΠ½ΠΎ ΠΈΠ³ΡΡ, Π½Π°Π·Π½Π°ΡΠ°Π΅ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅, Π·Π°Π΄Π°ΡΠΌ ΡΠ²Π΅Ρ ΡΠΎΠ½Π° ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΎΠΊΠ½Π°. Π‘ΡΡΠΎΠΊΠ° screen.tracer(0) ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ, ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°Π΄ΡΡ Π±ΡΠ΄Π΅ΠΌ ΡΠ°ΠΌΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠΈΠΊΠ»Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠ»ΠΈ ΡΡΠΎΠ³ΠΎ Π½Π΅ ΡΠ΄Π΅Π»Π°ΡΡ Π²Π½ΠΎΠ²Ρ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΡΠ΅Π³ΠΌΠ΅Π½Ρ Π·ΠΌΠ΅ΠΉΠΊΠΈ ΠΈ Π½ΠΎΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΅Π΄Ρ, ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠ΅Π΄Π°Π½ΠΈΡ Π΄ΠΎΠ±ΡΡΠΈ, Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π² ΡΠ΅Π½ΡΡΠ΅ ΠΏΠΎΠ»Ρ ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡΡ Π² Π·Π°Π΄Π°Π½Π½ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΈ Π²Π΅ΡΡ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π²ΠΈΠ΄Π΅ΡΡ. ΠΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ turtle, ΠΊΠ°ΠΆΠ΄ΡΠΉ Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π² ΡΠ΅Π½ΡΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ.
ΠΠ»Ρ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΡΡΠΈ Π½Π°ΡΠΈΡΡΠ΅ΠΌ Π³ΡΠ°Π½ΠΈΡΡ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ. Π‘ΠΎΠ·Π΄Π°ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠ΅ΡΠ΅ΠΏΠ°ΡΠΊΠΈ border = turtle.Turtle(), Π΄Π΅Π»Π°Π΅ΠΌ Π΅Π³ΠΎ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡΠΌ border.hideturtle(), ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΡ Π½Π΅Π³ΠΎ Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π»ΠΈΠ½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ ΡΠ΅ΡΡΠΈΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ. Π ΠΎΠΏΡΡΠΊΠ°Ρ ΠΈ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Ρ ΠΏΠ΅ΡΠΎ border.penup(), border.pendown() ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΠΌ Π½Π°ΡΡ ΡΠ΅ΡΠ΅ΠΏΠ°ΡΠΊΡ ΠΏΠΎ ΡΡΡΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌ. ΠΠ° Π²ΡΡ ΠΎΠ΄Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΡΡΠ½ΡΠΉ ΠΊΠ²Π°Π΄ΡΠ°Ρ, Π³ΡΠ°Π½ΠΈΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅Π»ΡΠ·Ρ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°ΡΡ Π½Π°ΡΠ΅ΠΉ Π·ΠΌΠ΅Π΅.
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π·ΠΌΠ΅ΠΉΠΊΡ. ΠΠ°ΡΠ° Π²Π½ΠΎΠ²Ρ ΡΠΎΠΆΠ΄ΡΠ½Π½Π°Ρ Π·ΠΌΠ΅Ρ Π±ΡΠ΄Π΅Ρ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· ΡΡΡΡ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ΄Π΅Ρ ΡΠ²Π»ΡΡΡΡΡ Π½ΠΎΠ²ΡΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ° Turtle. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ Π·ΠΌΠ΅Ρ Π±ΡΠ΄Π΅Ρ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΠ΅ΡΠ΅ΠΏΠ°ΡΠ΅ΠΊ. ΠΠ°Π΄Π΅ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΡΠ»ΠΎΠ²Π° Β«ΡΠ΅ΡΠ΅ΠΏΠ°ΡΠΊΠ°Β» Π² ΡΡΠΎΠΉ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΠΎΠ½ΡΡΠ΅Π½ Π²ΡΠ΅ΠΌ Π±Π΅Π· ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠΉ. Π₯ΡΠ°Π½ΠΈΡΡ Π·ΠΌΠ΅ΠΉΠΊΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ Π±ΡΠ΄Π΅ΠΌ Π² Π²ΠΈΠ΄Π΅ ΡΠΏΠΈΡΠΊΠ° Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ snake. Π‘ΠΎΠ·Π΄Π°ΡΠΌ Π·ΠΌΠ΅Ρ Π² ΡΠΈΠΊΠ»Π΅ for, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΠ³ΠΎΠ½ΡΠ΅ΠΌ ΡΡΠΈ ΡΠ°Π·Π°. Π‘ΠΎΠ·Π΄Π°ΡΠΌ Π½ΠΎΠ²ΡΠΉ ΡΠ΅Π³ΠΌΠ΅Π½Ρ snake_segment = turtle.Turtle(), Π·Π°Π΄Π°ΡΠΌ ΡΠΎΡΠΌΡ snake_segment.shape(‘square’) ΠΈ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π΅ΠΌ ΠΏΠ΅ΡΠΎ snake_segment.penup() ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π½Π°ΠΌ Π½Π΅ Π½Π°Π΄ΠΎ, ΡΡΠΎΠ±Ρ Π·ΠΌΠ΅ΠΉΠΊΠ° ΠΎΡΡΠ°Π²Π»ΡΠ»Π° ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π±Ρ ΡΠ»Π΅Π΄. Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ if Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ ΠΎΠΊΡΠ°ΡΠΊΠΈ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΎΠ² Π² ΡΠ΅ΡΡΠΉ ΡΠ²Π΅Ρ. ΠΡΠ°ΡΡΡΡΡ Π²ΡΠ΅ ΠΊΡΠΎΠΌΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ, Π³ΠΎΠ»ΠΎΠ²Π° ΠΎΡΡΠ°ΡΡΡΡ ΡΡΡΠ½ΠΎΠΉ. Π ΠΊΠΎΠ½ΡΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΠ΅Π³ΠΌΠ΅Π½Ρ Π² ΡΠΏΠΈΡΠΎΠΊ Ρ ΡΠ°Π½ΡΡΠΈΠΉ Π²ΡΡ Π·ΠΌΠ΅Ρ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ snake.append(snake_segment).
Π ΡΡΠΎΠΌ Π±Π»ΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π° ΡΠΎΠ·Π΄Π°ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ Π΅Π΄Ρ, Π·Π°Π΄Π°ΡΠΌ Π΅ΠΌΡ ΠΊΡΡΠ³Π»ΡΡ ΡΠΎΡΠΌΡ, Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΠΌ Π΅Π΄Ρ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ΅ Π΄Π»Ρ Π½Π΅Ρ ΠΌΠ΅ΡΡΠΎ.
Π£ΠΏΡΠ°Π²Π»ΡΡΡ Π·ΠΌΠ΅ΠΉΠΊΠΎΠΉ Π±ΡΠ΄Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΡΠΎ ΡΡΡΠ΅Π»ΠΊΠ°ΠΌΠΈ. ΠΠ° ΠΏΡΠΈΠ²ΡΠ·ΠΊΡ ΠΊΠ»Π°Π²ΠΈΡ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ screen.onkeypress(). ΠΠ΅ΡΠΎΠ΄Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΡ ΠΈ ΠΈΠΌΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ. ΠΠ΅ΡΠΎΠ΄ setheading() Π·Π°Π΄Π°ΡΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠ΅ΡΠ΅ΠΏΠ°ΡΠΊΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π±ΡΠ΄Π΅ΠΌ Π² ΡΠ°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅ snake[0].setheading(90), ΡΠΎ Π΅ΡΡΡ Π³ΠΎΠ»ΠΎΠ²Ρ Π·ΠΌΠ΅ΠΉΠΊΠΈ ΠΏΠΎΠ²Π΅ΡΠ½ΡΡΡ Π½Π° 90 Π³ΡΠ°Π΄ΡΡΠΎΠ² ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠ»Ρ Π½Π°Ρ ΡΡΠΎ Π·Π½Π°ΡΠΈΡ Π²Π²Π΅ΡΡ . ΠΠ±ΠΎΡΠ°ΡΠΈΠ²Π°Π΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ Π² Π»ΡΠΌΠ±Π΄Π° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΡΠΎ ΠΎΡΠ»ΠΎΠΆΠΈΡ Π΅Π³ΠΎ Π²ΡΠ·ΠΎΠ² Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π°ΠΆΠ°ΡΠΈΡ Π½Π° ΠΊΠ»Π°Π²ΠΈΡΡ. ΠΠΌΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΌ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊΠΈ ‘Up’ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΠΌ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π΄Π»Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ. ΠΠ°ΡΠΈΠ½Π°Π΅ΠΌ ΡΠ»ΡΡΠ°ΡΡ ΡΠΎΠ±ΡΡΠΈΡ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ screen.listen()
ΠΡ ΠΈ Π½Π°ΠΊΠΎΠ½Π΅Ρ ΡΠ°ΠΌΠΎΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ΅. ΠΠΎΠ³ΠΈΠΊΠ° ΠΈΠ³ΡΡ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ Π² Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΡΠΈΠΊΠ»Π΅. ΠΠ»Ρ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΡΡΠΈ ΠΏΠΎΠ»ΠΎΠΆΡ Π΅Π³ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π΄Π΅ΡΡ ΠΏΠΎΠ΄
Π ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ. ΠΡΠ»ΠΈ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΡ Π³ΠΎΠ»ΠΎΠ²Ρ Π·ΠΌΠ΅ΠΈ Π΄ΠΎ Π΅Π΄Ρ ΠΌΠ΅Π½ΡΡΠ΅ 10 if snake[0].distance(food)
ΠΠΌΠ΅ΠΉΠΊΠ° Π½Π° 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β. ΠΠ»ΠΈΠ½Π° Π·ΠΌΠ΅ΠΉΠΊΠΈ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΡΠΏΠΈΡΠΊΠ΅, Π° Π±Π°Π·ΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Π½Ρ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΡΠ²ΠΎΠ΄ ΡΡΠ΅ΡΠ° Π½Π° ΡΠΊΡΠ°Π½
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΠΎΡ ΠΌΡ ΠΈ Π΄ΠΎΡΠ»ΠΈ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° Π½Π°ΡΠ΅ΠΉ ΡΡΠ°ΡΡΠΈ. ΠΡ Π½Π°Π΄Π΅Π΅ΠΌΡΡ, ΡΡΠΎ ΠΎΠ½Π° Π²Π°ΠΌ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΠ»Π°ΡΡ ΠΈ Π²ΡΠ΅ Π±ΡΠ»ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎ. Π‘Π°ΠΌΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅, Π½Π΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΎΠ²Π°ΡΡΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π°ΡΠΈ Π·Π½Π°Π½ΠΈΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Tkinter: Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΠ³ΡΡ βΠΠΌΠ΅ΠΉΠΊΠ°β
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΠΈΠ³ΡΡ Π·ΠΌΠ΅ΠΉΠΊΠ° Π½Π° Python. ΠΡΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ°ΠΌΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ Π°ΡΠΊΠ°Π΄ Π² ΠΌΠΈΡΠ΅. Π ΠΎΡΠ½ΠΎΠ²Π΅ Π΅Π΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΡΡΠΈ ΠΊΠ»Π°ΡΡΠ°:
Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π·ΠΌΠ΅ΠΉΠΊΠΈ Ρ Π½Π°Ρ Π±ΡΠ΄ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ°ΠΏΡ:
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ°ΡΠΊΠ°Ρ Π΄Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ β Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ. ΠΠΈΡΡΠΈΠ½Π³:
ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΡ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π² Π½Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅. ΠΡ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΈΠΌΠΏΠΎΡΡΠ° tkinter:
ΠΡΠΎ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΈΠ³ΡΡ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ
ΠΠ³ΡΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΠΌΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Canvas. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Ρ ΠΎΠ»ΡΡ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ Π½Π°ΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈ Π·Π°Π»ΡΠ΅ΠΌ Π΅Π³ΠΎ ΡΠ΅ΡΠ½ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ. ΠΠΈΡΡΠΈΠ½Π³:
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ
ΠΊΠ»Π°ΡΡΠΎΠ²
ΠΠ»Π°ΡΡ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° Π·ΠΌΠ΅ΠΈ
ΠΠ΅ΡΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ β ΡΡΠΎ ΡΠ΅Π³ΠΌΠ΅Π½Ρ Π·ΠΌΠ΅ΠΉΠΊΠΈ. ΠΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎ ΡΠ΅Π³ΠΌΠ΅Π½Ρ Π·ΠΌΠ΅ΠΉΠΊΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΎΠ±ΡΡΠ½ΡΠΌ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠΌ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΌ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° create_rectangle ΠΊΠ»Π°ΡΡΠ° Canvas ΠΌΠΎΠ΄ΡΠ»Ρ tkinter. ΠΠΈΡΡΠΈΠ½Π³:
ΠΠ»Π°ΡΡ Π·ΠΌΠ΅ΠΉΠΊΠΈ
ΠΠΌΠ΅ΠΉΠΊΠ° Ρ Π½Π°Ρ Π±ΡΠ΄Π΅Ρ Π½Π°Π±ΠΎΡΠΎΠΌ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΎΠ². Π£ Π½Π΅Π΅ Π±ΡΠ΄ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°. ΠΠΈΡΡΠΈΠ½Π³:
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ (ΠΌΠ΅ΡΠΎΠ΄ __init__) Π·Π°Π΄Π°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ Π·ΠΌΠ΅ΠΉΠΊΠΈ ΠΈ Π·Π°Π΄Π°Π΅Ρ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ β Π²ΠΏΡΠ°Π²ΠΎ.
ΠΠ΅ΡΠΎΠ΄ move() Π΄Π²ΠΈΠ³Π°Π΅Ρ Π·ΠΌΠ΅ΠΉΠΊΡ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ. ΠΠ΅ΡΠΎΠ΄ change_direction() ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ Π·ΠΌΠ΅ΠΉΠΊΠΈ.
ΠΠ° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ add_segment(). ΠΠ΅ΡΠΎΠ΄ reset_snake() ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π·ΠΌΠ΅ΠΉΠΊΠΈ ΠΏΡΠΈ ΡΡΠ°ΡΡΠ΅ Π½ΠΎΠ²ΠΎΠΉ ΠΈΠ³ΡΡ. ΠΠ½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΈΡΠ°ΠΉΡΠ΅ Π²ΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊ ΠΊΠΎΠ΄Ρ.
ΠΠΎΠ±Π°Π²ΠΈΠΌ Π² ΠΊΠΎΠ΄ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π·ΠΌΠ΅ΠΉΠΊΠΈ:
ΠΠ»Π°ΡΡ ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ° ΠΎΡΠΊΠΎΠ²
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΊΠ»Π°ΡΡ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΡΡΠ΅Ρ ΠΎΡΠΊΠΎΠ² ΠΏΡΠΈ ΡΡΠ΅Π΄Π°Π½ΠΈΠΈ Π·ΠΌΠ΅ΠΉΠΊΠΎΠΉ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°:
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ (ΠΌΠ΅ΡΠΎΠ΄ __init__) ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΎΡΠΊΠΈ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΏΡΠΈ ΠΏΠΎΠ΅Π΄Π°Π½ΠΈΠΈ Π·ΠΌΠ΅ΠΉΠΊΠΎΠΉ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΎΠ². ΠΠ΅ΡΠΎΠ΄ increment() Π²Π΅Π΄Π΅Ρ ΡΡΠ΅Ρ ΠΎΡΠΊΠΎΠ². ΠΠ΅ΡΠΎΠ΄ reset() ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΠΎΡΠΊΠΈ ΠΏΡΠΈ ΡΡΠ°ΡΡΠ΅ Π½ΠΎΠ²ΠΎΠΉ ΠΈΠ³ΡΡ.
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΡΠΎΡΠΊΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΊΡΠ°Π½ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°Π·Π½ΡΡ
Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ
ΠΠ°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ Π΄Π²Π΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ΅ΡΠ²Π°Ρ β create_block(), ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΏΠΈΡΡ Π΄Π»Ρ Π·ΠΌΠ΅ΠΉΠΊΠΈ. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ±Π»ΠΎΠΊΠΎ β ΠΊΡΡΠΆΠΎΠΊ Π·Π΅Π»Π΅Π½ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ°. Π§ΡΠΎΠ±Ρ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠ°Π±ΠΎΡΠ°Π»Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ random:
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ main() Π±ΡΠ΄Π΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΠ³ΡΠΎΠ²ΡΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ β ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ΅ΠΌ, ΠΊΡΠ΄Π° ΠΏΠΎΠΉΠ΄Π΅Ρ Π·ΠΌΠ΅ΠΉΠΊΠ°, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ Ρ Π³ΡΠ°Π½ΠΈΡΠ°ΠΌΠΈ ΡΠΊΡΠ°Π½Π°, ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΏΠΎΠ΅Π΄Π°Π½ΠΈΠ΅ ΡΠ±Π»ΠΎΠΊ ΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π·ΠΌΠ΅ΠΉΠΊΠΈ. ΠΠΈΡΡΠΈΠ½Π³:
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° Π½ΠΎΠ²ΠΎΠΉ ΠΈΠ³ΡΡ ΠΈ Π²ΡΡ
ΠΎΠ΄Π° ΠΈΠ· ΠΈΠ³ΡΡ
ΠΡΠΈ ΠΏΡΠΎΠΈΠ³ΡΡΡΠ΅ Π² Π½Π°ΡΠ΅ΠΉ ΠΈΠ³ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π½Π°ΡΠ°ΡΡ Π½ΠΎΠ²ΡΡ ΠΈΠ³ΡΡ Π±Π΅Π· ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΠΈΠ³ΡΡ. Π Π°Π·ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ: ΠΠΈΡΡΠΈΠ½Π³:
Π Π³Π»Π°Π²Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΡΠΎΠΊΠΈ:
ΠΠ° ΡΡΠΎΠΌ Π½Π°ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΠ³ΡΡ ΠΏΠΎΠ΄ΠΎΡΠ»Π° ΠΊ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ. ΠΡΠ»ΠΈ Π²Ρ Π²ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠ΄Π΅Π»Π°Π»ΠΈ, ΡΠΎΠ³Π΄Π° Ρ Π²Π°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈΠ³ΡΠ°. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΈΠ·ΡΡΠΈΡΠ΅ Π½Π°Ρ ΠΊΠΎΠ΄ ΠΈ ΠΏΠΈΡΠΈΡΠ΅ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ ΡΠ²ΠΎΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
ΠΠΎΠ»Π½ΡΠΉ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΌΡ ΠΎΡΡΠ°Π²ΠΈΠΌ ΠΏΠΎΠ»Π½ΡΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄, ΡΡΠΎΠ±Ρ Π²Ρ ΡΠΌΠΎΠ³Π»ΠΈ ΡΠ²Π΅ΡΠΈΡΡΡΡ Ρ Π²Π°ΡΠΈΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ. ΠΠΈΡΡΠΈΠ½Π³:
ΠΠΈΡΠ΅ΠΌ Β«ΠΠΌΠ΅ΠΉΠΊΡΒ» ΠΏΠΎΠ΄ Android Π½Π° Python ΠΈ Kivy
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΡΡ Β«ΠΠΌΠ΅ΠΉΠΊΡΒ» Π½Π° Python Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ GUI Kivy.
ΠΠ½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ Ρ Kivy
Kivy β ΡΡΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΈΠ³Ρ. ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ² Kivy ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΎΡΡΡ β Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π±Π΅Π·Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π½Π° Π΄ΡΡΠ³ΡΡ. ΠΠ°ΡΠ° Β«ΠΠΌΠ΅ΠΉΠΊΠ°Β» Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ Android.
Kivy ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Cython β ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠΎΡΠ΅ΡΠ°ΡΡΠΈΠΉ Π² ΡΠ΅Π±Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡ C++ ΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Python β ΡΡΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. Π’Π°ΠΊΠΆΠ΅ Kivy Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ GPU Π΄Π»Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Ρ CPU Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΡΠ΅ ΡΠ΅ΡΡΡΡΡ Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ°Π±ΠΎΡΡ Ρ Kivy:
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Kivy
ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ
ΠΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π². ΠΠΎΠ΄ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½ Π½Π° Ubuntu 16.04, Cython 0.25, Pygame 1.9.4.dev0, Buildozer 0.33, Kyvi 1.10.
ΠΠ»Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Kivy Π½Π°ΠΌ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ°: Cython, pygame ΠΈ python-dev. ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Ubuntu, Π²Π°ΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° gstreamer, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π²ΠΈΠ΄Π΅ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°.
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ pygame:
ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Kivy:
Buildozer
ΠΡΠΎΡ ΠΏΠ°ΠΊΠ΅Ρ Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π°ΡΠ΅Π³ΠΎ Android-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
ΠΠ°ΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Java JDK. Π Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ 64-Π±ΠΈΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ 32-Π±ΠΈΡΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ.
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Java JDK:
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ 32-Π±ΠΈΡΠ½ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ:
ΠΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ?
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π½Π°ΡΠ°ΡΡ ΠΏΠΈΡΠ°ΡΡ Π½Π°ΡΡ Β«ΠΠΌΠ΅ΠΉΠΊΡΒ», Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ, ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π»ΠΈ Ρ Π½Π°Ρ Π²ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΎΡΡ. ΠΠ½Π°ΡΠ΅ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡΡΡ, ΡΡΠΎ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ ΠΈΠ·-Π·Π° ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠ΅Π³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°.
ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΡΡΠ°ΡΡΠΉ Π΄ΠΎΠ±ΡΡΠΉ Β«Hello, world!Β».
ΠΡΠΈΡΡΡΠΏΠΈΠΌ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² ΡΠ°Π±ΠΎΡΡΡ ΠΏΠ°ΠΏΠΊΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ°ΠΉΠ» main.py ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π² Π½Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
Π’Π΅ΠΏΠ΅ΡΡ Π²ΡΠ΅ Π³ΠΎΡΠΎΠ²ΠΎ ΠΊ ΡΠ±ΠΎΡΠΊΠ΅. ΠΠ΅ΡΠ½Π΅ΠΌΡΡ ΠΊ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Ρ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ Π ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ log_level = 2 Π² ΡΠ°ΠΉΠ»Π΅ buildozer.spec. ΠΡΠΎ Π΄Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΡΠΎΡΠ½ΠΎ Π³ΠΎΡΠΎΠ²Ρ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Β«ΠΠΌΠ΅ΠΉΠΊΠΈΒ».
ΠΡΠΈΠΌ. ΠΏΠ΅ΡΠ΅Π². ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» ΠΈ Π² ΡΡΠ°ΡΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ Π»ΠΈΡΡ ΠΊΡΡΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΈΠ· ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΠ΅ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΏΠ΅ΡΠ΅ΠΉΠ΄Ρ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² gitHub.
Π ΡΡΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΡΠΎΠΊΠ° ΠΌΡ Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ Π½Π°ΡΠ΅ΠΉ Β«ΠΠΌΠ΅ΠΉΠΊΠΈΒ». Π ΠΏΠΎΠ΄ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ° ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΡΡΡ:
1. ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ°Π½ΡΡ ΡΠΊΠ΅Π»Π΅ΡΠΎΠΌ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
2. ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠΌ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ ΡΠ²ΠΎΠΉΡΡΠ², ΡΡΠΎΠ±Ρ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΠΌΠΈ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΌΡ ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ.
3. Π‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³ΠΎ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠΈΠΊΠ»Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ»Π°ΡΡΡ
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ Π½Π°ΡΡ ΠΈΠ³ΡΡ Π½Π° ΡΠΎΡΡΠ°Π²Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ: Π·ΠΌΠ΅Ρ ΠΈ ΠΈΠ³ΡΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅. ΠΠΌΠ΅Ρ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π²ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²: Π³ΠΎΠ»ΠΎΠ²Ρ ΠΈ Ρ Π²ΠΎΡΡΠ°. Π Π½Π°Π΄ΠΎ Π½Π΅ Π·Π°Π±ΡΡΡ, ΡΡΠΎ Π·ΠΌΠ΅Π΅ Π½ΡΠΆΠ½ΠΎ ΡΡΠΎ-ΡΠΎ Π΅ΡΡΡ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π½Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ²:
Π‘Π²ΠΎΠΉΡΡΠ²Π°
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ ΠΊΠ»Π°ΡΡΡ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄ΡΠΌΠ°ΡΡΡΡ ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠΌ.
Playground β ΡΡΠΎ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ. ΠΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΠΌ Π΅Π³ΠΎ Π½Π° ΡΠ΅ΡΠΊΡ. ΠΡΠ° ΠΌΠ°ΡΡΠΈΡΠ° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΏΠΎ ΠΏΠΎΠ»Ρ. ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄ΠΎΡΠ΅ΡΠ½Π΅Π³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° Π±ΡΠ΄Π΅Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΠΎΠ΄Π½Ρ ΠΊΠ»Π΅ΡΠΊΡ. Π’Π°ΠΊΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΡΠ΅ΡΠ° ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°ΡΡΠΎΡΡ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΡΡΡΠΊΡΠΎΠ².
Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅, Π½ΠΎ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½ΠΎΠ΅: Π½ΡΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄ΠΎΠΌ, Π½ΠΎ ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΠΌΡ ΡΡΠΎ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅.
ΠΠ±ΡΠ΅ΠΊΡ Π·ΠΌΠ΅ΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π½ΠΈΡΠ΅Π³ΠΎ, ΠΊΡΠΎΠΌΠ΅ Π΄Π²ΡΡ Π΅Π΅ Π΄Π΅ΡΠ°Π»Π΅ΠΉ: Π³ΠΎΠ»ΠΎΠ²Ρ ΠΈ Ρ Π²ΠΎΡΡΠ°.
ΠΠ»Ρ Π³ΠΎΠ»ΠΎΠ²Ρ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π½Π°ΡΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ: Π΅ΡΠ»ΠΈ Π·ΠΌΠ΅Ρ Π΄Π²ΠΈΠΆΠ΅ΡΡΡ Π½Π°ΠΏΡΠ°Π²ΠΎ β ΡΠΈΡΡΠ΅ΠΌ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ ΠΏΠΎΠ²Π΅ΡΠ½ΡΡΡΠΉ Π²ΠΏΡΠ°Π²ΠΎ, Π΅ΡΠ»ΠΈ Π·ΠΌΠ΅Ρ Π΄Π²ΠΈΠΆΠ΅ΡΡΡ Π²Π»Π΅Π²ΠΎ β ΡΠΈΡΡΠ΅ΠΌ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ ΠΏΠΎΠ²Π΅ΡΠ½ΡΡΡΠΉ Π²Π»Π΅Π²ΠΎ.
ΠΠΎΠ·ΠΈΡΠΈΡ ΠΈ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π±ΡΠ΄ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ΅ΡΡΡ ΡΠΎΡΠ΅ΠΊ (Π΄Π²Π΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π½Π° ΠΎΠ΄Π½Ρ Π²Π΅ΡΡΠΈΠ½Ρ). ΠΡΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π±ΡΠ΄ΡΡ Π½Π΅ ΡΡΠ΅ΠΉΠΊΠ°ΠΌΠΈ ΡΠ΅ΡΠΊΠΈ, Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ ΠΏΠΈΠΊΡΠ΅Π»ΡΠΌΠΈ Π½Π° Ρ ΠΎΠ»ΡΡΠ΅
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π½Π°ΠΌ Π½Π°Π΄ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΠ±ΡΠ΅ΠΊΡΠ΅, Π½Π°ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ Π½Π° Ρ ΠΎΠ»ΡΡΠ΅, ΡΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ Π΅Π³ΠΎ ΠΏΠΎΠ·ΠΆΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ° ΠΈΠ³ΡΡ). ΠΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ Π±ΡΡΡ Π½Π°ΡΠΈΡΠΎΠ²Π°Π½ Π½Π° Ρ ΠΎΠ»ΡΡΠ΅:
Π’Π΅ΠΏΠ΅ΡΡ Ρ Π²ΠΎΡΡ. ΠΠ½ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π±Π»ΠΎΠΊΠΎΠ² (ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΡΠ΅Ρ ), Π·Π°Π½ΠΈΠΌΠ°ΡΡΠΈΡ ΠΎΠ΄Π½Ρ ΡΡΠ΅ΠΉΠΊΡ. ΠΠΎΠ³Π΄Π° Β«ΠΠΌΠ΅ΠΉΠΊΠ°Β» Π±ΡΠ΄Π΅Ρ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ, ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΠ±ΠΈΡΠ°ΡΡ ΡΠ°ΠΌΡΠΉ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π±Π»ΠΎΠΊ Ρ Π²ΠΎΡΡΠ° ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½ΠΎΠ²ΡΠΉ Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π³ΠΎΠ»ΠΎΠ²Ρ:
Π€ΡΡΠΊΡ
ΠΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΡΡΠΊΡΠ° ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π·ΠΌΠ΅ΠΈΠ½ΠΎΠΉ Π³ΠΎΠ»ΠΎΠ²Ρ. ΠΠ°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΡ, ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ:
Π ΠΊΠ»Π°ΡΡΠ΅ SnakeApp Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ Π·Π°ΠΏΡΡΠΊ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
ΠΠΎΠ΅-ΡΡΠΎ Π΅ΡΠ΅: Π½ΡΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ². ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π±ΡΠ΄Π΅Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΠΎΠ΄Π½Ρ ΡΡΠ΅ΠΉΠΊΡ ΠΏΠΎΠ»Ρ. ΠΠ½Π°ΡΠΈΡ:
Π’Π°ΠΊΠΆΠ΅ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²ΠΈΠ΄ΠΆΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΠΈΠΉ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΡΠ΅Ρ.
Π’Π΅ΠΏΠ΅ΡΡ snake.kv Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
ΠΠ΅ΡΠΎΠ΄Ρ
ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΠΊΠ»Π°ΡΡΠ° Π·ΠΌΠ΅ΠΈ. ΠΡ Ρ ΠΎΡΠΈΠΌ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π΅Π΅ Π² Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ, Π³Π΄Π΅ ΠΎΠ½Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΈ ΠΊΠ°ΠΊ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΠΏΠΎΠ»Ρ:
ΠΡ Π½Π°Π·Π²Π°Π»ΠΈ ΡΡΠ΄ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ². Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ. ΠΠ°ΡΠ½Π΅ΠΌ Ρ remove() ΠΈ add_block() :
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Ρ Π³ΠΎΠ»ΠΎΠ²ΠΎΠΉ. ΠΠ½Π° Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ: move() ΠΈ remove() :
Π ΡΡΠΎ ΡΠ°ΠΌ Ρ ΡΡΡΠΊΡΠ°ΠΌΠΈ? ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΌΠ΅ΡΡ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ ΠΈΡ Π² Π·Π°Π΄Π°Π½Π½ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΈ ΡΠ΄Π°Π»ΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ ΡΡΠΎ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ:
ΠΠ°ΠΊ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅? ΠΠΎΠ³Π΄Π° ΠΈΠ³ΡΠΎΠΊ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΡΠΊΡΠ°Π½Π°, ΠΌΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΊΠ°ΡΠ°Π½ΠΈΡ. ΠΠΎΠ³Π΄Π° ΠΏΠ°Π»Π΅Ρ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡΡ, ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ. ΠΡΠ»ΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° Π½Π° 10 % ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠΊΡΠ°Π½Π°, ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΡΠΎ ΠΊΠ°ΠΊ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π΅Π΅:
ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΈΠΊΠ»
ΠΠ΄Π΅ΡΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΠΈΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΡΡΠΊΡΠ°, ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π·ΠΌΠ΅ΠΈ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠ΅ ΠΏΡΠΎΠΈΠ³ΡΡΡ:
ΠΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π΄Π»Ρ ΡΠΎΠ±ΡΡΠΈΡ ΡΠ±ΡΠΎΡΠ° ΠΈΠ³ΡΡ:
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ³ΡΡ.
ΠΠ΄Π½Π° Π²Π°ΠΆΠ½Π°Ρ Π΄Π΅ΡΠ°Π»Ρ. Π§ΡΠΎΠ±Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΡΡΠΈΠ»ΠΎΡΡ Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΊΡΠ°Π½Π°, Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ:
Π Π²ΡΠ°Π»Ρ! Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΡΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ buildozer ΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ.
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠΊΡΠ°Π½Ρ
ΠΠ½Π΅ΡΠ½ΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ°
PlaygroundScreen ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ³ΡΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅:
ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΊΡΠ°Π½ Π±ΡΠ΄Π΅Ρ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· ΡΡΠ΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ²: Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠ½ΠΎΠΏΠΊΠΈ Π·Π°ΠΏΡΡΠΊΠ° ΠΈΠ³ΡΡ ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡΠ°Ρ ΠΌΠ΅Π½Ρ Π½Π°ΡΡΡΠΎΠ΅ΠΊ:
ΠΡΠΏΠ»ΡΠ²Π°ΡΡΠ΅Π΅ ΠΎΠΊΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΒΎ ΡΠΊΡΠ°Π½Π° ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΡ. ΠΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΈ ΠΊΠ½ΠΎΠΏΠΊΡ Β«Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΡΒ».
ΠΠ»Π°ΡΡΡ
Π’Π΅ΠΏΠ΅ΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ± ΡΠΊΡΠ°Π½ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π»ΡΡ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΈΠ³ΡΡ, Π° ΠΈΠ³ΡΠ° Π½Π°ΡΠΈΠ½Π°Π»Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΈΠ³ΡΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅:
Π’Π°ΠΊΠΆΠ΅ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ ΠΊΠ»Π°ΡΡ ΠΎΠΊΠ½Π° Π½Π°ΡΡΡΠΎΠ΅ΠΊ, ΠΈΠ½Π°ΡΠ΅ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ° Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ:
Π’Π΅ΠΏΠ΅ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ScreenManager Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅ΠΌ Π΄Π²Π° ΡΠΊΡΠ°Π½Π°:
Π’Π΅ΠΏΠ΅ΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌ, ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° Π½Π° Π½ΠΈΡ Π½Π°ΠΆΠΈΠΌΠ°ΡΡ:
ΠΠΎΡΠ»Π΅ ΠΏΡΠΎΠΈΠ³ΡΡΡΠ° Π½ΡΠΆΠ½ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π½Π° ΡΠΊΡΠ°Π½ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΡ:
ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ
Π£ Π½Π°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΅Π³ΠΎ Π΄Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°:
ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ Π²ΠΎ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠ΅Π΅ ΠΎΠΊΠ½ΠΎ:
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΠΌ ΠΊΠ»Π°ΡΡΡ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ ΠΌΠΎΠ³Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ. ΠΡΠ»ΠΈ Π³ΡΠ°Π½ΠΈΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ, Π±ΡΠ΄Π΅ΠΌ ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΠ΅ΡΡΠ°Π½ΠΈΠ΅ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ. Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°ΡΡΠΎΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ:
ΠΠ·ΠΌΠ΅Π½ΠΈΠΌ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠ΅Π΅ ΠΎΠΊΠ½ΠΎ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΎ ΠΌΠΎΠ³Π»ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
ΠΠΎΡΠΎΠ²ΠΎ. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ ΠΈΠ³ΡΠ°ΡΡ:
ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π·ΠΌΠ΅ΠΉΠΊΠΈ Π΄Π»Ρ Android Π½Π° Kivy, Python
[UPD ΠΎΡ 2021: ΡΡΠΎΡ ΡΡΡΠΎΡΠΈΠ°Π» ΡΠΎΠ·Π΄Π°Π½ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ·-Π·Π° ΠΎΡΡΡΡΡΡΠ²ΠΈΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ ΡΡΡΠΎΡΠΈΠ°Π»ΠΎΠ² ΠΏΠΎ ΡΠ΅ΠΌΠ΅ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ, Π° Π½Π΅ ΠΈΠ· ΠΏΠΎΠ±ΡΠΆΠ΄Π΅Π½ΠΈΡ Π½Π°ΡΡΠΈΡΡ ΠΌΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² ΡΠ΅ΠΌΡ-ΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌΡ]
ΠΠ½ΠΎΠ³ΠΎ Π»ΡΠ΄Π΅ΠΉ Ρ ΠΎΡΠ΅Π»ΠΈ Π±Ρ Π½Π°ΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Π°Π½Π΄ΡΠΎΠΈΠ΄, Π½ΠΎ Android Studio ΠΈ Java ΠΈΡ ΠΎΡΠΏΡΠ³ΠΈΠ²Π°ΡΡ. ΠΠΎΡΠ΅ΠΌΡ? ΠΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΡΡΠΎ Π² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΌΡΡΠ»Π΅ ΠΈΠ· ΠΏΡΡΠΊΠΈ ΠΏΠΎ Π²ΠΎΡΠΎΠ±ΡΡΠΌ. Β«Π― Π»ΠΈΡΡ Ρ ΠΎΡΡ ΡΠ΄Π΅Π»Π°ΡΡ Π·ΠΌΠ΅ΠΉΠΊΡ, ΠΈ Π²ΡΠ΅!Β»
ΠΠ°ΡΠ½Π΅ΠΌ! (Π±ΠΎΠ½ΡΡ Π² ΠΊΠΎΠ½ΡΠ΅)
ΠΡΠ»ΠΈ Π²Ρ β ΠΏΠΈΡΠΎΠ½ΠΈΡΡ, ΠΈ Ρ ΠΎΡΠΈΡΠ΅ Π½Π°ΡΠ°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΡΡΡΡ ΠΈΠ³Ρ ΠΏΠΎΠ΄ Π°Π½Π΄ΡΠΎΠΈΠ΄, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠΆΠ΅ Π·Π°Π³ΡΠ³Π»ΠΈΠ»ΠΈ Β«Π·ΠΌΠ΅ΠΉΠΊΠ° Π½Π° Π°Π½Π΄ΡΠΎΠΈΠ΄Π΅Β» ΠΈ Π½Π°ΡΠ»ΠΈ ΡΡΠΎ (Eng) ΠΈΠ»ΠΈ Π΅Π΅ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ (Π ΡΡ). Π Ρ ΡΠΎΠΆΠ΅ ΡΠ°ΠΊ ΡΠ΄Π΅Π»Π°Π». Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Ρ Π½Π°ΡΠ΅Π» ΡΡΠ°ΡΡΡ Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ:
ΠΠ»ΠΎΡ ΠΎΠΉ ΠΊΠΎΠ΄
Π‘ΡΠ°ΡΡΡ Π½Π΅ΠΎΡΠ΅Π²ΠΈΠ΄Π½Π° Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ²
ΠΡΠΎ ΠΌΠΎΠ΅ ΠΠΠ§ΠΠΠ ΠΌΠ½Π΅Π½ΠΈΠ΅. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, Ρ Π½Π΅ Π³Π°ΡΠ°Π½ΡΠΈΡΡΡ, ΡΡΠΎ ΠΌΠΎΡ ΡΡΠ°ΡΡΡ Π±ΡΠ΄Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠΉ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΠΎΠΉ. ΠΠΎ ΠΏΠΎΡΡΠ°ΡΠ°ΡΡΡ, Π° Π΅ΡΠ΅ Π³Π°ΡΠ°Π½ΡΠΈΡΡΡ:
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π΅ ΠΊΠΎΠΌΠΈΠ»ΡΡΠΎ
ΠΠ½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ
ΠΠ΅ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ΅ΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ Kivy (Π΅ΡΠ»ΠΈ Π½Π΅Ρ, ΡΠ»Π΅Π΄ΡΠΉΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ) ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅
buildozer init Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΠ°ΠΏΡΡΡΠΈΠΌ ΠΏΠ΅ΡΠ²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
ΠΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°:
Π£ΡΠ°! ΠΠΎΠ·Π΄ΡΠ°Π²Π»ΡΡ! ΠΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΡ!
ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ. Π‘Π½Π°ΡΠ°Π»Π° ΠΎΠ±ΡΡΠ²ΠΈΠΌ Π½Π°ΡΡ ΡΠΎΡΠΌΡ:
ΠΠ°ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π΅ΠΌ Β«worm.kvΒ» ΡΠ°ΠΉΠ».
Π§ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ? ΠΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π΅ΡΠ΅ ΠΎΠ΄Π½Ρ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΈ ΠΏΡΠΈΡΠ²ΠΎΠΈΠΌ id but_id. Π’Π΅ΠΏΠ΅ΡΡ but_id Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°Π½ΠΎ Ρ but2 ΡΠΎΡΠΌΡ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ button Ρ ΠΏΠΎΠΌΠΎΡΡΡ but2:
ΠΡΠ°ΡΠΈΠΊΠ°
ΠΠ°Π»Π΅Π΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ. Π‘Π½Π°ΡΠ°Π»Π° ΠΎΠ±ΡΡΠ²ΠΈΠΌ Π΅Π³ΠΎ Π² worm.kv:
ΠΡ ΡΠ²ΡΠ·Π°Π»ΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° Ρ self.pos ΠΈ Π΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅Ρ Ρ self.size. Π’Π°ΠΊ ΡΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΈΠ· Cell, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΊΠ»Π΅ΡΠΊΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΌΠ΅Π½ΡΡΡ Π΅Π΅ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΡ:
ΠΠΊΠ΅ΠΉ, ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΊΠ»Π΅ΡΠΊΡ.
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ Π΄Π²ΠΈΠ³Π°ΡΡ Π·ΠΌΠ΅Ρ. Π§ΡΠΎΠ±Ρ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ Form.update ΠΈ ΠΏΡΠΈΠ²ΡΠ·Π°ΡΡ ΠΊ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Clock.schedule.
ΠΠ»Π΅ΡΠΊΠ° Π±ΡΠ΄Π΅Ρ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ ΠΏΠΎ ΡΠΎΡΠΌΠ΅. ΠΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠ°ΠΉΠΌΠ΅Ρ Π½Π° Π»ΡΠ±ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Clock.
ΠΠ°Π»Π΅Π΅, ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠΎΠ±ΡΡΠΈΠ΅ Π½Π°ΠΆΠ°ΡΠΈΡ (touch event). ΠΠ΅ΡΠ΅ΠΏΠΈΡΠ΅ΠΌ Form:
ΠΠ°ΠΆΠ΄ΡΠΉ touch_down ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΊΠ»Π΅ΡΠΊΡ Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ = (touch.x, touch.y) ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ = 30. ΠΠ°ΡΠ΅ΠΌ, ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΅Π΅ ΠΊΠ°ΠΊ Π²ΠΈΠ΄ΠΆΠ΅Ρ ΡΠΎΡΠΌΡ Π Π² Π½Π°Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² (ΡΡΠΎΠ±Ρ ΠΏΠΎΠ·Π΄Π½Π΅Π΅ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ Π½Π΅ΠΌΡ).
Π’Π΅ΠΏΠ΅ΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π½Π°ΠΆΠ°ΡΠΈΠ΅ Π½Π° ΡΠΎΡΠΌΡ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΊΠ»Π΅ΡΠΊΡ.
ΠΡΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΡΠ°ΡΠΈΠ²ΡΡ Π·ΠΌΠ΅ΠΉΠΊΡ, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΈ Π½Π°ΡΡΠΎΡΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ.
ΠΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΡΠΈΠ½ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ. ΠΡΡ Π»ΠΎΠ³ΠΈΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Π° Ρ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠΉ Π½Π°ΡΡΠΎΡΡΠ΅ΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠ΅ΠΉ, Π° Π²ΠΎΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ β Π΅ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π°ΡΡΠΎΡΡΠ΅ΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΡΡΡΡΠΏΡ, Π½Π°ΡΡΠΎΡΡΠ°Ρ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π±ΡΠ΄Π΅Ρ (100, 100) ΠΏΠΎΠΊΠ° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ β (102, 102).
P. S. ΠΡ Π±Ρ ΡΡΠΈΠΌ Π½Π΅ ΠΏΠ°ΡΠΈΠ»ΠΈΡΡ Π΅ΡΠ»ΠΈ Π±Ρ ΠΈΠΌΠ΅Π»ΠΈ Π΄Π΅Π»ΠΎ Ρ on_draw. ΠΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΡ Π½Π΅ ΠΎΠ±ΡΠ·Π°Π½Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΡΠΌΡ Π»Π°ΠΏΠΊΠ°ΠΌΠΈ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΡΠ°ΠΉΠ» worm.kv:
ΠΠΎΡΠ²ΠΈΠ»ΡΡ ΠΎΡΡΡΡΠΏ, ΡΠ°ΠΊ ΡΡΠΎ ΡΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π»ΡΡΡΠ΅ Π½Π΅ ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π²ΡΠΎΡΡΡ ΠΊΠ»Π΅ΡΠΊΡ Ρ X = 130 Π²ΠΌΠ΅ΡΡΠΎ 132. ΠΠΎΠ·ΠΆΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π΄Π΅Π»Π°ΡΡ ΠΌΡΠ³ΠΊΠΎΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π½Π° ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ actual_pos ΠΈ graphical_pos.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΡΠΊΠ°
ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ config Π² main.py
(ΠΠΎΠ²Π΅ΡΡΡΠ΅, Π²Ρ ΡΡΠΎ ΠΏΠΎΠ»ΡΠ±ΠΈΡΠ΅!)
ΠΠ°ΡΠ΅ΠΌ ΠΏΡΠΈΡΠ²ΠΎΠΉΡΠ΅ config ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
ΠΠ΅ΡΠ΅ΠΏΠΈΡΠΈΡΠ΅ init ΠΈ start:
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎ Π±ΡΠ»ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ²ΡΡΠΊΠ°.
ΠΠ²ΠΈΠΆΠ΅Π½ΠΈΠ΅
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΠ΄Π²ΠΈΠ³Π°Π΅ΠΌ ΠΠ’Π.
ΠΠ½ΠΎ ΠΆΠΈΠ²ΠΎΠ΅! ΠΠ½ΠΎ ΠΆΠΈΠ²ΠΎΠ΅!
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅
ΠΠ°ΠΊ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ ΡΡΠ΄ΠΈΡΡ ΠΏΠΎ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π·ΠΌΠ΅ΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊΠΈΠΌ:
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΡΠΊΡΠ°
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠ±ΡΡΠ²ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Worm:
ΠΡΡΠ°ΡΠΈ, ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ ΠΎΠ±ΡΡΠ²ΠΈΠ»ΠΈ gather_positions, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ»ΡΡΡΠΈΡΡ fruit_dislocate:
ΠΠ° ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΡΠ±Π»ΠΎΠΊΠ° Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Ρ Π²ΠΎΡΡΠ°
β¦ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π² update()
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΡ Π³ΠΎΠ»ΠΎΠ²Ρ ΠΈ Ρ Π²ΠΎΡΡΠ°
ΠΡ Ρ ΠΎΡΠΈΠΌ ΡΠ·Π½Π°ΡΡ ΡΠ° ΠΆΠ΅ Π»ΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΡ Ρ Π³ΠΎΠ»ΠΎΠ²Ρ, ΡΡΠΎ Ρ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΊΠ»Π΅ΡΠΊΠΈ Ρ Π²ΠΎΡΡΠ°.
Π Π°ΡΠΊΡΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅, Π΄Π΅ΠΊΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ ΠΊΠΎΠ΄Π°
ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³Π°.
ΠΠ΅ΡΠ΅ΠΏΠΈΡΠ΅ΠΌ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ
Π’Π΅ΠΏΠ΅ΡΡ Π΅ΡΠ»ΠΈ ΡΠ΅ΡΠ²ΡΠΊ ΠΌΠ΅ΡΡΠ² (Π·Π°ΠΌΠΎΡΠΎΠΆΠ΅Π½), Π΅ΡΠ»ΠΈ Π²Ρ Π½Π°ΠΆΠΌΠ΅ΡΠ΅ Π½Π° ΡΠΊΡΠ°Π½, ΠΈΠ³ΡΠ° Π±ΡΠ΄Π΅Ρ Π½Π°ΡΠ°ΡΠ° Π·Π°Π½ΠΎΠ²ΠΎ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΠΌ ΠΊ Π΄Π΅ΠΊΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ°ΡΠΊΡΠ°ΡΠΈΠ²Π°Π½ΠΈΡ.
ΠΠΎΠ±Π°Π²ΠΈΠΌ ΡΡΠΎ ΠΊ Cell.__init__:
ΠΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄Π½ΠΎ, Π½Π°ΡΠ»Π°ΠΆΠ΄Π°ΠΉΡΠ΅ΡΡ Π·ΠΌΠ΅ΠΉΠΊΠΎΠΉ
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½Π°Π΄ΠΏΠΈΡΡ Β«game overΒ»
Π Π·Π°Π΄Π°Π΄ΠΈΠΌ Β«ΡΠ°Π½Π΅Π½ΠΎΠΉΒ» ΠΊΠ»Π΅ΡΠΊΠ΅ ΠΊΡΠ°ΡΠ½ΡΠΉ ΡΠ²Π΅Ρ:
ΠΡ Π΅ΡΠ΅ ΡΡΡ? Π‘Π°ΠΌΠ°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π°Ρ ΡΠ°ΡΡΡ Π²ΠΏΠ΅ΡΠ΅Π΄ΠΈ!
ΠΠΎΠ½ΡΡ β ΠΏΠ»Π°Π²Π½ΠΎΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΠ°Π³ ΡΠ΅ΡΠ²ΡΡΠΊΠ° ΡΠ°Π²Π΅Π½ cell_size, Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΠΏΠ»Π°Π²Π½ΠΎ. ΠΠΎ ΠΌΡ Π±Ρ Ρ ΠΎΡΠ΅Π»ΠΈ ΡΠ°Π³Π°ΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΠ΅ Π±Π΅Π· ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Π½ΠΈΡ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈΠ³ΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π²ΠΈΠ³Π°Π» Π±Ρ Π½Π°ΡΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ (graphical_pos) Π½ΠΎ Π½Π΅ Π²Π»ΠΈΡΠ» Π±Ρ Π½Π° Π½Π°ΡΡΠΎΡΡΠΈΠ΅ (actual_pos). Π― Π½Π°ΠΏΠΈΡΠ°Π» ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
Π’Π°ΠΊ, Π²Ρ Π»ΠΈΡΡ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ smooth.py and ΠΈ ΠΊΠΎΠΏΠΈΡΡΠ΅ΡΠ΅ ΠΊΠΎΠ΄ Π² ΡΠ°ΠΉΠ».
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π·Π°ΡΡΠ°Π²ΠΈΠΌ ΠΠ’Π ΡΠ°Π±ΠΎΡΠ°ΡΡ!
ΠΠ°ΠΌΠ΅Π½ΠΈΠΌ self.worm.move() Ρ
Π ΡΡΠΎ ΠΊΠ°ΠΊ ΠΌΠ΅ΡΠΎΠ΄Ρ Cell Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠ³Π»ΡΠ΄ΠΈΡΡ
ΠΡ Π²ΠΎΡ ΠΈ Π²ΡΠ΅, ΡΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° Π²Π°ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! ΠΠΎΠ΄ ΡΠ½ΠΈΠ·Ρ.
ΠΠ΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ΅ Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ: