сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Python

Поиск

НовоС Π½Π° сайтС

Π‘Π°ΠΏΠ΅Ρ€ Π½Π° Python

Для Π½Π°Ρ‡Π°Π»Π° Π·Π°Π΄Π°Π΄ΠΈΠΌ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ создадим ΠΎΠΊΠ½ΠΎ ΠΈΠ³Ρ€Ρ‹:

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ

сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΌΠΈΠ½Ρ‹ ΠΈ Π½Π°ΠΆΠ°Ρ‚Ρ‹Π΅ ΠΊΠ»Π΅Ρ‚ΠΎΡ‡ΠΊΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠ»ΠΈΠΊΠ° ΠΏΠΎ ΠΊΠ»Π΅Ρ‚ΠΊΠ°ΠΌ:

ΠžΡΡ‚Π°Π»ΠΎΡΡŒ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий для созданных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ послС строчки с.pack() :

Если Π²Ρ‹ всС сдСлали ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Ρ‚ΠΎ смоТСтС ΠΊΠ»ΠΈΠΊΠ°Ρ‚ΡŒ ΠΏΠΎ ΠΊΠ»Π΅Ρ‚ΠΊΠ°ΠΌ:

сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹

Для Π½Π°Ρ‡Π°Π»Π° слСдуСт ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ»Π΅Ρ‚ΠΎΡ‡ΠΊΠΈ Π΅ΡΡ‚ΡŒ свой ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€. Π’ ΠΊΠΎΠ΄Π΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ доступ ΠΊ Π½Π΅ΠΌΡƒ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ tkinter CURRENT. Если Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Π½Π° ΠΊΠ»Π΅Ρ‚ΠΊΠ°Ρ…, Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π²ΠΎΡ‚ Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρƒ.

сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹

Π’Π΅ΠΏΠ΅Ρ€ΡŒ напишСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для получСния сосСдних ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² ΠΊΠ»Π΅Ρ‚ΠΊΠΈ. Π£ нас ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ восСмь ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ситуаций, ΠΊΠΎΠ³Π΄Π° количСство сосСдних ΠΊΠ»Π΅Ρ‚ΠΎΠΊ Π½Π΅ Ρ€Π°Π²Π½ΠΎ восьми. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π½Π° Π½ΠΈΠΆΠ½Π΅Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ (ΠΏΠΎΠ»Π΅ GRID_SIZE ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΎ c 8 Π΄ΠΎ 9 для наглядности)

сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹

Π£ ΡƒΠ³Π»ΠΎΠ²Ρ‹Ρ… ΠΊΠ»Π΅Ρ‚ΠΎΠΊ (1, 9, 73, 81) Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ 3 сосСда. Π£ ΠΊΠ»Π΅Ρ‚ΠΎΠΊ ΠΈΠ· ΠΊΡ€Π°ΠΉΠ½ΠΈΡ… рядов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 5, 37, 45, 77) ΠΏΠΎ 5 сосСдСй. Π’ΠΎ всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ситуациях (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 41) сосСдних ΠΊΠ»Π΅Ρ‚ΠΎΠΊ 8. НапишСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΡƒΡŽ Π΄Π°Π½Π½Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ создадим Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ подсчСта ΠΌΠΈΠ½ Π² сосСдних ΠΊΠ»Π΅Ρ‚ΠΊΠ°Ρ…. Π­Ρ‚ΠΎ достаточно просто ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ intersection Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… сСт.

И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, рСкурсивная функция которая свяТСт всС это вмСстС:

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, простоС ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π»ΠΈΠΌΠΈΡ‚Π° рСкурсии лишь ΠΎΡ‚ΠΎΠ΄Π²ΠΈΠ³Π°Π΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ ошибки, Π½ΠΎ Π½Π΅ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΎΠ²ΡƒΡŽ. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ clearance Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΡŽ Π²ΠΎΠΎΠ±Ρ‰Π΅. Π― Π½Π΅ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΡŽ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ этой Π·Π°Π΄Π°Ρ‡ΠΈ Ρ‚ΡƒΡ‚, ΠΎΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π½Π° Github. ΠŸΠΎΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту Π·Π°Π΄Π°Ρ‡Ρƒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ. На этом всС, приятной ΠΈΠ³Ρ€Ρ‹.

ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹ сапСр Π½Π° Python Π½Π° GitHub

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

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ сапСра ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ модуля Tkinter

Π”Π΅Π½ΡŒ Π΄ΠΎΠ±Ρ€Ρ‹ΠΉ. ΠŸΠΎΡ‡Ρ‚ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΉ программист стрСмится ΠΊ созданию своСй ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈΠ³Ρ€Ρ‹. Бпустя ΠΏΠΎΠ» Π³ΠΎΠ΄Π° Π»Π΅Π½ΠΈΠ²ΠΎΠ³ΠΎ ΠΊΡ€ΠΎΠΏΠΎΡ‚Π»ΠΈΠ²ΠΎΠ³ΠΎ обучСния я Ρ€Π΅ΡˆΠΈΠ»ΡΡ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ сапСра. Π―Π·Ρ‹ΠΊΠΎΠΌ написания Π±Ρ‹Π» Π²Ρ‹Π±Ρ€Π°Π½ Python, ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ для добавлСния интСрфСйса tkinter, ΠΏΠΎΡ‚ΠΎΠΌΡƒ ΠΊΠ°ΠΊ ΡƒΠΆΠ΅ имСлся ΠΎΠΏΡ‹Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌ. Π­Ρ‚ΠΎΡ‚ пост Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π΅Π½ скорСС Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ ΠΊΠΎΠ΄Π΅Ρ€Π°ΠΌ, Π½ΠΎ Ссли Π²Ρ‹ ΠΈΡ‚Π°ΠΊ всС Π·Π½Π°Π΅Ρ‚Π΅, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свои совСты ΠΏΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡŽ ΠΊΠΎΠ΄Π° Π² ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Ρ‹.

ΠŸΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΠΌ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ собой ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠ»Π΅Ρ‚ΠΊΠ°. Π‘Π°ΠΌΠΎΠ΅ Π²Ρ‹Π³ΠΎΠ΄Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ β€” ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ класс поля:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°Π΄ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ интСрфСйс для настройки ΠΈΠ³Ρ€Ρ‹:

Π’ ΠΈΡ‚ΠΎΠ³Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠ΅ Π²ΠΎΡ‚ ΠΎΠΊΠ½ΠΎ:

сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ bombcounter

Π’Π΅ΠΏΠ΅Ρ€ΡŒ приступаСм ΠΊ основной части, написанию Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ³Ρ€Ρ‹:

ВсС, Ρ‡Ρ‚ΠΎ здСсь происходит, это Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ массива self.around. ΠœΡ‹ рассматриваСм Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ случаи ΠΈ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π²Π΅Ρ€Π½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚. Если Π΅ΡΡ‚ΡŒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это ΠΏΡ€ΠΎΡ‰Π΅, я ΠΏΡ€ΠΈΠΌΡƒ ΠΈΡ… Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅.

Π˜Ρ‚Π°ΠΊ. БСйчас Ρƒ нас написаны Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: открытия ΠΊΠ»Π΅Ρ‚ΠΊΠΈ, заполнСния массива around, Π½Π°Ρ‡Π°Π»Π° ΠΈΠ³Ρ€Ρ‹ ΠΈ получСния значСния насчСт Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ поля ΠΈ ΠΊΠΎΠ»-Π²Π° ΠΌΠΈΠ½. Но Π΄ΠΎ сих ΠΏΠΎΡ€ Π½Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для установки ΠΌΠΈΠ½. Π˜ΡΠΏΡ€Π°Π²Π»ΡΠ΅ΠΌΡΡ:

И вторая ваТная для нас функция: setValue()

На этом заканчиваСтся основная Ρ‡Π°ΡΡ‚ΡŒ. Π˜Π³Ρ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ прямо сСйчас, Π½ΠΎ Π±Π΅Π· установки Ρ„Π»Π°ΠΆΠΊΠ° ΠΈ опрСдСлСния ΠΏΠΎΠ±Π΅Π΄Ρ‹/ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹ΡˆΠ°. Π’ΡƒΡ‚ всС просто. Установка Ρ„Π»Π°ΠΆΠΊΠ°:

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ lose() ΠΈ winer() просты ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ объяснСний. Если Π±ΡƒΠ΄Π΅Ρ‚ Π½ΡƒΠΆΠ½ΠΎ, Π½Π°ΠΏΠΈΡˆΡƒ Π² ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Ρ‹.

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

БистСмный ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ‚ΠΎΡ€

сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹

Установка CentOS 6.5

ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌ Π’Π°ΡˆΠ΅ΠΌΡƒ вниманию ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠΏΠΎ установкС CentOS 6.5 Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€. Π‘ΠΊΠ°Ρ‡Π°ΠΉΡ‚Π΅ с Π·Π΅Ρ€ΠΊΠ°Π»Π° Π― ндСкс, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π½Π° сайтС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° CentOS ISO ΠΎΠ±Ρ€Π°Π· установочного диска CentOS 6.5 На Π·Π΅Ρ€ΠΊΠ°Π»Π΅ Π― ндСкс доступны для скачивания 32-bit ΠΈ 64-bit сборки CentOS 6.5 Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ISO ΠΎΠ±Ρ€Π°Π· Live CD диска, Live DVD диска ΠΈΠ»ΠΈ дистрибутив CentOS 6.5 Π½Π° 2-Ρ… DVD дисках, CentOS 6.5 minimal ISO ΠΈΠ»ΠΈ netinstall ISO.

На Π― ндСкс Π·Π΅Ρ€ΠΊΠ°Π»Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ссылки Π½Π° torrent для скачивания любого ΠΈΠ· этих дистрибутивов CentOS 6.5:

ΠœΡ‹ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌ Π’Π°ΡˆΠ΅ΠΌΡƒ вниманию ΠΏΠΎΡˆΠ°Π³ΠΎΠ²ΡƒΡŽ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠΏΠΎ установкС CentOS 6.5 c Live DVD диска (CentOS-6.5-x86_64-LiveDVD.iso). Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ΡΡŒ c Live DVD диска CentOS 6.5. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅, смотритС ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠžΠ±Π·ΠΎΡ€ Live DVD диска CentOS 6.5

Π”Π²ΠΎΠΉΠ½Ρ‹ΠΌ Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ ΠΌΡ‹ΡˆΠΈ ΠΏΠΎ Π·Π½Π°Ρ‡ΠΊΡƒ «Install to Hard Drive» запуститС установку ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы CentOS 6.5 Π½Π° ТСсткий диск ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°.

сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹

Π’ Π½Π°Ρ‡Π°Π»Π΅ установки CentOS 6.5 Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ раскладку ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹:

сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ‚ΠΈΠΏ ТСсткого диска Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ установлСна CentOS 6.5:

сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹

ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, Π½Π° ТСстком дискС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΅ΡΡ‚ΡŒ информация, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π’Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΅Π΅, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ CentOS 6.5

сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ имя ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈ Π΄ΠΎΠΌΠ΅Π½

сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ часовой пояс

сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹

ΠŸΡ€ΠΈΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ root администратора CentOS 6.5

сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ способ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ ТСсткого диска для установки CentOS 6.5

сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹

Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ настройки Π½Π° ТСсткий диск. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ Π½Π° Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌ для установки CentOS 6.5 Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½Π° Π² процСссС форматирования.

сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ CentOS 6.5 с Live DVD Π½Π° ТСсткий диск:

сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹

Установка Linux Π‘ΡƒΡ‚Π΅Π©Π« 6.5 Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π°.

сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹

ВрСбуСтся ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€. ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Restart, ΠΈΠ·Π²Π»Π΅ΠΊΠΈΡ‚Π΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹ΠΉ диск CentOS 6.5

сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹

Π—Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰ΠΈΠΉ этап установки CentOS 6.5

сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹

ЛицСнзия CentOS 6 EULA

сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ систСмы.

сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹

ΠŸΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π³Π°Π»ΠΎΡ‡ΠΊΡƒ Бинхронизация Π΄Π°Ρ‚Ρ‹ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎ сСти

сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹

Π£Π±Π΅Ρ€ΠΈΡ‚Π΅ Π³Π°Π»ΠΎΡ‡ΠΊΡƒ Enable kdump

сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹

Для примСнСния всСх настроСк систСма CentOS 6.5 Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π°.

сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹

БистСма CentOS 6.5 установлСна ΠΈ Π³ΠΎΡ‚ΠΎΠ²Π° ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅

сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹

ΠžΡΡ‚Π°Π»ΠΎΡΡŒ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ русского языка ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΈΠ³Ρ€Ρ‹.

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

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΈΠ³Ρ€Ρƒ Β«Π‘Π°ΠΏΡ‘Ρ€Β» Π½Π° PyQt5

сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹

Π‘Π°ΠΏΡ‘Ρ€ – это такая одиночная ΠΈΠ³Ρ€Π°, ΡΡƒΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅Ρ€Ρ€ΠΈΡ‚ΠΎΡ€ΠΈΡŽ Π²ΠΎΠΊΡ€ΡƒΠ³ вашСй Ρ€Π°ΠΊΠ΅Ρ‚Ρ‹ Π½Π° Π»ΡƒΠ½Π΅ ΠΈ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π° с ΠΏΡ€ΠΈΡˆΠ΅Π»ΡŒΡ†Π°ΠΌΠΈ. Π’ Ρ€Π°Π·Π½Ρ‹Ρ… вСрсиях ΠΈΠ³Ρ€Ρ‹ Ρ€Π°Π·Π½Ρ‹Π΅ сцСнарии.

сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹

Π­Ρ‚ΠΎ простая Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Π°Ρ вСрсия классичСского Π‘Π°ΠΏΡ‘Ρ€Π°, Π³Π΄Π΅ Π²Π°ΠΌ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΏΠ΅Ρ€Π΅Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠ»ΠΈΡ‚ΠΊΠΈ для поиска спрятанных ΠΌΠΈΠ½. Наша вСрсия ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ QWidget для ΠΏΠ»ΠΈΡ‚ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ своС состояниС Π² качСствС ΠΌΠΈΠ½, статус ΠΈ смСТноС количСство ΠΌΠΈΠ½. Π’ Π΄Π°Π½Π½ΠΎΠΉ вСрсии ΠΌΠΈΠ½Ρ‹ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ‹ Π½Π° инопланСтян, Π½ΠΎ здСсь Π²Ρ‹ ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΡ‹Π²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ.

Π•ΡΡ‚ΡŒ вопросы ΠΏΠΎ Python?

На нашСм Ρ„ΠΎΡ€ΡƒΠΌΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π΄Π°Ρ‚ΡŒ любой вопрос ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ всСго нашСго сообщСства!

Telegram Π§Π°Ρ‚ & Канал

ВступитС Π² наш Π΄Ρ€ΡƒΠΆΠ½Ρ‹ΠΉ Ρ‡Π°Ρ‚ ΠΏΠΎ Python ΠΈ Π½Π°Ρ‡Π½ΠΈΡ‚Π΅ ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ с Π΅Π΄ΠΈΠ½ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠ°ΠΌΠΈ! Π‘Ρ‚Π°Π½ΡŒΡ‚Π΅ Ρ‡Π°ΡΡ‚ΡŒΡŽ большого сообщСства!

Паблик VK

Одно ΠΈΠ· самых Π±ΠΎΠ»ΡŒΡˆΠΈΡ… сообщСств ΠΏΠΎ Python Π² ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ сСти Π’Πš. Π’ΠΈΠ΄Π΅ΠΎ ΡƒΡ€ΠΎΠΊΠΈ ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ для вас!

Π’ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… вариациях Π‘Π°ΠΏΡ‘Ρ€Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ…ΠΎΠ΄ β€” ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ бСзопасный. Если Π²Ρ‹ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚Π΅ Π½Π° ΠΌΠΈΠ½Ρƒ Π² свой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ…ΠΎΠ΄, ΠΎΠ½Π° смСнит своС располоТСниС. На этом ΠΌΠΎΠΌΠ΅Π½Ρ‚Π΅ ΠΌΡ‹ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΌΡƒΡ…Π»ΡŽΠ΅ΠΌ, отдавая ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ…ΠΎΠ΄ ΠΈΠ³Ρ€ΠΎΠΊΡƒ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅Π΄ΠΈΠ², Ρ‡Ρ‚ΠΎ ΠΌΠΈΠ½ Π½Π° Π½Ρ‘ΠΌ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚. Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π½Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π½Π΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒΡΡ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ…ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½Ρ‹ΠΌ ΠΈ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ пСрСсчСта смСТности.

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ исходный ΠΊΠΎΠ΄

ΠŸΠΎΠ»Π½Ρ‹ΠΉ исходный ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹ сапёр доступСн Π² пятнадцатиминутном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π½Π° Github. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для получСния Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠΈ, послС это Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ:

ПослС этого, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΈΠ³Ρ€Ρƒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ:

Π˜Π³Ρ€ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅

Π˜Π³Ρ€ΠΎΠ²Π°Ρ Π·ΠΎΠ½Π° для сапёра прСдставляСт собой сСтку NxN, которая содСрТит ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ количСство ΠΌΠΈΠ½. Π Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΈ количСство ΠΌΠΈΠ½, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ, бСрутся ΠΈΠ· Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΠ· ΠΈΠ³Ρ€Ρ‹ Windows, Π‘Π°ΠΏΡ‘Ρ€. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ значСния ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Π½ΠΈΠΆΠ΅:

ΠœΡ‹ сохраняСм эти значСния ΠΊΠ°ΠΊ постоянныС Π£Π ΠžΠ’ΠΠ˜, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части Ρ„Π°ΠΉΠ»Π°. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ, ΠΌΡ‹ сохраняСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· (8, 16 ΠΈΠ»ΠΈ 24).

Π˜Π³Ρ€ΠΎΠ²Π°Ρ сСтка ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСна нСсколькими способами, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ «список списков», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ состояния ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ (ΠΌΠΈΠ½Ρ‹, раскрытыС ΠΌΠΈΠ½Ρ‹, ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Π΅ ΠΌΠΈΠ½Ρ‹).

Однако, этот Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄. ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Ρ‹ Π½Π° ΠΊΠ°Ρ€Ρ‚Π΅ содСрТат Ρ€Π΅Π»Π΅Π²Π°Π½Ρ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ своСм Π½Ρ‹Π½Π΅ΡˆΠ½Π΅ΠΌ состоянии ΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‚ Π·Π° прорисовку. Π’ Qt ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это просто, создав Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ класс QWidget ΠΈ использовав ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ рисования.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ наши ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΏΠ»ΠΈΡ‚ΠΎΠΊ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΌΠΈ классами QWidget, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ ΠΈΡ… ΠΊΠ°ΠΊ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚. ΠœΡ‹ сдСлаСм это, настроив QGridLayout.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±Ρ‹Π³Ρ€Π°Ρ‚ΡŒ созданиС ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π½Π°ΡˆΠΈΡ… ΠΏΠ»ΠΈΡ‚ΠΎΡ‡Π½Ρ‹Ρ… Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈΡ… Π² Π½Π°ΡˆΡƒ сСтку. Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ настройка уровня считываСтся ΠΈΠ· LEVELS ΠΈ присваиваСт количСство ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² ΠΎΠΊΠ½Π΅.

Рассмотрим Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ настройки!

Класс Pos прСдставляСт ΠΏΠ»ΠΈΡ‚ΠΊΡƒ ΠΈ содСрТит всю Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ своСй ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π½Π° ΠΊΠ°Ρ€Ρ‚Π΅, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, являСтся Π»ΠΈ ΠΎΠ½Π° ΠΌΠΈΠ½ΠΎΠΉ, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ ΠΌΠΈΠ½ΠΎΠΉ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π½ΠΎΠΉ ΠΌΠΈΠ½ΠΎΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ количСство ΠΌΠΈΠ½ Π² нСпосрСдствСнной близости.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Pos Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Ρ€ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… сигнала: Π½Π° Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ, Ρ€Π°ΡΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ слотам. НаконСц, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ resize для настройки Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΎΠΊΠ½Π° Π² соотвСтствии с Π½ΠΎΠ²Ρ‹ΠΌ содСрТимым. Π­Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° ΠΎΠΊΠ½ΠΎ сТимаСтся, Π² ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… случаях Qt ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ автоматичСски.

Π’Π°ΠΉΠΌΠ΅Ρ€ singleShot Π½ΡƒΠΆΠ΅Π½ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ resize запускаСтся послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ Π²Π΅Ρ€Π½ΡƒΠ»ΠΈΡΡŒ ΠΊ Ρ†ΠΈΠΊΠ»Ρƒ событий ΠΈ Qt ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ ΠΎ Π½ΠΎΠ²ΠΎΠΌ содСрТимом.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ сСтка ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΠ»ΠΈΡ‚ΠΎΠΊ, ΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ созданию Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… условий ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ поля. Π­Ρ‚ΠΎ дСлится Π½Π° нСсколько Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. ΠœΡ‹ Π½Π°Π·ΠΎΠ²Π΅ΠΌ ΠΈΡ… _reset (Π½ΠΈΠ·ΠΊΠΎΠ΅ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ являСтся условным ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ частной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠΉ для внСшнСго использования). Главная функция reset_map Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для настройки.
ΠŸΡ€ΠΎΡ†Π΅ΡΡ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ:

Как это выглядит Π² ΠΊΠΎΠ΄Π΅:

ΠœΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ рассмотрим Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ шагов ΠΎΡ‚ 1 Π΄ΠΎ 5 Π½ΠΈΠΆΠ΅, с ΠΊΠΎΠ΄ΠΎΠΌ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ шага.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ всС ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ пустыС, ΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ процСсс добавлСния ΠΌΠΈΠ½ Π½Π° ΠΊΠ°Ρ€Ρ‚Ρƒ. МаксимальноС количСство ΠΌΠΈΠ½ n_mines опрСдСляСтся настройками уровня, упомянутых Ρ€Π°Π½ΡŒΡˆΠ΅.

Π‘ ΠΌΠΈΠ½Π°ΠΌΠΈ Π½Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, ΠΌΡ‹ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ «смСТноС» количСство для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ – просто Π±Π΅Ρ€Π΅ΠΌ количСство ΠΌΠΈΠ½ Π² нСпосрСдствСнной близости, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ сСтку 3Ρ…3 Π²ΠΎΠΊΡ€ΡƒΠ³ Π΄Π°Π½Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ. Ѐункция get_surrounding Π»Π΅Π³ΠΊΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ этих ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ Π²ΠΎΠΊΡ€ΡƒΠ³ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ располоТСния Ρ… ΠΈ Ρƒ. ΠœΡ‹ подсчитаСм ΠΈΡ… количСство, Π³Π΄Π΅ ΠΌΠΈΠ½Π° это is_mine == True ΠΈ сохраняСм.

Π’Π°ΠΊΠΎΠΉ способ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ подсчСта смСТных чисСл ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ обнаруТСния ΠΌΠΈΠ½ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ.

ΠΠ°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ шаг всСгда Π²Π°Π»ΠΈΠ΄Π½Ρ‹ΠΉ. Поиск выполняСтся ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ BruteForce Π² пространствС сСтки, Π³Π΄Π΅ ΠΏΡ€ΠΎΠ±ΡƒΡŽΡ‚ΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°ΠΉΠ΄Π΅Π½Ρ‹ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, Π½Π΅ ΡΠ²Π»ΡΡŽΡ‰ΠΈΠ΅ΡΡ ΠΌΠΈΠ½Π°ΠΌΠΈ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ Π½Π΅ Π·Π½Π°Π΅ΠΌ, сколько ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ это Π·Π°ΠΉΠΌΠ΅Ρ‚, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ это всС Π² Π²Π΅Ρ‡Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ».

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΌΡ‹ Π½Π°ΠΉΠ΄Π΅ΠΌ Π»ΠΎΠΊΠ°Ρ†ΠΈΡŽ, ΠΌΡ‹ ΠΏΠΎΠΌΠ΅Ρ‡Π°Π΅ΠΌ Π΅Π΅ ΠΊΠ°ΠΊ стартовоС располоТСниС, послС Ρ‡Π΅Π³ΠΎ запускаСм исслСдованиС всСх Π±Π»ΠΈΠ·Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ. ΠœΡ‹ Ρ€Π°Π·Ρ€Ρ‹Π²Π°Π΅ΠΌ Ρ†ΠΈΠΊΠ» ΠΈ обновляСм статус готовности.

сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹

ΠŸΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΏΠ»ΠΈΡ‚ΠΎΠΊ

Π˜Π³Ρ€Π° являСтся структурной Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΏΠ»ΠΈΡ‚ΠΎΠΊ содСрТат ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ состояния. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΏΠ»ΠΈΡ‚ΠΊΠΈ Pos ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΈΠ³Ρ€Ρ‹.

Π’Π°ΠΊ ΠΊΠ°ΠΊ класс Pos ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ слоТный, ΠΌΡ‹ Ρ€Π°Π·ΠΎΠ±ΡŒΠ΅ΠΌ Π΅Π³ΠΎ Ρ€Π°Π·Π±ΠΎΡ€ Π½Π° нСсколько частСй ΠΈ обсудим ΠΏΠΎΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎ. ΠΠ°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ Π±Π»ΠΎΠΊ настройки __init__ достаточно простой, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Ρ… ΠΈ Ρƒ ΠΈ сохраняСт Π΅Ρ‘ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. ΠŸΠΎΠ·ΠΈΡ†ΠΈΠΈ Pos Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ послС создания.

Π˜Π³Ρ€ΠΎΠ²ΠΎΠΉ процСсс сосрСдоточСн Π²ΠΎΠΊΡ€ΡƒΠ³ взаимодСйствия ΠΌΡ‹ΡˆΠΈ с ΠΏΠ»ΠΈΡ‚ΠΊΠ°ΠΌΠΈ Π½Π° ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΌ ΠΏΠΎΠ»Π΅, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΈ рСакция Π½Π° наТатия ΠΌΡ‹ΡˆΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½Ρ‹ΠΌΠΈ. Π’ PyQt ΠΌΡ‹ Π»ΠΎΠ²ΠΈΠΌ наТатия ΠΌΡ‹ΡˆΠΈ благодаря mouseReleaseEvent. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это для нашСго Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Pos, ΠΌΡ‹ опрСдСляСм ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ класса. Он ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ QMouseEvent с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΡΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΌΡ‹ заинтСрСсованы Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ, происходили Π»ΠΈ наТатия Π»Π΅Π²ΠΎΠΉ ΠΈΠ»ΠΈ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡ‹ΡˆΠΈ.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ mouseReleaseEvent ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Π½ΠΈΠΆΠ΅.

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

ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½ MVC Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ CΠ°ΠΏΠ΅Ρ€Π°

сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹

ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Model-View-Controller (MVC) являСтся ΠΊΡ€Π°ΠΉΠ½Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ ΠΏΡ€ΠΈ создании ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ со слоТным графичСским интСрфСйсом ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ. Но ΠΈ для Π±ΠΎΠ»Π΅Π΅ простых случаСв ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚. Π’ этой Π·Π°ΠΌΠ΅Ρ‚ΠΊΠ΅ ΠΌΡ‹ создадим ΠΈΠ³Ρ€Ρƒ сапСр, ΡΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π½Π° основС этого ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π°. Π’ качСствС языка Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Ρ‹Π±Ρ€Π°Π½ Python, ΠΎΠ΄Π½Π°ΠΊΠΎ особого значСния Π² этом Π½Π΅Ρ‚. ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ Π½Π΅ зависят ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ языка программирования ΠΈ Π²Ρ‹ Π±Π΅Π· Ρ‚Ρ€ΡƒΠ΄Π° смоТСтС пСрСнСсти ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΡƒΡŽΡΡ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π½Π° Π»ΡŽΠ±ΡƒΡŽ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ.

ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΎ ΠΎ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π΅ MVC

Как слСдуСт ΠΈΠ· названия, ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ MVC Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя 3 ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°: МодСль, ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² выполняСт свою Ρ€ΠΎΠ»ΡŒ ΠΈ являСтся взаимозамСняСмым. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ связаны Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ лишь Π½Π΅ΠΊΠΈΠΌΠΈ Ρ‡Π΅Ρ‚ΠΊΠΈΠΌΠΈ интСрфСйсами, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π»Π΅ΠΆΠ°Ρ‚ΡŒ любая рСализация. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ позволяСт ΠΏΠΎΠ΄ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, обСспСчивая Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠ»ΠΈ внСшний Π²ΠΈΠ΄ прилоТСния. РазбСрСмся с Ρ‚Π΅ΠΌΠΈ функциями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ выполняСт ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚.

МодСль

ΠžΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΊΡ€Ρ‹Ρ‚ΡŒ способы хранСния Π΄Π°Π½Π½Ρ‹Ρ…, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

НапримСр, для ΠΎΠ΄Π½ΠΎΠ³ΠΎ прилоТСния ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ нСсколько ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ. Одна Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ, Π° другая Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ. ΠŸΠ΅Ρ€Π²Π°Ρ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ свои Π΄Π°Π½Π½Ρ‹Π΅ Π² памяти ΠΈΠ»ΠΈ Π² Ρ„Π°ΠΉΠ»Π΅, Π° вторая ΡƒΠΆΠ΅ задСйствуСт Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…. По сути это просто ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ БтратСгия.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅

ΠžΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… МодСли. На этом ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΌΡ‹ лишь прСдоставляСм интСрфСйс для взаимодСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с МодСлью. Бмысл ввСдСния этого ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Ρ‚ΠΎΡ‚ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ Π² случаС с прСдоставлСниСм Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… способов хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° основС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… МодСлСй.

НапримСр, Π½Π° Ρ€Π°Π½Π½ΠΈΡ… этапах Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ простоС консольноС прСдставлСниС для нашСго прилоТСния, Π° ΡƒΠΆΠ΅ ΠΏΠΎΡ‚ΠΎΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ красиво ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½Ρ‹ΠΉ GUI. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ, остаСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΎΠ±Π° Ρ‚ΠΈΠΏΠ° интСрфСйсов.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, слСдуСт ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² обязанности ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ лишь своСврСмСнноС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ состояния МодСли. Π—Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ дСйствий ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΡ‹ сСйчас ΠΈ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ.

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€

ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ связь ΠΌΠ΅ΠΆΠ΄Ρƒ МодСлью ΠΈ дСйствиями ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ взаимодСйствия с ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ. ΠšΠΎΠΎΡ€Π΄ΠΈΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ обновлСния состояний МодСли ΠΈ ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡ. ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°Ρ… прилоТСния ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ состояния Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

ЀактичСски Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ дСйствиС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π² ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠΈ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π² ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅. Π­Ρ‚ΠΎΡ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ манипуляции Π½Π°Π΄ модСлью ΠΈ Π² случаС нСобходимости сообщит ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈΠ³Ρ€Ρ‹ Π‘Π°ΠΏΠ΅Ρ€

Достаточно Ρ‚Π΅ΠΎΡ€ΠΈΠΈ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅. Для дСмонстрации ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π° MVC ΠΌΡ‹ напишСм Π½Π΅ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ ΠΈΠ³Ρ€Ρƒ: Π‘Π°ΠΏΠ΅Ρ€. ΠŸΡ€Π°Π²ΠΈΠ»Π° ΠΈΠ³Ρ€Ρ‹ достаточно простыС:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ρƒ нас получится ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅:

сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹

UML-Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ³Ρ€Ρ‹ Π‘Π°ΠΏΠ΅Ρ€

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ написанию ΠΊΠΎΠ΄Π° Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния. Она Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ языка Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, поэтому для Π½Π°ΡˆΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ UML.

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Бостояний ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΊΠ»Π΅Ρ‚ΠΊΠΈ

Π›ΡŽΠ±Π°Ρ ΠΊΠ»Π΅Ρ‚ΠΊΠ° Π½Π° ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΌ ΠΏΠΎΠ»Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· 4 состояний:

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ лишь состояния, Π·Π½Π°Ρ‡ΠΈΠΌΡ‹Π΅ для ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠΈΠ½Ρ‹ Π² процСссС ΠΈΠ³Ρ€Ρ‹ Π½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ, Ρ‚ΠΎ ΠΈ Π² Π±Π°Π·ΠΎΠ²ΠΎΠΌ Π½Π°Π±ΠΎΡ€Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ состояния Π½Π΅ прСдусмотрСно. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ состояния ΠΊΠ»Π΅Ρ‚ΠΊΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ UML Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Бостояний:

сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Классов ΠΈΠ³Ρ€Ρ‹ Π‘Π°ΠΏΠ΅Ρ€

сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹. Π€ΠΎΡ‚ΠΎ сапСр Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠ΄ ΠΈΠ³Ρ€Ρ‹

ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ довольно проста. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ просто распрСдСлили Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ классу Π² соотвСтствии с ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌΠΈ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π° MVC:

РСализация ΠΈΠ³Ρ€Ρ‹ Π‘Π°ΠΏΠ΅Ρ€ Π½Π° Python

Но Π½Π°Ρ‡Π½Π΅ΠΌ с МодСли.

МодСль MinsweeperModel

РСализация ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° языкС Python выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π’ Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части ΠΌΡ‹ опрСдСляСм Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ допустимых настроСк ΠΈΠ³Ρ€Ρ‹:

Π’ΠΎΠΎΠ±Ρ‰Π΅, эти настройки ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎΠΆΠ΅ Ρ‡Π°ΡΡ‚ΡŒΡŽ МодСли. Однако Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ поля ΠΈ количСство ΠΌΠΈΠ½ достаточно статичная информация ΠΈ вряд Π»ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ часто ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ.

ΠœΠ΅Ρ‚ΠΎΠ΄ nextCellMark() всСго лишь Π΄Π΅Π»Π΅Π³ΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ nextMark() для ΠΊΠ»Π΅Ρ‚ΠΊΠΈ, располоТСнной Π½Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ MinesweeperView

Π’Π΅ΠΏΠ΅Ρ€ΡŒ займСмся прСдставлСниСм. Код класса MinesweeperView Π½Π° Python прСдставлСн Π½ΠΈΠΆΠ΅:

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

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

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