Სარჩევი:

Minesweeper-Raspberry-Pi- გამოცემა: 7 ნაბიჯი (სურათებით)
Minesweeper-Raspberry-Pi- გამოცემა: 7 ნაბიჯი (სურათებით)

ვიდეო: Minesweeper-Raspberry-Pi- გამოცემა: 7 ნაბიჯი (სურათებით)

ვიდეო: Minesweeper-Raspberry-Pi- გამოცემა: 7 ნაბიჯი (სურათებით)
ვიდეო: Minesweeper on Raspberry Pi 3B 2024, ივლისი
Anonim
Minesweeper-Raspberry-Pi-Edition
Minesweeper-Raspberry-Pi-Edition
Minesweeper-Raspberry-Pi-Edition
Minesweeper-Raspberry-Pi-Edition

ჩემი საბოლოო პროექტი CSC 130 სერიისთვის ლუიზიანა ტექნიკურ უნივერსიტეტში არის Minesweeper Raspberry Pi Edition. ამ პროექტში მე შევეცადე აღმედგინა მაღაროების კლასიკური თამაში პითონის პროგრამირების ენის Tkinter ბიბლიოთეკის გამოყენებით. ბადე, რომელსაც მოიცავს მაღაროელთა თამაში, არის რვა ფილა სიგანეში და ხუთი კრამიტი სიმაღლეზე. პროექტის ფორმატირება შეეფერება და სრულყოფილია Raspberry Pi– სთვის, რომელიც დაინსტალირებულია Python 2.7– ით.

Minesweeper Raspberry Pi Edition– ის საბოლოო პროექტის კოდი და სურათები შეგიძლიათ ჩამოტვირთოთ შემდეგ ბმულზე:

Minesweeper-Raspberry-Pi-Edition

მარაგები

x1 ჟოლო პი

პითონი 2.7 დაინსტალირებულია ჟოლოს პიზე

Microsoft Powerpoint (ან სხვა პროგრამული უზრუნველყოფა ღილაკების სურათების შესაქმნელად)

ნაბიჯი 1: შექმენით ღილაკის სურათები

შექმენით ღილაკის სურათები
შექმენით ღილაკის სურათები

ახსნა:

თითოეული ღილაკი, რომელიც ქმნის GUI- ს, უნდა შეიქმნას. ამ ამოცანისთვის, მე გამოვიყენე Microsoft Powerpoint, რათა შევქმნა სურათები, რომლებიც მჭირდებოდა ღილაკებზე გამოსახვისათვის.

პირველ რიგში, მე შევქმენი ათი კრამიტის ღილაკი, რომლებიც საჭიროა მაღაროს გამწმენდი ბადის შესაქმნელად (ცარიელი, ბობ, ნულოვანი, ერთი, ორი, სამი, ოთხი, ხუთი, ექვსი, შვიდი და რვა) Microsoft Powerpoint– ის გამოყენებით.

მეორე, მე გავაკეთე მენიუს ეკრანისთვის საჭირო ოთხი სურათი (მენიუს ჩვენება, მარტივი სირთულის ღილაკი, საშუალო სირთულის ღილაკი და რთული სირთულის ღილაკი) Microsoft Powerpoint– ის გამოყენებით.

მესამე, მე შევქმენი გადატვირთვის ღილაკისთვის საჭირო სურათი და სხვა განსხვავებული ეკრანის ღილაკებისათვის ("თამაში დასრულდა", "შენ გაიმარჯვებ" და "წესების" ჩვენება) Microsoft Powerpoint- ის გამოყენებით.

მეოთხე, თქვენ მოგიწევთ თქვენი სურათების ზომის შეცვლა, რათა მოთავსდეს თქვენს ეკრანზე. ჩემი Rasberry Pi- სთვის ფანჯრისთვის გამოვიყენე შემდეგი ზომები (სიგრძისა და სიგანის პიქსელებზე მითითებული): 432x576.

ნაბიჯი 2: პროგრამის ფორმატირება

ფორმატის პროგრამა
ფორმატის პროგრამა

ახსნა:

სანამ რაიმე რეალური პროგრამირება მოხდება, ჩვენ უნდა შემოვიტანოთ საჭირო ბიბლიოთეკები და დავწეროთ ჩვენი პროგრამის ძირითადი ნაწილი.

პირველ რიგში, ჩვენ დაგვჭირდება * Tkinter ბიბლიოთეკიდან იმპორტი და შემთხვევითი ბიბლიოთეკიდან გადატანა. მეორეც, ჩვენ დაგვჭირდება პროგრამის ძირითად ნაწილში კოდში შევსება შემდეგი ნაბიჯები: შევქმნათ ფანჯარა, დავაყენოთ სათაურის ფანჯარა, შევქმნათ GUI და აჩვენოთ GUI და დაველოდოთ მომხმარებლის ურთიერთქმედებას. ეს კოდი დაწერილია სათანადო ფორმატირებით Tkinter ბიბლიოთეკასთან დაკავშირებით (შეხედეთ ინსტრუქციაში მოცემულ კოდს შესაბამისი ფორმატირების სანახავად).

ნაბიჯი 3: შექმენით GUI (მენიუ და მაღაროების ბადე)

შექმენით GUI (მენიუ და მაღაროების ბადე)
შექმენით GUI (მენიუ და მაღაროების ბადე)
შექმენით GUI (მენიუ და მაღაროების ბადე)
შექმენით GUI (მენიუ და მაღაროების ბადე)
შექმენით GUI (მენიუ და მაღაროების ბადე)
შექმენით GUI (მენიუ და მაღაროების ბადე)
შექმენით GUI (მენიუ და მაღაროების ბადე)
შექმენით GUI (მენიუ და მაღაროების ბადე)

ახსნა:

პროგრამის დაწყებისთანავე გაშვებული იქნება მენიუს ეკრანი. სირთულის არჩევის შემდეგ (მენიუს ეკრანზე სირთულის ერთ -ერთ ღილაკზე დაჭერით), GUI უნდა განახლდეს ნაღმების გამწმენდი ბადის, ჩვენების და გადატვირთვის ღილაკით. ვინაიდან თქვენ ახლახან იწყებთ მუშაობას GUI– ზე, ჩვენ მხოლოდ მენიუს ამოქმედება დაგვჭირდება, მენიუს სირთულის ღილაკები ამოქმედდება და GUI– ს განახლება თამაშის ეკრანზე ნაღმების გამწმენდი ბადის საშუალებით.

პირველ რიგში, ჩვენ შეგვიძლია მენიუს ეკრანი გამოჩნდეს პროგრამის დაწყებისთანავე "setupMenu" მეთოდის გამოძახებით MainGUI კლასის კონსტრუქტორში.

მეორე, ჩვენ შეგვიძლია თითოეული მენიუს სირთულის ღილაკი შეასრულოს კოდის გარკვეული ხაზი, როდესაც დაჭერილია "პროცესის" მეთოდის დამატებით (ასევე უნდა დაემატოს ბრძანება lambda: self.process ("returnButtonName") გამოყენებული ღილაკის ფუნქციის პარამეტრებში თითოეული სირთულის ღილაკის შექმნისას). სამი თუ სხვა განცხადება შეიქმნება "პროცესის" მეთოდით და შეასრულებს დამატებით კოდის ზოგიერთ სხვა მეთოდს და ხაზს იმის მიხედვით, თუ რას უდრის ღილაკი (ღილაკი უდრის რასაც ღილაკის სახელი იყო ბოლო რეგისტრირებული).

მესამე, სანამ მენიუს ეკრანი მაღლა დგას და თუ მომხმარებელი დააწკაპუნებს სირთულის ერთ ღილაკზე, მაშინ პროგრამა დაზოგავს გარკვეულ მნიშვნელობას "სირთულის" ცვლადში (სირთულე უდრის "ადვილად", "საშუალო" ან "მძიმე" რომელი სირთულის ღილაკზეა დაწკაპუნებული). ღილაკის ამ დაწკაპუნებამ იცის რომელი სხვა შემთხვევაში უნდა დაიცვას რომელი ღილაკის სახელი იყო ბოლოს რეგისტრირებული (რა ღილაკს უდრის). გარდა ამისა, "სირთულის" ცვლადის ხელახლა მინიჭებისათვის დაგვჭირდება ეს არის კლასის გარეთ.ასე ჩვენ დავაყენებთ "სირთულის" ცვლადს როგორც ცარიელ სტრიქონს "MainGUI" კლასის შექმნამდე.

მეოთხე, გაასუფთავეთ GUI ღილაკი "setupMenu" მეთოდით "clearMenu" მეთოდის გამოყენებით (button.destroy () ფუნქციის გამოყენებით მრავალ შემთხვევაში) და "clearMenu" მეთოდის გამოძახებით "პროცესის" მეთოდით (ქვეშ სირთულის თითოეული ღილაკი რეგისტრირდება სირთულის ცვლადი მინიჭების შემდეგ).

მეხუთე, განაახლეთ GUI "setSLASHresetGUI" მეთოდის გამოყენებით (ღილაკები კეთდება ისევე, როგორც "setupMenu" მეთოდში) და "setSLASHresetGUI" მეთოდის გამოძახებით "პროცესის" მეთოდით (თითოეული სირთულის ღილაკის ქვეშ რეგისტრირდება სირთულის ცვლადი დანიშვნა და "clearMenu" მეთოდის გამოძახება).

გარდა ამისა, სანამ ყველა ღილაკი დაინიშნოს "setSLASHresetGUI" მეთოდით, ჩვენ უნდა დავაკონფიგურიროთ სტრიქონები და სვეტები ქსელში და მას შემდეგ რაც ყველა ღილაკი მიენიჭება "setSLASHresetGUI" მეთოდით ჩვენ უნდა ჩავალაგოთ ყველა შინაარსი ქსელში (შეხედეთ კოდი მოცემულია ინსტრუქციებში, რომ ნახოთ შესაბამისი ფორმატირება).

ნაბიჯი 4: გააკეთეთ ღილაკები თამაშის ეკრანზე ოპერატიული

გააკეთეთ ღილაკები თამაშის ეკრანზე ოპერატიული
გააკეთეთ ღილაკები თამაშის ეკრანზე ოპერატიული
გააკეთეთ ღილაკები თამაშის ეკრანზე ოპერატიული
გააკეთეთ ღილაკები თამაშის ეკრანზე ოპერატიული
გააკეთეთ ღილაკები თამაშის ეკრანზე ოპერატიული
გააკეთეთ ღილაკები თამაშის ეკრანზე ოპერატიული
გააკეთეთ ღილაკები თამაშის ეკრანზე ოპერატიული
გააკეთეთ ღილაკები თამაშის ეკრანზე ოპერატიული

ახსნა:

იმისათვის, რომ ღილაკებმა დააწკაპუნონ კოდის გარკვეულ ხაზებზე, ჩვენ უნდა შევასრულოთ მეთოდები "პროცესის" მეთოდის ფარგლებში. ამ ამოცანის შესასრულებლად, ჩვენ მოგვიწევს მრავალი ახალი მეთოდის, ცვლადის და სიის შექმნა.

პირველ რიგში, ჩვენ გავაკეთებთ ორ სიას. იქნება სია, სახელწოდებით "ბადე". ეს "ბადის" სია შედგება მხოლოდ მთელი რიცხვებისგან 9 და 0. ამ სიაში ცხრა წარმოადგენს ბომბებს, ხოლო ნულები-არა ბომბებს. ეს არის ის, თუ როგორ განასხვავებს პროგრამა კრამიტი არის ბომბი თუ არა. გაკეთდება მეორე სია და მას დაერქმევა "სტატუსი". ეს "სტატუსის" სია შედგება მხოლოდ ერთი სიმბოლოთი ("0", "1", "2", "3", "4", "5", "6", "7", "8", "b "). ამ სიაში, თითოეული სიმბოლო სიმბოლო შეესაბამება გარკვეულ სურათს. ეს არის ის, თუ როგორ პროგრამა იცნობს რა სურათის ჩვენება თითოეულ ღილაკს მაღაროების ქსელში. მაღაროს გამწმენდის ქსელის თითოეულ ღილაკს ექნება შესაბამისი ინდექსი თითოეულ სიაში, მისი ქსელში განთავსების საფუძველზე. შესაბამისი ინდექსი გადაეცემა შემდეგ პროცედურას (ღილაკის ნომერი - 1). მაგალითად, თითოეული სიის ღილაკის შესაბამისი ინდექსი არის ნულოვანი ინდექსი. და ბოლოს, ეს ორი სია შესრულდება "MainGUI" კლასის დაწყებამდე და შეიქმნება "MainGUI" კლასის გარეთ. "ბადის" კლასი შეიქმნება ცარიელი სიის სახით (grid = ) და "სტატუსის" სია შეიქმნება დიაპაზონის ფუნქციით ("სტატუსის" სიაში "n" - ს ორმოცდაათი სიმბოლო სტრიქონის დამატება).

მეორე, ჩვენ შევიმუშავებთ სხვადასხვა მეთოდებს, რომელთა საშუალებითაც შესაძლებელი იქნება ნაპოვნი ნაღმების რაოდენობის დადგენა და ღილაკზე დაჭერისას გამოძახება (რომელი მეთოდის გადაწყვეტილება უნდა განისაზღვროს ღილაკის განთავსებით). სწორედ ამ მეთოდებს ეწოდება ჩვენი ნაღმების ანალიზატორი. ეს მეთოდები გაზრდის მრიცხველს სახელწოდებით "NumOfMines" და გამოიყენებს გარკვეულ ინდექსებს "ქსელის" სიაში, რათა დადგინდეს რამდენი ბომბი გარს კრამიტს. სტრიქონი, რომელიც შეინახება ცვლადში "NumOfMines", გამოყენებული იქნება იგივე სტატუსის სიაში "სტატუსის" სიაში. ახლა თქვენ შეიძლება გაგიკვირდეთ, როგორ იცის პროგრამამ რომელი ინდექსი გამოიყენოს. როდესაც ღილაკი დარეგისტრირდება "პროცესის" მეთოდით, მაშინ შეიქმნება/გადანაწილდება ცვლადი "ინდექსი" გარკვეულ მთელ რიცხვზე (რა სტრიქონის საფუძველზე დაარეგისტრირებს ღილაკი). შექმნილი ერთ -ერთი მეთოდი გამოიყენებს იმ მინიჭებულ ინდექსს, რათა იცოდეს კრამიტის განთავსება და მის გარშემო არსებული ფილების ინდექსები (მეთოდის ალგორითმი ამას გაარკვევს). გარდა ამისა, "ინდექსის" ცვლადის ხელახლა მინიჭების მიზნით, ჩვენ დაგვჭირდება მისი ინსტალაცია კლასის გარეთ. ასე რომ, ჩვენ განვათავსებთ "ინდექსის" ცვლადს, როგორც მთელი ნული, სანამ "MainGUI" კლასი შეიქმნება.

მესამე, შეიქმნება "ოპერაციის" მეთოდები. "ოპერაციის" მეთოდი შესრულდება ყოველ ჯერზე, როდესაც ღილაკი რეგისტრირდება. ეს "ოპერაციის" მეთოდები შესრულდება "პროცესის" მეთოდით. "პროცესის" მეთოდით, if-else განცხადებები განსაზღვრავს რომელ ღილაკს დააწკაპუნეს (იმის მიხედვით, თუ რას უდრის ღილაკი). ეს არის სადაც გარკვეული "ოპერაციის" მეთოდი იქნება გამოძახებული (თუ სხვა განცხადებებში).

მეოთხე, ჩვენ რეალურად შევეხებით როგორ მუშაობს ღილაკები. როგორც უკვე აღვნიშნეთ, თუ სხვა რამ არის განლაგებული "პროცესის" მეთოდით და ასრულებს დამატებით კოდის სხვა მეთოდებსა და ხაზებს იმისდა მიხედვით, თუ რას უდრის ღილაკი (ღილაკი უდრის რასაც სიმებიანი იყო ბოლო რეგისტრირებული). ამ სხვა განცხადებების ფარგლებში, შემდეგი მოხდება თანმიმდევრობით: ინდექსი გლობალურად გადანაწილდება, "სტატუსის" სიის შესაბამისი ინდექსი გადანაწილდება სტრიქონზე "b" (თუ "ბადის" სიის შესაბამისი ინდექსი უდრის მთელი ცხრა), შესრულდება შესაბამისი "ოპერაციის" მეთოდი (თუ "ბადის" სიის შესაბამისი ინდექსი უდრის მთელ რიცხვს ნულს), "სტატუსის" სიის შესაბამისი ინდექსი გადანაწილდება სტრიქონზე, რომელიც უდრის ცვლადს "NumOfMines" (თუ "ბადის" სიის შესაბამისი ინდექსი უდრის მთელ რიცხვს ნულს) და GUI განახლდება "setSLASHresetGUI" მეთოდის გამოძახებით.

ნაბიჯი 5: "setDifficulty" მეთოდი და "გადატვირთვის" მეთოდი

გამოსახულება
გამოსახულება
გამოსახულება
გამოსახულება

ახსნა:

შემდეგი, "setDifficulty" მეთოდი უნდა შეიქმნას და თამაშის ეკრანის ბოლოში მდებარე გადატვირთვის ღილაკი გახდება ოპერატიული (შექმნის "გადატვირთვის" მეთოდის გამოყენებით, როდესაც ის დაწკაპუნდება მომხმარებლის მიერ).

პირველ რიგში, "setDifficulty" მეთოდი უნდა იქნას გამოყენებული "სხვა" სირთულის ღილაკების "პროცესის" მეთოდით და "გადატვირთვის" მეთოდში. ამ მეთოდით შესრულებული კოდისა და მეთოდების სტრიქონები საკმაოდ მარტივია. "SetDifficulty" მეთოდით, ჩვენ დავამატებთ გარკვეული რაოდენობის ნულებს (არა-ბომბებს) და ცხრა (ბომბებს) "ბადის" სიაში (ორი დიაპაზონის ფუნქციის საშუალებით თითოეულ სხვა განცხადებაში), შემდეგ კი ჩვენ გადავაბრუნებთ "ქსელის" სია (შემთხვევითი ბიბლიოთეკის გადახვევის ფუნქციით) "setDifficulty" მეთოდის ფარგლებში (თუ სხვა განცხადებების შესრულების შემდეგ). ნულებთან და ცხრებთან თანაფარდობა განისაზღვრება იმით, თუ რა სტრიქონზეა მითითებული ცვლადი "სირთულე" ("ადვილი": 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" მეთოდით. პირველი თუ სხვა განცხადება ყოველთვის შესრულდება იმისდა მიუხედავად მოთამაშემ გაიმარჯვა თუ არა როდესაც ეს მეთოდია მოწოდებული. იმის საფუძველზე, თუ რას უდრის ცვლადი „სირთულე“, გარკვეული ალგორითმი, რომელიც განსაზღვრავს რამდენი ნაღმი/ბომბი დარჩა დამალული. ამ ალგორითმის მიერ ნაპოვნი მთელი რიცხვი შეინახება ცვლადში "NumOfMinesLEFT". შემდეგ, ორ სხვა განცხადების შორის სხვა ალგორითმი შესრულდება დარჩენილი ფილების რაოდენობის მოსაძებნად (დაუწკაპუნებელი ფილები). ამ ალგორითმის მიერ ნაპოვნი მთელი რიცხვი შეინახება ცვლადში "NumOfStartingTilesLEFT". მეორე თუ სხვაგან განცხადება ყოველთვის შესრულდება იმისდა მიუხედავად, მოიგო მოთამაშემ თუ არა, როდესაც ეს მეთოდია მოწოდებული. იმისდა მიხედვით, თუ რას უდრის ცვლადი "სირთულე", სამი თუდან ერთი დებულება შეიძლება შესრულდეს, თუ მათი პირობები დაკმაყოფილებულია. პირობები დაეფუძნება იმას, რასაც უდრის ორი ცვლადი "NumOfMinesLEFT" და "NumOfStartingTilesLEFT". ამ სამი სხვა განცხადების ფარგლებში შესრულდება ალგორითმი, რომელიც თითოეულ ღილაკს გამოუსადეგარს გახდის (თამაში დასრულებულია).

მეორე, როდესაც მომხმარებელი დააჭერს ერთ -ერთ ფარული ბომბის ფილს, მაშინ უნდა შესრულდეს "GameOver" მეთოდი. ჩვენ დავასრულებთ ამ ამოცანას "GameOver" მეთოდის გამოძახებით ყოველ ჯერზე, როდესაც კრამიტს დააწკაპუნებთ და ფილა აღმოჩნდება ბომბის ფილა ("პროცესის" მეთოდით შესრულებული "ოპერაციის" მეთოდების ფარგლებში). როდესაც გამოცხადდება "GameOver" მეთოდი, შესრულდება ალგორითმი, რომელიც თითოეულ დაწყებულ ფილას გამოუსადეგარს გახდის (თამაში დასრულებულია) და გამოჩნდება ფარული ბომბის ფილები ("ინდექსების" მიხედვით "ბადის სიაში", გარკვეული ინდექსები) "სტატუსის" სიაში გადანაწილდება ერთჯერადი სიმბოლო "b").

მესამე, თამაშის ეკრანის ჩვენება განახლდება ყოველ ჯერზე, როდესაც GUI განახლდება "setSLASHresetGUI" მეთოდის ძალიან მცირედი ცვლილებებით. GUI ქსელის კონფიგურაციის შემდეგ, ჩვენ განვათავსებთ სამ თუ სხვა განცხადებას, სადაც განთავსებულია ეკრანის ღილაკის მიმდინარე დავალება. სამი სხვა თუ სხვა განცხადება შესრულდება იმის საფუძველზე, თუ რას უდრის შემდეგი ცვლადები: "GameOverDETECTOR", "სირთულე," NumOfMinesLEFT "და" NumOfStartingTilesLEFT ". როგორც თქვენ შეიძლება გაინტერესებთ, ცვლადი" GameOverDETECTOR "არის ახალი ცვლადი. ეს ცვლადი შეიქმნება მანამ, სანამ სხვა განცხადებები შესრულდება "setSLASHresetGUI" მეთოდით. "GameOverDETECTOR" ცვლადი იქნება მთლიანი რიცხვისა, რომელიც მოიძებნება ალგორითმის გამოყენებით, რომელიც პოულობს რამდენ ინდექსს "ქსელში" სია გადანაწილდა მთელ ოთხმოცდაცხრამეტ რიცხვზე (როგორ ხდება ღილაკების გამოუყენებლობა). რომლის საფუძველზეც სხვა შემთხვევაში განაცხადის პირობები დაკმაყოფილებულია, ეკრანზე შესაბამისი გადანაწილება მოხდება.

ნაბიჯი 7: გადატვირთვის ღილაკის ფუნქციონირება

გადატვირთვის ღილაკის ფუნქციონირება
გადატვირთვის ღილაკის ფუნქციონირება

ახსნა:

ეს ნაბიჯი ყველაზე მოკლეა. ამ ნაბიჯის უმრავლესობა უკვე შესრულებულია. ყველაფერი რაც ჩვენ გვჭირდება ახლა არის "გადატვირთვის" მეთოდის შესრულება ყოველ ჯერზე, როდესაც მომხმარებლის მიერ გადატვირთვის ღილაკს დააწკაპუნებთ.

პირველი და ბოლოს, ჩვენ შევასრულებთ "გადატვირთვის" მეთოდს "პროცესში" მეთოდით if-else განცხადებით. თუ სტრიქონი "!" დარეგისტრირებულია, შემდეგ შესრულდება "გადატვირთვის" მეთოდი. ჩვენ ასევე უნდა შევქმნათ ღილაკი სახელწოდებით გადატვირთვა "setSLASHresetGUI" მეთოდის ბოლოს, სანამ ქსელის შინაარსი ერთად იქნება შეფუთული. ეს გადატვირთვის ღილაკი დაამუშავებს სტრიქონს "!" (ბრძანება lambda: self.process ("!")) და შეასრულეთ შესაბამისი "გადატვირთვის" მეთოდი "პროცესის" მეთოდის ფარგლებში.

გირჩევთ: