Агуулгын хүснэгт:

Minesweeper-Raspberry-Pi-Edition: 7 алхам (зурагтай)
Minesweeper-Raspberry-Pi-Edition: 7 алхам (зурагтай)

Видео: Minesweeper-Raspberry-Pi-Edition: 7 алхам (зурагтай)

Видео: Minesweeper-Raspberry-Pi-Edition: 7 алхам (зурагтай)
Видео: SCP-261 Пан-мерное Торговый и эксперимент Войти 261 объявление Де + полный + 2024, Есдүгээр
Anonim
Minesweeper-Raspberry-Pi-Edition
Minesweeper-Raspberry-Pi-Edition
Minesweeper-Raspberry-Pi-Edition
Minesweeper-Raspberry-Pi-Edition

Луизиана Технологийн Их Сургуулийн CSC 130 цувралын миний эцсийн төсөл бол Minesweeper Raspberry Pi Edition юм. Энэ төсөлд би Python програмчлалын хэлний Ткинтер номын санг ашиглан мина хайгчдын сонгодог тоглоомыг дахин бүтээхийг зорьсон юм. Уурхайчин хөлөг онгоцны тоглоомыг багтаасан сүлжээ нь найман өргөн, таван хавтан юм. Төслийн форматыг Python 2.7 -т суулгасан Raspberry Pi -ийг ашиглахад тохиромжтой, төгс төгөлдөр болгосон.

Minesweeper Raspberry Pi Edition эцсийн төслийн код, зургийг дараах линкээс татаж авах боломжтой.

Minesweeper-Raspberry-Pi-Edition

Хангамж

x1 Raspberry Pi

Python 2.7 нь Raspberry Pi дээр суулгагдсан

Microsoft Powerpoint (эсвэл товчлуур дээр дүрс үүсгэх өөр програм хангамж)

Алхам 1: Товчлуурын дүрс үүсгэх

Товчлуурын дүрс үүсгэх
Товчлуурын дүрс үүсгэх

ТАЙЛБАР:

GUI -ийг бүрдүүлдэг товчлуур бүрийг үүсгэх шаардлагатай болно. Энэ даалгаврыг гүйцэтгэхийн тулд би Microsoft Powerpoint програмыг ашиглан товчлуур дээр харуулах шаардлагатай зургуудыг хийсэн.

Нэгдүгээрт, би Microsoft Powerpoint ашиглан мина тээвэрлэгч сүлжээ (хоосон, боб, тэг, нэг, хоёр, гурав, дөрөв, тав, зургаа, долоо, найм) хийхэд шаардлагатай хавтангийн арван товчлуурыг бүтээсэн.

Хоёрдугаарт, би Microsoft Powerpoint програмыг ашиглан цэсийн дэлгэцэнд шаардлагатай дөрвөн зургийг (цэс дэлгэц, хялбар бэрхшээлийн товчлуур, дунд зэргийн бэрхшээлтэй товч, хүнд хэцүү байдлын товчлуур) хийсэн.

Гуравдугаарт, би Microsoft Powerpoint програмыг ашиглан дахин эхлүүлэх товчлуур болон бусад дэлгэцийн өөр товчлууруудад шаардлагатай дүрсийг ("тоглоом дууссан" дэлгэц, "та хожсон" дэлгэц, "дүрмийн" дэлгэц) үүсгэсэн.

Дөрөвдүгээрт, та зургуудынхаа хэмжээг дэлгэцэн дээрээ тааруулахын тулд өөрчлөх шаардлагатай болно. Rasberry Pi -ийн хувьд би цонхны хувьд дараах хэмжээсийг ашигласан (урт ба өргөний пикселийг дурдвал): 432x576.

Алхам 2: Хөтөлбөрийг форматлах

Хөтөлбөрийг форматлах
Хөтөлбөрийг форматлах

ТАЙЛБАР:

Бодит програмчлал хийхээс өмнө бид шаардлагатай номын сангуудыг оруулж, програмынхаа үндсэн хэсгийг бичих ёстой.

Нэгдүгээрт, бид Ткинтер номын сангаас * импортлох, санамсаргүй номын сангаас холих шаардлагатай болно. Хоёрдугаарт, бид програмын үндсэн хэсэг дэх кодын дараах алхмуудыг хийх ёстой: цонх үүсгэх, гарчгийн цонхыг тохируулах, GUI үүсгэх, GUI -ийг харуулах, хэрэглэгчийн харилцан үйлчлэлийг хүлээх. Энэ кодыг Ткинтер номын сангийн талаар зохих форматаар бичсэн болно (зохих форматыг харахын тулд зааварт өгсөн кодыг харна уу).

