ეხლა როცა თქვენ უკვე ისწავლეთ loop ფუნქციის საფუძვლები,
მოდით ვნახოთ როგორ დავწეროთ ისეთი მაგარი loop-ი,
როგორიც ეს ლამაზ ცაში მოტივტივე Ballon Hopper-ი.
რადგან ვიწყებ ამის წერას თავიდან, მინდა რომ იფიქროთ თქვენით
როგორ გააკეთებდით, იმიტომ რომ სულ მალე მოგიწევთ.
თავდაპირველად, ყოველთვის გაგიმარტივებთ პროგრამის დაწერას, საფეხურებად დაყოფა.
დავიწყებთ ამ ბუშტების დაწერით, რომელიც არის იგივე ellipse ფუნქცია
გამოერებული ბევრჯერ და ეტყობა რომ loop-ის საქმეა.
შემდეგ დავამატებთ ამ ხაზებს, და ბოლოს დავამატებთ თვით Balloon Hopper-ს.
კარგით, აგერ ცარიელი დაფა, რომელმაც შეიძლება შეგაშინოთ.
ხანდახან, საქმეს უფრო გაგიმარტივებთ და უფრო მეგობრულს გახდის,
ფონის დამატება, რომ ადვილად ჩაერთოთ პროცესში.
რადგან ჩვენ გვინდა დავწეროთ loop-ი, თქვენი პირველი ფიქრი loop-ის
ის საკითხები უნდა იყოს, რაც წინაზე ვისწავლეთ.
ეხლა ამას სწრაფად გავაკეთებთ, ამიტომ თუ გჭირდებათ გამეორება,
თავიდან ნახეთ "While Loop-ების შესავალი".
პირველი კითხვა: "რისი გამეორება გვინდა?"
მოდით ვცადოთ პირველი ბუშტის დაწერა, და შემდეგ ამ ბუშტს გავიმეორებთ.
შეგიძლიათ დაიწყოთ ასე, ან ასე, და... ეს ცოტა პატარაა, კარგ ადგილასაც არ ზის,
ამიტომ მოდით ცოტა გავწიოთ.
ეს პროგრამირების ის ნაწილია, სადაც რაღაცას აკეთებთ, შემდეგ ხვდებით რომ ის არ არის
რაც გინდოდათ, შემდეგ თავიდან ცდილობთ და უფრო უახლოვდებით იმას რაც გინდათ.
კარგით, ეხლა ალბათ გვინდა რომ დავამატოთ ფერი, არა? ამაზე არ გვიფიქრია, როცა
საფეხურებზე ვფიქრობდით, ამიტომ შეგვიძლია ვთქვათ, რომ ეს ბუშტის დაწერის ნაწილია.
კარგით? შემდეგ, ჩვენ უნდა მოვიფიქროთ, როგორ გვინდა რომ იცვლებოდეს
ჩვენი ბუშტი loop ფუნქციის დროს.
ჩვენ გვინდა რომ, ბუშტი იყოს დახატული ეკრანის გასწვრივ, ხომ?
ჩვენ გვინდა რომ ეხატოს აქ, და შემდეგ აქ, და შემდეგ აქ,
ანუ ჩვენ გვინდა რომ ეს გააკეთოს კომპიუტერმა, რადგან მე ხატვა არ მეხერხება.
ჩვენ შეგვიძლია ეს ოდნავ გავაყალბოთ პირველი რიცხვის შეცვლით, რომელიც როგორც გახსოვთ
აკონტროლებს x-პოზიციას: პოზიციას გვერდებზე.
მაგრამ, მგონი ცოტა უშნოდ გამოიყურება, არა?
ისეთი მაგარი სურათი არ არის რაც თავიდან გვქონდა.
ამის მაგივრად, მოდით ეს იყოს x, x პოზიციისთვის, და ჩვენ გავაკეთებთ ცვლადს,
ისეთს დაახლოებით რაც იყო თავიდან.
ეხლა, ჩვენ შევცვლით ამ ცვლადს loop-ის შიგნით, ანუ გამოვიყენებთ while loop-ს,
და შემდეგ ამ loop-ის შიგნით, ვიტყვით რომ x შეიცვალოს ყოველ ჯერზე, ვთქვათ 20-ით.
თუ ამ ellipse ოდნავ გავწევთ, ძალიან ფრთხილად, რათქმაუნდა, რომ არ შევეხოთ
ცვლადის ფუნქციას შიგნით,
რადგან შემდეგ უნდა ვიფიქროთ რა არის არასწორი.
ისე, შეგიძლიათ ამის გაკეთება თქვენით, თუ გაინტერესებთ.
კარგით, ეხლა ჩვენი loop-ის მესამე კითხვა არის - "რამდენჯერ გვინდა რომ გავიმეოროთ?"
შეგვიძლია გავიმეოროთ მანამ, სანამ ეკრანს არ გაცდება გვერდზე.
შეიძლება იქამდე სანამ x ნაკლებია 400-ზე.
ეხლა უკვე კარგია, რადგან რაღაც ხდება, ხომ?
მაგრამ ეს მთლიანად ის არ არის რაც წარმოვიდგინეთ.
როგორც წინაზე, ჩვენ ისევ თავიდან უნდა გავაიროთ და ნელ-ნელა გავამარტივოთ,
რომ მივიდეთ იქამდე რაც ჩავიფიქრეთ.
ეს ellipse ფუნქციები ცოტა აზელილია ერთმანეთში, ამიტომ მოდით გავასწოროთ.
კარგია ცოტა ადგილი მივცეთ, რომ ისუნთქონ.
მაგრამ იცით, მგონი მაინც ცოტათი სცდებიან ეკრანს, თუ შევუცვლით ბოლო წერტილს,
გავაქრობთ ellipse-ებს რომლებიც არიან აქ, რადგან ჩვენ ვიძახით რომ,
როგორც კი x მოვა აქ, შეწყვიტე წერა.
ამას ამბობს while loop-ის ეს ნაწილი.
კარგით? ასევე შეგვიძლია ვთქვათ, "იქნებ ellipse-ების შეცვლა გვინდა ცოტათი",
გვინდა რომ ყველა ქვემოთ ჩამოვიტანოთ,
გვინდა რომ ცოტა ზომა შევუცვალოთ, და კარგი რამ while loop-ების ის არის რომ
ეს ყველაფერი შეგვიძლია გავაკეთოთ ერთდროულად.
კარგით. მშვენიერია.
ამ ბუშტების შემხვედვარე, კარგი იქნება თუ თოკებს მოვაბამთ.
თუ მოგვწონს, მაშინ უნდა მოვაბათ თოკები,
წინააღმდეგ შემთვევაში გაფრინდებიან.
ჩვენ გვჭირდება ხაზი თითოეული მათგანისთვის. ვფიქრობთ რომ შეგვიძლია გავაკეთოთ ისე,
რომ ხაზი იწყებოდეს ყოველი ბუშტის ცენტრიდან,
რომ გავამარტივოთ... და ყველა ჩამოდის ერთ წერტილში, შეიძლება აი ასე.
როგორ უნდა გავაკეთებინოთ ეს პროგრამას, დახატვის მაგივრად?
შეგვიძლია ვიფიქროთ რომ, თუ გვინდა რომ რაღაც გავიმეოროთ, ყველა ვარიანტში უნდა
ჩავსვათ ამ while loop-ში, მოდით დავიწყოთ და გავაკეთოთ ეს ხაზი
და თუ გვინდა რომ იყოს ამ ellipse-ს ცენტრში, მაშინ ჩვენ უნდა დავიწყოთ
ამ ორი კოორდინატიდან, რომ გამოგვივიდეს.
აქვე შეგვიძლია დავამთავროთ, ან სადაც გინდათ. ეს საკმაოდ ახლოს არის!
მაგრამ, კვლავ, იდეალური არ არის, ალბათ უკვე ხვდებით, რომ უნდა გავასწოროთ.
მოდით თავიდან ეს უშნო რაღაც გამოვასწოროთ.
რაც არის რომ, ეს ხაზი რომელიც დავწერეთ, გადადის ჩვენ ბუშტზე, რაც არ არის კარგი.
ჩვენ გვინდა, რომ ეს ellipse ფარავდეს ხაზს, რაც შეგვიძლია გავაკეთოთ
თანმიმდევრობის შეცვლით.
ალბათ ამჩნევთ, ბევრი რამ რაც ისწავლეთ, ყველფერი აქ გვხვდება ერთად.
კარგია, მაგრამ იქნებ ამ ხაზებს ფერი შევუცვალოთ. როგორ გავაკეთებდით ამას,
თუ მართლა ჩვენით ვაკეთებთ პროგრამას?
ჩვენ ვნახავდით დოკუმენტაციას.
ან ვუყურებდით დოკუმენტაციის ვიდეოს, თუ არ ვიცით როგორ გავაკეთოთ.
ჩვენ ვიყენებეთ stroke(), რომ დავსვათ სასურველი ფერი ამ ხაზებზე,
და იყოს, არ ვიცი, იქნებ ეს ფერი?
ლამაზია! ბოლოს დაგრვჩა რომ დავხატოთ Hopper–ი. ამისთვის საჭიროა
რომ ჩავსვათ ის როგორც სურათი,
და თქვენ ხედავთ დოკუმენტაციას, თუ როგორ გამოვსახე ეს ციფრებით, და ცოტას გავწევ,
რომ ეს ეს ბუშტები ხელში დავაჭერინო
და იტივტივოს ცაში.
მზადაა! შეგიძლიათ გაალამაზოთ ბუშტები, მაგალითად შეგიძლიათ დაამატოთ ასეთ რაღაცა
ამ loop-ზე, რომ უკეთესად გამოიყურებოდეს
და ასევე შეგიძლიათ loop-ის გამოყენება შემდეგ ნახატზე.