ΠΠ°ΡΡΡΠ½Ρ Β«ΠΠΎΡΡΠ½ΠΊΠ°Β» β ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΠΊΠ°ΡΡΠΎΡΠ½ΡΡ ΠΈΠ³Ρ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Β«ΠΠΎΡΡΠ½ΠΊΡΒ» Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Tkinter: Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π»ΠΎΠ³ΠΈΠΊΡ ΠΈΠ³ΡΡ, Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΊΠ°ΡΡ.
ΠΠ°ΠΊ ΠΏΠ°ΡΡΡΠ½Ρ ΡΡΠ°Π» Π»ΡΠ±ΠΈΠΌΠΎΠΉ ΠΈΠ³ΡΠΎΠΉ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ²
ΠΠ΅ΡΠ²ΡΠΉ ΠΊΠ°ΡΡΠΎΡΠ½ΡΠΉ ΠΏΠ°ΡΡΡΠ½Ρ ΠΏΡΠΈΠ΄ΡΠΌΠ°Π»ΠΈ ΠΏΠΎΡΡΠΈ 200 Π»Π΅Ρ Π½Π°Π·Π°Π΄. ΠΠ΅ΡΠΎΡΡΠ½ΠΎ, ΠΈΠ³ΡΠ° ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ°Π½ΡΡΠ·ΡΠΊΠΎΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ (ΠΏΠΎ Π»Π΅Π³Π΅Π½Π΄Π΅, ΠΠ°ΠΏΠΎΠ»Π΅ΠΎΠ½ ΠΠΎΠ½Π°ΠΏΠ°ΡΡ Π² ΠΈΠ·Π³Π½Π°Π½ΠΈΠΈ ΡΠ°Π·Π²Π»Π΅ΠΊΠ°Π»ΡΡ ΠΏΠ°ΡΡΡΠ½ΡΠΎΠΌ), ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΎΠ½Π° ΠΏΠΎΠ»ΡΡΠΈΠ»Π° ΡΠ½Π°ΡΠ°Π»Π° Π² ΠΠ΅Π»ΠΈΠΊΠΎΠ±ΡΠΈΡΠ°Π½ΠΈΠΈ, Π° Π·Π°ΡΠ΅ΠΌ Π² Π‘Π¨Π ΠΈ ΠΠ°Π½Π°Π΄Π΅. ΠΠ½Π³Π»ΠΎΡΠ·ΡΡΠ½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ°ΠΌΠΎΠΉ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΠ°ΡΡΡΠ½ΡΠ°, Klondike, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡΡ ΡΡΠ΅Π΄ΠΈ Π·ΠΎΠ»ΠΎΡΠΎΠΈΡΠΊΠ°ΡΠ΅Π»Π΅ΠΉ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π»ΠΈΡ ΠΎΡΠ°Π΄ΠΊΠΈ Π² ΠΠ»ΠΎΠ½Π΄Π°ΠΉΠΊΠ΅. ΠΠ° ΡΡΡΡΠΊΠΎΠΌ ΡΡΡ Π²Π΅ΡΡΠΈΡ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ Β«ΠΠΎΡΡΠ½ΠΊΠΎΠΉΒ» ΠΈΠ·-Π·Π° Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΠΊΠ»Π°Π΄Π° ΠΊΠ°ΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°.
ΠΠ΅ΡΠ²ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΏΠ°ΡΡΡΠ½Ρ, FreeCell, Π±ΡΠ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Π² ΠΊΠΎΠ½ΡΠ΅ 60-Ρ : Π΄Π΅ΡΡΡΠΈΠ»Π΅ΡΠ½ΠΈΠΉ ΠΠΎΠ» ΠΠ»ΡΡΠΈΠ»Π» ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠ΅ΡΠΈΠ» Π³Π»Π°Π²Π½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΈΠ³ΡΡ β ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ΅ ΡΠ°ΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΡ ΠΈ ΠΏΠΎΠ΄ΡΡΠ΅Ρ ΠΎΡΠΊΠΎΠ². Π 1979 Π³ΠΎΠ΄Ρ ΠΠ»ΡΡΠΈΠ»Π», Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΡΡΡΠ΄Π΅Π½Ρ ΠΌΠ΅Π΄ΠΈΡΠΈΠ½ΡΠΊΠΎΠ³ΠΎ ΡΠ°ΠΊΡΠ»ΡΡΠ΅ΡΠ°, Π½Π°ΠΏΠΈΡΠ°Π» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΡΠ΅ΡΠΈ Π£Π½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ° ΠΠ»Π»ΠΈΠ½ΠΎΠΉΡΠ° PLATO, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ»Π° ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΠ³ΡΠ°ΡΡ Π΄ΠΎ 1000 ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
Π Π½Π°ΡΠ°Π»Π΅ 90-Ρ Π³ΠΎΠ΄ΠΎΠ² Microsoft ΡΠ΅ΡΠΈΠ»Π° Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΡΠΈ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΠΈ ΠΏΠ°ΡΡΡΠ½ΡΠ° Π² Windows, ΡΡΠΎΠ±Ρ ΠΎΠ±Π»Π΅Π³ΡΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎ ΡΠ΅ΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π°ΠΌ ΡΡΡΠΎΡΠΎΠΉΡΡΠ²Π° β ΠΌΡΡΠΈ. ΠΠ³ΡΠ° ΡΡΠ°Π»Π° ΠΈΠ·Π»ΡΠ±Π»Π΅Π½Π½ΡΠΌ ΡΠ°Π·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΡΠΈΡΠ½ΡΡ ΡΠ»ΡΠΆΠ°ΡΠΈΡ : ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠΈ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ Π΅Ρ ΡΠ²Π»Π΅ΠΊΠ°Π»ΠΈΡΡ, ΡΡΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΊΡΡΠΏΠ½ΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ (Π²ΠΊΠ»ΡΡΠ°Ρ Coca-Cola, Sears ΠΈ Boeing) ΠΏΡΠΈΠ½ΡΠ»ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΈΠ³ΡΡ ΠΈΠ· ΠΠ‘. ΠΠΎΡΠ²Π»ΡΠ»ΠΈΡΡ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ²Π΅ΡΠΆΠ΄Π°Π»ΠΎΡΡ, ΡΡΠΎ Windows-ΠΈΠ³ΡΡ ΡΠ½ΠΈΠΆΠ°ΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΡΠ»ΡΠΆΠ°ΡΠΈΡ ΠΈ ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ Π½Π°Π½ΠΎΡΡΡ ΠΎΠ³ΡΠΎΠΌΠ½ΡΠΉ ΡΡΠ΅ΡΠ± ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΊΠ΅ β Π΄ΠΎ $800 ΡΡΠ»Π½ Π² Π³ΠΎΠ΄! ΠΠ°ΡΡΡΠ½Ρ ΠΏΠΎΡΠ»ΡΠΆΠΈΠ» ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΡΠ²ΠΎΠ»ΡΠ½Π΅Π½ΠΈΠΉ, ΡΠ»ΡΠΆΠ΅Π±Π½ΡΡ ΡΠ°Π·Π±ΠΈΡΠ°ΡΠ΅Π»ΡΡΡΠ² ΠΈ ΠΎΡΠΊΡΡΡΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΊΠ»ΠΈΠ½ΠΈΠΊΠΈ Π΄Π»Ρ Π»Π΅ΡΠ΅Π½ΠΈΡ ΠΎΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ. Π‘Π»ΠΎΠ²ΠΎΠΌ, ΡΡΠΎ ΠΊΡΠ»ΡΡΡΡΠ½ΡΠΉ ΡΠ΅Π½ΠΎΠΌΠ΅Π½, Π·Π°ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡΠΈΠΉ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠ³ΠΎ Π²ΠΎΠΏΠ»ΠΎΡΠ΅Π½ΠΈΡ β Π½Π° ΡΠ°ΠΌΠΎΠΌ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠΌ Π―Π ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΡΡΠΈ.
ΠΠ±Π·ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΠΎΠ³ΠΈΠΊΠ° ΠΈΠ³ΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌΡ ΠΏΠ°ΡΡΡΠ½ΡΡ Windows:
- ΠΠΎΠ»ΠΎΠ΄Π° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· 52 ΠΊΠ°ΡΡ.
- ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ΅Π»Ρ β ΡΠΎΠ±ΡΠ°ΡΡ Π²ΡΠ΅ ΠΊΠ°ΡΡΡ Π² ΡΠ΅ΡΡΡΠ΅ ΡΡΠΎΠΏΠΊΠΈ (ΠΏΠΎ ΠΌΠ°ΡΡΡΠΌ) Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ ΠΎΡ ΡΡΠ·Π° Π΄ΠΎ ΠΊΠΎΡΠΎΠ»Ρ.
- Π‘Π΅ΠΌΡ ΡΡΠΎΠ»Π±ΡΠΎΠ² ΠΊΠ°ΡΡ Π²ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΡΡ ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡΠ°Π²ΠΎ. ΠΠ΅ΡΠ²ΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΎΡΠΊΡΡΡΠΎΠΉ ΠΊΠ°ΡΡΡ, Π²ΡΠΎΡΠΎΠΉ β ΠΈΠ· Π΄Π²ΡΡ ΠΊΠ°ΡΡ (ΠΎΠ΄Π½ΠΎΠΉ Π·Π°ΠΊΡΡΡΠΎΠΉ ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΡΠΊΡΡΡΠΎΠΉ ΡΠ²Π΅ΡΡ Ρ), ΡΡΠ΅ΡΠΈΠΉ β ΠΈΠ· ΡΡΠ΅Ρ ΠΊΠ°ΡΡ (Π΄Π²Π΅ Π·Π°ΠΊΡΡΡΡΡ ΠΈ ΠΎΠ΄Π½Π° ΠΎΡΠΊΡΡΡΠ°Ρ ΡΠ²Π΅ΡΡ Ρ) ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅ Π΄ΠΎ ΡΠ΅Π΄ΡΠΌΠΎΠ³ΠΎ ΡΡΠΎΠ»Π±ΡΠ°, Π³Π΄Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ΅ΠΌΡ ΠΊΠ°ΡΡ (ΡΠ΅ΡΡΡ Π·Π°ΠΊΡΡΡΡΡ ΠΈ ΠΎΠ΄Π½Π° ΠΎΡΠΊΡΡΡΠ°Ρ).
- ΠΡΡΠ°Π²ΡΠΈΠ΅ΡΡ ΠΊΠ°ΡΡΡ ΠΊΠ»Π°Π΄ΡΡΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΡΠΎΠΏΠΊΡ. Π ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΠ΅ΡΠ΅ΡΠ΄Π°ΡΡ (ΠΏΠ΅ΡΠ΅Π±ΡΠ°ΡΡ) ΠΊΠ°ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ 3 ΡΠ°Π·Π°, Π² ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΎΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΠ΅ΡΠ΅ΡΠ΄Π°ΡΠΈ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Ρ.
Π ΠΈΠ³ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ:
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈΠ³ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π½Π° Ρ ΠΎΠ΄Ρ, Π±Π΅Π· ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ° ΡΠ°ΡΠΊΠ»Π°Π΄Π°. ΠΠΏΡΠΈΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ:
- ΠΡΠ±ΠΎΡ ΡΠΏΠΎΡΠΎΠ±Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΡΡ β ΠΊΠ»ΠΈΠΊ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΠ΅.
- Π Π΅ΠΆΠΈΠΌ ΠΈΠ³ΡΡ β ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΈΠ»ΠΈ ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΎΡΠ½ΡΠΉ.
- Π ΡΠ±Π°ΡΠΊΠ° (ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ ΡΡΠΎΡΠΎΠ½Π° ΠΊΠ°ΡΡ) β ΡΠ΅ΠΌΠ½Π°Ρ ΠΈΠ»ΠΈ ΡΠ²Π΅ΡΠ»Π°Ρ.
- Π¦Π²Π΅Ρ ΡΠΎΠ½Π°.
- ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΠΌΠ΅Π½Ρ ΠΈ ΡΡΡΠ΅ΡΠ° ΡΠΎ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΎΠΉ.
ΠΠΎΡΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΡΡ ΠΈ ΠΈΠΊΠΎΠ½ΠΊΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΡΡΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
Π‘ΡΠ°ΡΡΡ ΠΏΠΎ ΡΠ΅ΠΌΠ΅
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ
ΠΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ³Ρ Π½Π° Python ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Pygame. ΠΠ΄Π½Π°ΠΊΠΎ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ°ΡΡΠΎΡΠ½ΡΡ ΠΈΠ³Ρ Π²ΠΏΠΎΠ»Π½Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ GUI-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Tkinter: Π² Π½Π΅ΠΉ Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ, ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ°Ρ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΉ Ρ ΠΊΠ°ΡΡΠ°ΠΌΠΈ β find_overlapping, bbox, find_withtag, gettags ΠΈ addtag_withtag:
- ΠΠ΅ΡΠΎΠ΄ bbox ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π³ΡΠ°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π½Π° Ρ ΠΎΠ»ΡΡΠ΅. ΠΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΆ (x1, y1, x2, y2) Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°:
- ΠΠ΅ΡΠΎΠ΄ find_overlapping Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°ΡΡΡΡ Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠΌ ΠΈ ΠΊΠ°ΠΊ Π½Π΅Π»ΡΠ·Ρ Π»ΡΡΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΊΠ°ΡΡ, Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ:
- ΠΠ΅ΡΠΎΠ΄ find_withtag ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΌ Π½Π°Π·Π½Π°ΡΠ΅Π½ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΠ΅Π³ (ΠΈΠ»ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ). ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΆ Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ID Π²ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΡΠ΅Π³Ρ:
- ΠΠ΅ΡΠΎΠ΄ gettags ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π½Π° Ρ ΠΎΠ»ΡΡΠ΅. Π ΡΡΠΎΠΌ ΠΏΠ°ΡΡΡΠ½ΡΠ΅ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ³ΡΠΎΠ²ΡΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ (ΠΊΠ°ΡΡΡ, ΡΠ»ΠΎΡΡ ΠΈ Π°ΠΊΡΠΈΠ²Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ), ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ ΠΈΡ ΡΡΠ°ΡΡΡ ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅Π³ΠΎΠ² β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠ·Π½Π°ΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΠΊΠ°ΡΡΠ° ΠΎΡΠΊΡΡΡΠΎΠΉ, ΠΏΠ΅ΡΠ΅Π²Π΅ΡΠ½ΡΡΠΎΠΉ ΠΈΠ»ΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ:
- ΠΠ΅ΡΠΎΠ΄ canvas.addtag_withtag Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΠ΅Π³ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΆΠ΅ ΠΈΠΌΠ΅ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ΅Π³. Π ΠΈΠ³ΡΠ΅ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ²ΠΎΠΉΡΡΠ² ΠΊΠ°ΡΡ:
ΠΠ΅ΡΠΎΠ΄ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Pillow, ImageTk.PhotoImage, ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΡΠ΅Ρ Π»ΡΠ±ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ Tkinter. ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΡΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΡΡ ΠΈ ΠΈΠΊΠΎΠ½ΠΊΠΈ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ:
Π‘ΡΠ°ΡΡΡ ΠΏΠΎ ΡΠ΅ΠΌΠ΅
π ΠΠΈΡΠ΅ΠΌ Π’Π΅ΡΡΠΈΡ Π½Π° Python Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Pygame
ΠΠ΅ΡΡ Π½Π΅Π΅ ΠΌΠ΅Π½Ρ ΠΈ ΡΡΡΠ΅Ρ
Π Π²Π΅ΡΡ Π½Π΅ΠΌ ΠΌΠ΅Π½Ρ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ:
- ΠΠ°ΠΏΡΡΡΠΈΡΡ Π½ΠΎΠ²ΡΡ ΠΈΠ³ΡΡ.
- ΠΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡ ΠΈΠ³ΡΡ.
- ΠΡΠΌΠ΅Π½ΠΈΡΡ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ Ρ ΠΎΠ΄.
- ΠΠΎΠΊΠ°Π·Π°ΡΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΡ.
- ΠΡΠΊΡΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ.
- ΠΠ΅ΡΠ΅ΠΉΡΠΈ Π² ΠΏΠΎΠ»Π½ΠΎΡΠΊΡΠ°Π½Π½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ (ΠΈ Π²ΡΠΉΡΠΈ ΠΈΠ· Π½Π΅Π³ΠΎ).
ΠΡΠ»ΠΈ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡΠΌΠ΅Π½Π° ΠΈ ΠΏΠΎΠ²ΡΠΎΡ Ρ ΠΎΠ΄Π° Π΄ΠΎ Π½Π°ΡΠ°Π»Π° ΠΈΠ³ΡΡ), ΡΡΠ° ΠΊΠ½ΠΎΠΏΠΊΠ° Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π² Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅:
ΠΡΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ (ΡΡΠ»ΡΠΈΠΏΡ):
Π tkinter.tix Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ»ΡΠΈΠΏΠΎΠ² (balloon), Π½ΠΎ ΠΎΠ½ ΡΠΆΠ΅ ΡΡΡΠ°ΡΠ΅Π» β ΠΏΡΠΈ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΊΠΎΡΠΎΠΌ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ. ΠΠΎΡΡΠΎΠΌΡ Π² ΠΏΠ°ΡΡΡΠ½ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΠΏΠΎΠΊΠ°Π·Π°/ΡΠΊΡΡΡΠΈΡ ΡΡΠ»ΡΠΈΠΏΠΎΠ²:
ΠΡΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ Π²Π΅ΡΡ Π½Π΅Π΅ ΠΌΠ΅Π½Ρ, ΠΈΠΊΠΎΠ½ΠΊΠ° Π½Π°ΡΡΡΠΎΠ΅ΠΊ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π° ΡΠ»Π΅Π²Π° Π½Π°Π΄ ΡΡΡΠ΅ΡΠΎΠΌ:
Π ΡΡΡΠ΅ΡΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° β ΡΠΈΡΠ»ΠΎ ΠΎΡΡΠ°Π²ΡΠΈΡ ΡΡ ΠΏΠ΅ΡΠ΅ΡΠ΄Π°Ρ (Π΄Π»Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ°), ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠ°ΡΡ, ΠΎΡΠΊΠΈ ΠΈ Π·Π°ΡΡΠ°ΡΠ΅Π½Π½ΠΎΠ΅ Π½Π° ΠΈΠ³ΡΡ Π²ΡΠ΅ΠΌΡ (ΡΠ°ΠΉΠΌΠ΅Ρ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΡΡ Π² ΡΠ»ΠΎΡΡ Π΄Π»Ρ ΡΡΠ·ΠΎΠ²):
ΠΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΊΠ°ΡΡ
ΠΠ°ΡΡΡ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΡΡ Π½Π° ΠΈΠ³ΡΠΎΠ²ΠΎΠΌ ΠΏΠΎΠ»Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²:
- draw_card_slots ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΏΡΡΡΡΠ΅ ΡΠ»ΠΎΡΡ β Π΄Π»Ρ ΡΡΠ·ΠΎΠ², ΠΊΠ°ΡΡ Π² 7 ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°Ρ ΠΈ ΠΎΡΡΠ°ΡΠΊΠ° ΠΊΠΎΠ»ΠΎΠ΄Ρ Π² Π²Π΅ΡΡ Π½Π΅ΠΌ Π»Π΅Π²ΠΎΠΌ ΡΠ³Π»Ρ.
- draw_up_cards ΠΈ draw_down_cards β Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΡΡΡ ΠΎΡΠΊΡΡΡΡΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΠ½ΡΡΡΠ΅ ΠΊΠ°ΡΡΡ Π² 7 ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°Ρ .
- draw_remaining_cards β ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΡΡΡ ΠΎΡΡΠ°Π»ΠΈΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ 7 ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, ΠΈ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΈΡ Π² Π²ΠΈΠ΄Π΅ ΡΡΠΎΠΏΠΊΠΈ ΡΡΠ±Π°ΡΠΊΠΎΠΉ Π²Π²Π΅ΡΡ .
π ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΠΈΡΠΎΠ½ΠΈΡΡΠ°
ΠΠΎΠ»ΡΡΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ Π½Π° Π½Π°ΡΠ΅ΠΌ ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅ Β«ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΠΈΡΠΎΠ½ΠΈΡΡΠ°Β»
ππ ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Python Π΄Π»Ρ ΡΠΎΠ±Π΅ΡΠ°
ΠΠΎΠ΄ΡΡΠ½ΡΡΡ ΡΠ²ΠΎΠΈ Π·Π½Π°Π½ΠΈΡ ΠΏΠΎ Python Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π° Π½Π°ΡΠ΅ΠΌ ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅ Β«ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Python Π΄Π»Ρ ΡΠΎΠ±Π΅ΡΠ°Β»
ππ§© ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π·Π°Π΄Π°Ρ ΠΏΠΎ Python
ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΏΠΎ Python Π΄Π»Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π° Π½Π°ΡΠ΅ΠΌ ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅ Β«ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π·Π°Π΄Π°Ρ ΠΏΠΎ PythonΒ»
ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΡΡ
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΡΡ Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ move_card. ΠΠΎΠ³Π΄Π° ΠΈΠ³ΡΠΎΠΊ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ Π½Π° ΠΊΠ°ΡΡΡ, ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π»ΠΈ ΠΊΠ°ΡΡΠ° Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ self.move_flag. ΠΡΠ»ΠΈ Π½Π΅Ρ, ΡΠΎ Π²ΡΠ΅ Π²ΠΈΠ΄ΠΈΠΌΡΠ΅ ΠΊΠ°ΡΡΡ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ ΡΠ΅Π³ΠΎΠΌ "moveable", ΡΡΠΎΠ±Ρ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ. ΠΠ°ΡΠ΅ΠΌ ΡΡΠΎΠ²Π΅Π½Ρ ΡΠ»ΠΎΡ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ ΠΊΠ°ΡΡΡ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ tag_raise("moveable"), Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΊΡΡΡΠΎΡΠ° event.x ΠΈ event.y Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ Π½Π°ΡΠ°Π»ΡΠ½ΡΠ΅.
ΠΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΈ ΠΌΡΡΠΈ Ρ Π½Π°ΠΆΠ°ΡΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΡΡΡΠΎΡΠ°. ΠΠ°ΡΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π½Π° ΡΡΠΎ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ²ΠΎΠΈΡ ΡΠ΅ΠΊΡΡΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ self.canvas.move("moveable", ...), ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ° Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ ΠΌΠ΅ΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ° Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ highlight_available_cards ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΠΌΠΎΠΉ ΠΊΠ°ΡΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ bbox-ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΎΠΊΡΡΠ³ ΠΊΠ°ΡΡΡ ΠΈ ΠΈΡΠ΅Ρ Π²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°ΡΡΡΡ Ρ ΡΡΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΡΡ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅Ρ Π½Π΅ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ±Π°ΡΠΊΠΎΠΉ Π²Π½ΠΈΠ· ΠΈΠ»ΠΈ ΠΏΡΡΡΡΠ΅ ΡΠ»ΠΎΡΡ). ΠΡΠ»ΠΈ Π½Π°ΠΉΠ΄Π΅Π½Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ°Ρ ΠΊΠ°ΡΡΠ° ΠΈΠ»ΠΈ ΡΠ»ΠΎΡ, ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΏΠΎΠ»ΡΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΡΠΉ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠΈ, Π° Π²ΡΠ΅ ΠΊΠ°ΡΡΡ Π² ΡΡΠΎΠΏΠΊΠ΅ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°ΡΡΡΡ Π²ΡΡΠ΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠΈ self.canvas.tag_raise(card):
ΠΠΎΠ³Π΄Π° ΠΈΠ³ΡΠΎΠΊ ΠΎΡΠΏΡΡΠΊΠ°Π΅Ρ ΠΊΠ°ΡΡΡ, Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ drop_card. ΠΠ½ ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΡ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ ΠΈ ΡΠ½ΠΈΠΌΠ°Π΅Ρ Ρ ΠΊΠ°ΡΡΡ ΡΠ΅Π³ "moveable", ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΊΠ°ΡΡΡ. ΠΡΠ»ΠΈ ΠΊΠ°ΡΡΠ° ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°Π΅ΡΡΡ Ρ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΌ ΠΌΠ΅ΡΡΠΎΠΌ, ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΡ Ρ ΠΎΠ΄Π° (ΡΠΎ Π΅ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ ΠΊΠ°ΡΡΡ Π½Π° Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌΠΈ Π΄Π»Ρ ΡΡΠΎΠΉ ΡΡΠΎΠΏΠΊΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌΠΈ). ΠΡΠ»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ, ΡΠΎ ΠΊΠ°ΡΡΠ° ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΡΠ²Π΅ΡΡ Ρ ΡΡΠΎΠΏΠΊΠΈ, Π΅ΡΠ»ΠΈ Π½Π΅Ρ β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π½Π° ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ.
ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΎΠΊ
Π€ΡΠ½ΠΊΡΠΈΡ generate_hint ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΎΠΊ Π² ΠΈΠ³ΡΠ΅, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΉ Ρ ΠΎΠ΄ Π΄Π»Ρ ΠΈΠ³ΡΠΎΠΊΠ°. ΠΠ°ΠΆΠ΄Π°Ρ ΠΊΠ°ΡΡΠ° ΠΈΠ· Π΄ΠΎΡΡΡΠΏΠ½ΡΡ face_up_cards Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ:
- ΠΡΡΠΈΡΠ»ΡΡΡΡΡ bbox-ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΡ.
- ΠΡΠΎΠ²Π΅ΡΡΡΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ β ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ ΠΊΠ°ΡΡΡ Π½Π° Π΄ΡΡΠ³ΡΡ ΡΡΠΎΠΏΠΊΡ, Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΏΡΡΡΡΠΌ ΡΠ»ΠΎΡΠΎΠΌ ΠΈΠ»ΠΈ ΡΠ»ΠΎΡΠΎΠΌ Π΄Π»Ρ ΡΡΠ·Π°. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡΡ Ρ ΠΎΠ΄Π° ΡΠ΅ΡΠ΅Π· check_move_validity ΠΈ Π½Π΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π»ΠΈ ΠΊΠ°ΡΡΠ° Π½Π°Π΄ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½Π½ΡΠΌΠΈ ΡΠ»ΠΎΡΠ°ΠΌΠΈ.
- ΠΠΎΡΠΎΠ»ΠΈ ΠΈ ΡΡΠ·Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Ρ Π½ΠΈΡ ΠΎΡΠΎΠ±ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° (ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ· ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΊΠ°ΡΡΠΎΠΉ Π² ΡΠ»ΠΎΡΠ΅ Π΄Π»Ρ ΡΡΠ·Π°; ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΡΠΎΠ»Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ Π½Π° ΠΏΡΡΡΠΎΠΉ ΡΠ»ΠΎΡ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· 7 ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ).
ΠΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎ ΠΏΠ°ΡΠ° ΠΊΠ°ΡΡ Π΄Π»Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ Ρ ΠΎΠ΄Π° ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΠ²Π°Π΅ΡΡΡ Π·Π΅Π»Π΅Π½ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ:
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π² Π±Π°Π·Ρ
Π€ΡΠ½ΠΊΡΠΈΡ send_cards_up ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΡ ΠΊΠ°ΡΡ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ»ΠΎΡΡ Π΄Π»Ρ ΡΡΠ·ΠΎΠ² (ΡΠΎ Π΅ΡΡΡ Π² Π±Π°Π·Ρ/Π΄ΠΎΠΌ). Π§ΡΠΎΠ±Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²ΡΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΡ ΠΊΠ°ΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ, ΡΡΠ½ΠΊΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΈΠΊΠ»Ρ, ΡΠΈΠ»ΡΡΡΡ ΠΈ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄:
- Π‘ΠΎΠ±ΠΈΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΠΎΡΠΊΡΡΡΡΡ ΠΊΠ°ΡΡ face_up_cards.
- ΠΡΠΊΠ»ΡΡΠ°Π΅Ρ ΠΊΠ°ΡΡΡ, ΠΏΠ΅ΡΠ΅ΠΊΡΡΡΡΠ΅ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΊΠ°ΡΡΠ°ΠΌΠΈ.
- ΠΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΏΠ΅ΡΠ΅Π»ΠΎΠΆΠΈΡΡ ΠΊΠ°ΠΊΡΡ-Π»ΠΈΠ±ΠΎ ΠΊΠ°ΡΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ Π΅ΠΉ Π±Π°Π·Ρ.
- Π Π΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠ΅Π±Ρ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π½Π΅ ΠΎΡΠΊΡΡΠ»ΠΈΡΡ Π»ΠΈ Π΅ΡΠ΅ ΠΊΠ°ΠΊΠΈΠ΅-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠ΅ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΡΡΡ.
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Tkinter ΠΈ Pillow ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ°ΡΡΡΠ½ΡΠ°:
- ΠΠ΅ΡΠΎΠ΄Ρ bbox, find_overlapping, find_withtag, gettags ΠΈ addtag_withtag ΡΠΏΡΠΎΡΠ°ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ°ΡΡΠ°ΠΌΠΈ ΠΈ ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡΠΌΠΈ.
- ImageTk.PhotoImage ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π»Π΅Π³ΠΊΠΎ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΡΡ ΠΈ ΠΈΠΊΠΎΠ½ΠΎΠΊ Π² ΡΠ΄ΠΎΠ±Π½ΡΠΉ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΎΡΠΌΠ°Ρ.
ΠΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ ΠΊΠ°ΡΡΠΎΡΠ½ΠΎΠΉ ΠΈΠ³ΡΡ Π² ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ: Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ Π»ΠΎΠ³ΠΈΠΊΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ ΠΊΠΎΠ΄Π°. Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π³ΠΎΡΠΎΠ²ΠΎΠΉ ΠΈΠ³ΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΠΌΠ° Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΠΏΠ°ΡΡΡΠ½ΡΠ°.
***