Алхам 3: GUI (Цэс ба мина тээвэрлэгч сүлжээ) үүсгэх

GUI (Цэс ба мина тээвэрлэгч сүлжээ) үүсгэх
GUI (Цэс ба мина тээвэрлэгч сүлжээ) үүсгэх
GUI (Цэс ба мина тээвэрлэгч сүлжээ) үүсгэх
GUI (Цэс ба мина тээвэрлэгч сүлжээ) үүсгэх
GUI (Цэс ба мина тээвэрлэгч сүлжээ) үүсгэх
GUI (Цэс ба мина тээвэрлэгч сүлжээ) үүсгэх
GUI (Цэс ба мина тээвэрлэгч сүлжээ) үүсгэх
GUI (Цэс ба мина тээвэрлэгч сүлжээ) үүсгэх

ТАЙЛБАР:

Хөтөлбөрийг эхлүүлэх үед цэсийн дэлгэц нээгдэнэ. Хэцүү байдлыг сонгосны дараа (цэсийн дэлгэц дээрх хүндрэлийн товчлууруудын аль нэгийг дарснаар) GUI -ийг мина цэвэрлэгч сүлжээ, дэлгэц, дахин эхлүүлэх товчлуураар сэргээнэ. Та GUI дээр дөнгөж ажиллаж эхэлж байгаа тул бид зөвхөн цэсийг ажиллуулах, цэсийн хүндрэлийн товчлууруудыг ажиллуулах, уурын хөлөг онгоцны сүлжээ ашиглан тоглоомын дэлгэц рүү GUI -ийг шинэчлэх шаардлагатай болно.

Нэгдүгээрт, бид програмыг эхлүүлэх үед MainGUI ангийн бүтээгч доторх "setupMenu" аргыг дуудаж цэсийн дэлгэцийг өөрөө харуулах боломжтой болно.

Хоёрдугаарт, бид цэсийн хүндрэлийн товчлуурууд тус бүрийг товчлуурын функцын параметрүүдийн дотор "процесс" аргыг нэмж оруулах шаардлагатай болно (мөн lambda: self.process ("returnButtonName") командыг нэмэх шаардлагатай болно). бэрхшээл бүрийн товчлуурыг үүсгэхэд). If-else гэсэн гурван мэдэгдлийг "процесс" аргаар үүсгэж, товчлуур нь ямар хэмжээтэй тэнцэхээс хамаарч өөр бусад код, мөрүүдийг гүйцэтгэх болно (товчлуур нь хамгийн сүүлд бүртгэгдсэн товчлуурын нэртэй тэнцүү).

Гуравдугаарт, цэсийн дэлгэц асаалттай байгаа бөгөөд хэрэв хэрэглэгч хүндрэлийн товчлууруудын аль нэгийг дарвал програм нь "хэцүү" хувьсагч руу тодорхой утгыг хадгалах болно (бэрхшээл нь "хялбар", "дунд" эсвэл "хатуу" дээр суурилсан болно) аль товчлуур дээр дарагдсан бэ? Аль товчлуур дээр дарагдсан нь хамгийн сүүлд ямар товчлуурын нэр бүртгэгдсэнийг (аль товчлууртай тэнцэх вэ) үндэслэн ямар if-else мэдэгдэл хийх ёстойг мэдэх болно. Нэмж хэлэхэд "бэрхшээл" хувьсагчийг дахин томилохын тулд бид эхлээд эхлүүлэх хэрэгтэй болно. Энэ нь ангиас гадуур байна. Тиймээс бид "бэрхшээл" хувьсагчийг "MainGUI" анги үүсгэхээс өмнө хоосон мөр болгон тохируулах болно.

Дөрөвдүгээрт, "setupMenu" аргаар хийсэн товчлууруудын GUI -ийг цэвэрлэж, "clearMenu" аргыг хийж (button.destroy () функцийг олон тохиолдолд ашиглана), "clearMenu" аргыг "процесс" аргаар (доор бэрхшээлийн товчлуур бүр нь хүндрэлийн хувьсагчийн хуваарийн дараа бүртгэгддэг).

Тавдугаарт, "setSLASHresetGUI" аргыг (товчлуурууд нь "setupMenu" аргын адил хийгддэг) хийж, "процесс" аргаар "setSLASHresetGUI" аргыг дуудаж GUI -ийг сэргээнэ үү (хүндрэлийн товчлуур бүрийн доор бүртгэлийн дараа бүртгэгддэг. хүндрэл хувьсах даалгавар, "clearMenu" аргыг дуудах).

Нэмж дурдахад, бүх товчлууруудыг "setSLASHresetGUI" аргын хүрээнд хуваарилахаас өмнө бид сүлжээ доторх мөр, багануудыг тохируулах ёстой бөгөөд бүх товчлууруудыг "setSLASHresetGUI" аргын дагуу хуваарилсны дараа бид бүх агуулгыг сүлжээнд баглах ёстой. Зөв форматыг харахын тулд зааварт заасан код).

Алхам 4: Тоглоомын дэлгэц дээрх товчлууруудыг ажиллуулна уу

Тоглоомын дэлгэц дээрх товчлууруудыг ажиллуулна уу
Тоглоомын дэлгэц дээрх товчлууруудыг ажиллуулна уу
Тоглоомын дэлгэц дээрх товчлууруудыг ажиллуулна уу
Тоглоомын дэлгэц дээрх товчлууруудыг ажиллуулна уу
Тоглоомын дэлгэц дээрх товчлууруудыг ажиллуулна уу
Тоглоомын дэлгэц дээрх товчлууруудыг ажиллуулна уу
Тоглоомын дэлгэц дээрх товчлууруудыг ажиллуулна уу
Тоглоомын дэлгэц дээрх товчлууруудыг ажиллуулна уу

ТАЙЛБАР:

Товчлуурыг дарахад кодын тодорхой мөрүүдийг гүйцэтгэхийн тулд бид "процесс" аргын хүрээнд аргуудыг гүйцэтгэх шаардлагатай болно. Энэ даалгаврыг хийхийн тулд бид олон шинэ арга, хувьсагч, жагсаалт гаргах шаардлагатай болно.

Нэгдүгээрт, бид хоёр жагсаалт гаргах болно. "Grid" нэртэй жагсаалт байх болно. Энэхүү "сүлжээ" жагсаалт нь зөвхөн 9 ба 0 гэсэн бүхэл тоонуудаас бүрдэх болно. Энэ жагсаалтад ес нь бөмбөг, тэг тэг нь бөмбөг бусыг илэрхийлнэ. Хавтанцар нь тэсрэх бөмбөг мөн эсэхийг програм ингэж ялгах болно. Хоёрдахь жагсаалтыг гаргах бөгөөд үүнийг "статус" гэж нэрлэх болно. Энэхүү "статус" жагсаалт нь зөвхөн нэг тэмдэгт мөрөөс бүрдэнэ ("0", "1", "2", "3", "4", "5", "6", "7", "8", "b" "). Энэ жагсаалтад тэмдэгт мөр бүр тодорхой дүрстэй тохирч байх болно. Уурхайн хөлөг онгоцны торны товчлуур бүрт ямар зураг харуулахыг програм ингэж л мэдэх болно. Уурхайн хөлөг онгоцны сүлжээн дэх товчлуур бүрийг сүлжээнд байрлуулсны үндсэн дээр жагсаалт бүрт харгалзах индекстэй байх болно. Дараахь процедурын дагуу харгалзах индексийг хуваарилна (товчлуурын дугаар - 1). Жишээлбэл, жагсаалт бүрийн харгалзах индексийг товчлох нь индекс тэг юм. Эцэст нь хэлэхэд эдгээр хоёр жагсаалтыг "MainGUI" классыг ажиллуулахаас өмнө гүйцэтгэх бөгөөд "MainGUI" ангиллаас гадуур үүсгэх болно. "Grid" классыг хоосон жагсаалт хэлбэрээр үүсгэх болно (grid = ), "статус" жагсаалтыг муж функцээр үүсгэх болно ("статус" жагсаалтад "n" гэсэн дөчин ганц тэмдэгт мөрийг нэмэх).

Хоёрдугаарт, бид эргэн тойронд байгаа уурхайнуудын тоог илрүүлж болох, товчлуур дарахад дуудах боломжтой янз бүрийн аргуудыг хийх болно (аль аргыг гүйцэтгэх ёстойг тухайн товчлуурыг байрлуулснаар тодорхойлно). Эдгээр аргуудыг манай уурхайн анализатор гэж нэрлэх болно. Эдгээр аргууд нь "NumOfMines" гэж нэрлэгддэг тоолуурыг нэмэгдүүлж, хавтангийн эргэн тойронд хичнээн олон бөмбөг байгааг тодорхойлохын тулд "сүлжээ" жагсаалтын тодорхой индексүүдийг ашиглах болно. "NumOfMines" хувьсагчийн дотор хадгалагдах мөрийг "статус" жагсаалтын харгалзах ижил индексийг орлуулахад ашиглах болно. Хөтөлбөр нь ямар индекс ашиглахыг хэрхэн мэдэх талаар одоо та гайхаж магадгүй юм. "Процесс" аргад товчлуур бүртгэгдсэн тохиолдолд "индекс" гэсэн хувьсагч үүсч/тодорхой бүхэл тоонд дахин хуваарилагдах болно (товчлуур ямар бүртгэлд бүртгүүлснээс хамаарна). Үүсгэсэн аргуудын нэг нь хавтангийн байршил, түүний эргэн тойрон дахь хавтангийн индексийг мэдэхийн тулд хуваарилагдсан индексийг ашиглах болно (аргын алгоритм үүнийг ойлгох болно). Нэмж дурдахад "индекс" хувьсагчийг дахин томилохын тулд бид үүнийг ангиас гадуур эхлүүлэх шаардлагатай болно. Тиймээс бид "MainGUI" ангиллыг үүсгэхээс өмнө "индекс" хувьсагчийг бүхэл тоо болгон урьдчилан тохируулах болно.

Гуравдугаарт, "үйл ажиллагааны" аргуудыг бий болгоно. Товчлуур бүртгүүлэх бүрт "ажиллагаа" аргыг гүйцэтгэх болно. Эдгээр "үйл ажиллагааны" аргуудыг "процесс" аргаар гүйцэтгэх болно. "Процесс" аргад олон if-else мэдэгдэл нь аль товчлуурыг дарсан болохыг тодорхойлох болно (энэ товчлуур ямар утгатай болохыг үндэслэн). Энд тодорхой "үйл ажиллагаа" аргыг дуудах болно (if-else мэдэгдэлд).

Дөрөвдүгээрт, бид товчлуурууд хэрхэн ажилладаг болохыг олж мэдэх болно. Өмнө дурьдсанчлан, if-else гэсэн хэд хэдэн мэдэгдэл нь "процесс" аргад байрладаг бөгөөд товчлуур нь ямар хэмжээтэй тэнцэхээс хамаарч өөр код, мөрийг гүйцэтгэдэг (товчлуур нь хамгийн сүүлд бүртгэгдсэн мөртэй тэнцүү). Эдгээр if-else мэдэгдэл дотор дараах дарааллаар хийгдэх болно: индексийг дэлхий даяар хуваарилах бөгөөд "статус" жагсаалтын харгалзах индексийг "b" мөрөнд дахин хуваарилах болно (хэрэв "сүлжээ" жагсаалтын харгалзах индекс тэнцүү бол) бүхэл тоо 9), харгалзах "үйлдэл" аргыг гүйцэтгэх болно (хэрэв "сүлжээ" жагсаалтын харгалзах индекс тэг бүхэл тоотой тэнцүү бол), "статус" жагсаалтын харгалзах индексийг хувьсагчтай тэнцэх мөрөнд дахин хуваарилна. "NumOfMines" (хэрэв "сүлжээ" жагсаалтын харгалзах индекс нь бүхэл тоотой тэнцүү бол) бөгөөд GUI нь "setSLASHresetGUI" аргыг дуудаж шинэчлэгдэх болно.

Алхам 5: "setDifficulty" арга ба "дахин эхлүүлэх" арга

Зураг
Зураг
Зураг
Зураг

ТАЙЛБАР:

Дараа нь "setDifficulty" аргыг үүсгэх шаардлагатай бөгөөд тоглоом доторх дэлгэцийн доод хэсэгт байрлах дахин эхлүүлэх товчлуурыг ажиллуулах шаардлагатай болно (үүнийг "дахин эхлүүлэх" аргыг бий болгосноор үүнийг хэрэглэгч дарахад үүнийг гүйцэтгэх болно.).

Нэгдүгээрт, "процесс" арга ба "дахин эхлүүлэх" аргын бэрхшээлийн товчлууруудын if-else мэдэгдэлд "setDifficulty" аргыг хэрэгжүүлэх шаардлагатай болно. Энэ аргаар гүйцэтгэсэн кодын мөр, аргууд нь маш энгийн. "SetDifficulty" аргын хувьд бид тодорхой тооны тэг (бөмбөггүй) ба ес (бөмбөг) -ийг "сүлжээ" жагсаалтад нэмж оруулах болно (if-else мэдэгдэл тус бүрийн хоёр хүрээний функцээр дамжуулан), дараа нь бид үүнийг холих болно. "grid" жагсаалт (санамсаргүй номын сангийн холих функцтэй) "setDifficulty" аргын хүрээнд (if-else мэдэгдэл хийгдсэний дараа). Тэг ба есийн харьцаа нь "бэрхшээл" гэсэн хувьсагчийг ямар мөрт тохируулснаар тодорхойлогдоно ("хялбар": 34-6, "дунд": 28-12, "хатуу": 16-24).

Хоёрдугаарт, "дахин эхлүүлэх" аргаар бид "индекс" ба "NumOfMinesLEFT" хувьсагчдыг дэлхийн хэмжээнд тэг болгож, "статус" ба "сүлжээ" жагсаалтыг хоёуланг нь хоосон болгож, "статус" жагсаалтыг муж функцээр дахин тохируулна. "статус" жагсаалтад "n" гэсэн дөчин ганц тэмдэгт мөрийг оруулаад "setDifficulty" аргыг дуудна уу.

Алхам 6: Тоглоомын төгсгөлийн хувилбарууд

Тоглоомын төгсгөлийн хувилбарууд
Тоглоомын төгсгөлийн хувилбарууд
Тоглоомын төгсгөлийн хувилбарууд
Тоглоомын төгсгөлийн хувилбарууд
Тоглоомын төгсгөлийн хувилбарууд
Тоглоомын төгсгөлийн хувилбарууд
Тоглоомын төгсгөлийн хувилбарууд
Тоглоомын төгсгөлийн хувилбарууд

ТАЙЛБАР:

Уурхайчин хөлөг онгоцны тоглолт бүр хожих, хожигдох гэсэн тоглоомын төгсгөлийн хоёр хувилбартай байдаг. Энэхүү хөтөлбөрийн хүрээнд бид "You_A_Winner_Son" арга ба "GameOver" гэсэн хоёр шинэ аргыг ашиглан тоглоомын төгсгөлийн хоёр хувилбарыг хэрэгжүүлэх болно. GUI-ийг "процесс" аргын хүрээнд шинэчлэхээс өмнө тоглоомын төгсгөлийн хоёр хувилбараар өөрчилсөн индексүүд дээр үндэслэн дэлгэцийн товчлуурыг өөрчилж, үр дүнг зөв харуулна.

Нэгдүгээрт, хэрэглэгч хамгийн сүүлд нуусан бөмбөггүй хавтан дээр дарахад "You_A_Winner_Son" аргыг гүйцэтгэх ёстой. Бид энэ даалгаврыг плита дарах ба хавтанг тэсрэх бөмбөг биш ("процесс" аргаар гүйцэтгэсэн "үйл ажиллагааны" аргын хүрээнд) илрүүлэх бүрт "You_A_Winner_Son" аргыг дуудаж гүйцэтгэнэ. Хэрэв ялах нөхцөл хангагдсан бол "You_A_Winner_Son" аргын хүрээнд if-else гэсэн хоёр мэдэгдлийг гүйцэтгэх болно. Эхний if-else мэдэгдэл нь энэ аргыг дуудахад тоглогч хожсон эсэхээс үл хамааран үргэлж биелэгдэх болно. "Хэцүү байдал" гэдэг хувьсагч ямар утгатай болохыг үндэслэн хэдэн мина/бөмбөг нуугдсан болохыг тодорхойлох тодорхой алгоритм. Энэхүү алгоритмаар олсон бүхэл тоог "NumOfMinesLEFT" хувьсагч дээр хадгалах болно. Дараа нь, if-else гэсэн хоёр мэдэгдлийн хооронд үлдсэн хавтангуудын тоог олохын тулд өөр алгоритм ажиллуулах болно (дараагүй хавтан). Энэхүү алгоритмаар олдсон бүхэл тоог "NumOfStartingTilesLEFT" хувьсагчид хадгалах болно. Хоёр дахь if-else мэдэгдэл нь энэ аргыг дуудахад тоглогч хожсон эсэхээс үл хамааран үргэлж биелэгдэх болно. "Хэцүү байдал" гэдэг хувьсагч ямар утгатай болохыг үндэслэн хэрэв болзол хангагдсан бол if-else гэсэн гурван мэдэгдлийн нэгийг гүйцэтгэж болно. Нөхцөлүүд нь "NumOfMinesLEFT" ба "NumOfStartingTilesLEFT" гэсэн хоёр хувьсагч ямар утгатай болохыг үндэслэнэ. Эдгээр гурван if-else мэдэгдлийн дотор товчлуур бүрийг ашиггүй болгох алгоритмыг гүйцэтгэх болно (тоглоом дууссан).

Хоёрдугаарт, хэрэглэгч бөмбөг нуусан хавтангийн аль нэгийг дарах үед "GameOver" аргыг гүйцэтгэх ёстой. Бид энэ даалгаврыг плита дарах, хавтанг тэсрэх бөмбөг ("процесс" аргаар гүйцэтгэсэн "ажиллагааны" аргын хүрээнд) илрүүлэх бүртээ "GameOver" аргыг дуудаж гүйцэтгэнэ. "GameOver" аргыг дуудах үед эхлэх хавтан бүрийг ашиггүй болгож, тоглоомыг дуусгасан алгоритмыг ажиллуулж, бөмбөгний далд хавтангуудыг илрүүлэх болно. "статус" жагсаалтад "b" гэсэн ганц тэмдэгт мөрөнд дахин хуваарилагдах болно).

Гуравдугаарт, "setSLASHresetGUI" аргад маш цөөн тооны жижиг засвар хийх замаар GUI шинэчлэгдэх бүрт тоглоом доторх дэлгэцийн дэлгэц шинэчлэгдэх болно. GUI-ийн сүлжээг тохируулсны дараа бид одоогийн дэлгэцийн товчлуурын даалгаврыг байрлуулсан бол if-else гэсэн гурван мэдэгдлийг байрлуулах болно. If-else гэсэн гурван мэдэгдлийн нэг нь дараах хувьсагчдыг "GameOverDETECTOR", "бэрхшээл", "NumOfMinesLEFT", "NumOfStartingTilesLEFT" гэсэн хувьсагчтай тэнцүү байх үндсэн дээр гүйцэтгэх болно. Таны бодож байгаа шиг "GameOverDETECTOR" хувьсагч нь шинэ юм. хувьсагч. Энэ хувьсагчийг "setSLASHresetGUI" аргын хүрээнд if-else мэдэгдэл гүйцэтгэхээс өмнө шууд үүсгэх болно. "GameOverDETECTOR" хувьсагч нь "сүлжээ" дотор хэдэн индексийг олдог алгоритмыг ашиглан олсон бүхэл тоотой тэнцүү байх болно. list нь ерэн есөн бүхэл тоонд дахин хуваарилагдсан (товчлуурууд хэрхэн ашиггүй болсон). If-else мэдэгдлийн нөхцөл хангагдсаны үндсэн дээр дэлгэцийн харгалзах хуваарилалт хийгдэх болно.

Алхам 7: Дахин эхлүүлэх товчийг ажиллуулах

Дахин эхлүүлэх товчийг ажиллуулах
Дахин эхлүүлэх товчийг ажиллуулах

ТАЙЛБАР:

Энэ алхам хамгийн богино байх болно. Энэ алхамын ихэнх ажлыг аль хэдийн хийчихсэн байгаа. Хэрэглэгч дахин асаах товчлуурыг дарах тоолонд "дахин эхлүүлэх" аргыг хэрэгжүүлэхэд бидэнд одоо л үлдэх болно.

Нэгдүгээрт, эцэст нь бид "процесс" аргын "дахин эхлүүлэх" аргыг if-else мэдэгдэлээр гүйцэтгэх болно. Хэрэв "!" Мөр бүртгэгдсэн бол "дахин эхлүүлэх" аргыг ажиллуулна. Мөн сүлжээний агуулгыг багцлахаас өмнө "setSLASHresetGUI" аргын төгсгөлд дахин эхлүүлэх нэртэй товчлуур үүсгэх шаардлагатай болно. Энэ дахин эхлүүлэх товчлуур нь "!" Мөрийг боловсруулах болно. (тушаал lambda: self.process ("!")) ба "процесс" аргын хүрээнд харгалзах "дахин эхлүүлэх" аргыг ажиллуулна уу.

Зөвлөмж болгож буй: