1 00:00:00,877 --> 00:00:06,001 დავუბრუნდეთ ჩვენს სახატავ პროგრამას. დღეს აქ ტექსტს დავამატებთ. 2 00:00:06,001 --> 00:00:10,552 ახლა მინდა ყოველი ვინსტონი წარწერის ქვეშ მოვათავსო 3 00:00:10,552 --> 00:00:13,210 მისი ცხოვრების სხვადასხვა ეტაპები რომ გამოჩნდეს. 4 00:00:13,210 --> 00:00:15,747 ალხა ვინსტონი ყველგანაა 5 00:00:15,747 --> 00:00:20,449 ეს იმიტომ, რომ ჩვენ faceX-სა და faceY-ს შემთხვევითად ვირჩევთ შიგნით ფუნქციაში 6 00:00:20,449 --> 00:00:26,714 ჩვენ კი გვინდა ზუსტი ადგილი მივუთითოთ, სადაც ვინსტონი უნდა დაიხატოს 7 00:00:26,714 --> 00:00:30,316 ყოველ ჯერზე, როცა ამ ფუნქციას გამოვიძახებ, მინდა შემეძლოს ადგილის მითითება 8 00:00:30,316 --> 00:00:33,908 ისევე, როგორც ellipse()-ისა და rect()-ის შემთხვევაში 9 00:00:34,048 --> 00:00:40,460 ვინსტონი მინდა დავსვა აქ, აქ, ერთი აქ და ერთი ვინსტონიც აქ 10 00:00:40,460 --> 00:00:44,023 აღარ მინდა ის შემთხვევით ადგილას დაიხატოს ყოველ ჯერზე, როცა ფუნქციას ვიძახებ 11 00:00:44,113 --> 00:00:48,882 ამისთვის ფუნქციას უნდა მივუთითოთ პარამეტრები 12 00:00:48,882 --> 00:00:52,811 ორივე პარამეტრი უნდა მივუთითოთ ჩვენი ფუნქციის აღწერაში აი აქ, ზემოთ 13 00:00:52,811 --> 00:00:57,302 და გადავცეთ შესაბამისი მნიშვნელობები აქ, ქვემოთ, სადაც ვიძახებთ. 14 00:00:57,302 --> 00:01:02,210 drawWinston()-ს გადავცემთ faceX-სა და faceY-ს 15 00:01:02,210 --> 00:01:09,058 ეს მნიშვნელობები ფუნქციამ უნდა გამოიყენოს შემთხვევითების მაგივრად. 16 00:01:09,058 --> 00:01:14,657 ახლა ვიფიქროთ, რა უნდა გადავცეთ ფუნქციის გამოძახებისას, ქვემოთ 17 00:01:14,657 --> 00:01:18,441 ჩვენ ვსვამთ ვინსტონს ყოველი წარწერის ქვეშ 18 00:01:18,441 --> 00:01:24,491 ასე რომ გადაცემული x და y იმის მსგავსი უნდა იყოს, რაც text()-ს გადავეცით 19 00:01:24,491 --> 00:01:28,196 შეიძლება y 10 პიქსელით დაბლა ავიღოთ 20 00:01:28,196 --> 00:01:32,166 ეს იქნება 10 და 30 21 00:01:32,166 --> 00:01:37,091 ეს კი 200 და 230 22 00:01:37,091 --> 00:01:39,671 10 და 230 23 00:01:39,671 --> 00:01:40,901 200 და 230 24 00:01:40,901 --> 00:01:44,863 იგივე რიცხვებს ვიღებ, რაც წარწერების კოორდინატები, ოღონდ ყოველ y-ს 10-ს ვუმატებ 25 00:01:44,863 --> 00:01:47,405 იმიტომ რომ მინდა, რომ ოდნავ დაბლა დავხატო 26 00:01:49,985 --> 00:01:52,451 ვინსტონი არ გადაწეულა 27 00:01:52,451 --> 00:01:57,017 ზემოთ აღწერილი ფუნქციისთვის არ გვითქვამს, რომ პარამეტრებს გადავცემთ 28 00:01:57,017 --> 00:01:59,177 და ის ისევ შემთხვევით რიცხვებს იყენებს 29 00:01:59,177 --> 00:02:03,603 იმისთვის, რომ ფუნქციამ გაიგოს, რომ პარამეტრებს გადავცემ 30 00:02:03,603 --> 00:02:08,398 პარამეტრებს ამ ფრჩხილებში სახელები უნდა დავარქვათ. 31 00:02:08,398 --> 00:02:14,106 დავარქვათ მათ faceX და faceY, შუაში მძიმე 32 00:02:14,106 --> 00:02:20,704 ეს სახელები იმიტომ ავარჩიეთ, რომ ამავე სახელებს ფუნქციაში ვიყენებთ 33 00:02:20,704 --> 00:02:23,472 ასე კოდის თავიდან დაწერა არ მოგვიწევს. 34 00:02:23,472 --> 00:02:28,813 მაგრამ ისევ არაფერი შეცვილია, ვინსტონი ისევ იქვეა. 35 00:02:28,813 --> 00:02:31,353 თუ ფუნციის სულ ზედა ნაწილს ჩახედავთ 36 00:02:31,353 --> 00:02:35,263 ნახავთ, რომ faceX-სა და faceY-ს შემთხვევით მნიშვნელობებს ვანიჭებთ. 37 00:02:35,263 --> 00:02:38,793 უბრალოდ ეს ხაზები უნდა წავშალოთ 38 00:02:38,793 --> 00:02:45,457 ახლა faceX-ისა და faceY-ის მნიშვნელობები ფუნქციას გადაეცემა 39 00:02:45,457 --> 00:02:49,581 და ეს ის მნიშვნელობებია, რომლებით აქ მივუთითეთ. 40 00:02:49,581 --> 00:02:52,501 ვინსტონი მთლად სწორ ადგილებში ვერ დავსვი 41 00:02:52,501 --> 00:02:58,832 დამავიწყდა, რომ წარწერის ადგილი განისაზღვრება ზედა მარცხენა კუთხით 42 00:02:58,832 --> 00:03:00,942 ხოლო სახის ადგილი - ცენტრის მიხედვით 43 00:03:02,661 --> 00:03:06,383 უნდა შევცალო ჩემი რიცხები აქ 44 00:03:06,383 --> 00:03:12,608 x საკმაოდ უნდა შევცვალო, ეს კი აქ დავსვა 45 00:03:12,608 --> 00:03:18,028 ვცვლი იმ მნიშვნელობები, რომლებსაც ფუნქციას გადავცემთ 46 00:03:18,028 --> 00:03:22,518 ფუნქციის აღწერა არ არის შესაცვლელი 47 00:03:22,518 --> 00:03:25,758 ის იმ მნიშვნელობებს იღებს, რომელსაც ჩვენ გადავცემთ. 48 00:03:25,758 --> 00:03:28,388 ისივე, როგორც ellipse() და rect() 49 00:03:28,388 --> 00:03:33,348 ადგილი ავარჩიე, მაგრამ ახლა შევამჩნიე, რომ ვინსტონი ზედმეტად დიდია 50 00:03:33,348 --> 00:03:35,756 ვინსტონები ერთმანეთს ედება და ეკრანზე არ ეტევა 51 00:03:35,756 --> 00:03:39,019 მას ხატავს კოდი, რომელიც ამ ფუნქციაში მოვათავსე 52 00:03:39,019 --> 00:03:42,374 შემიძლია ყველა ვინსტონის ზომა ერთად შევცვალო 53 00:03:42,374 --> 00:03:45,439 ამისთვის მხოლოდ იმ ხაზის შეცვლაა საჭირო, რომელიც ელიპსს ხატავს 54 00:03:45,439 --> 00:03:50,626 თუ მათ შევცვლით, ვთქვათ, 190-ით, ვინსტონი გახდება 190-ჯერ 55 00:03:50,626 --> 00:03:54,844 ახლა ის უკეთ ეტევა 56 00:03:54,844 --> 00:03:59,232 შემიძლია გავაგრძელო, რათა ვინსტონი მთლიანად შიგნით მოვათავსო. 57 00:03:59,232 --> 00:04:01,902 მშვენიერი 58 00:04:01,902 --> 00:04:06,071 შევაჯამოთ. რას აკეთებს ეს კოდი: 59 00:04:06,071 --> 00:04:08,531 ის განსაზღვრავს ფუნქციას drawWinston() 60 00:04:08,531 --> 00:04:14,673 და ამბობს, რომ ის ორ მნიშვნელობას იღებს - faceX-სა და faceY-ს 61 00:04:14,673 --> 00:04:19,949 ეს მნიშვნელობები შემოდიან როგორც ცვლადები, რომლებიც ფუნქციაში შეგვიძლია გამოვიყენოთ 62 00:04:19,949 --> 00:04:23,055 ისევე, როგორც ცვლადები, რომლებსაც ზემოთ გამოვაცხადეთ 63 00:04:23,055 --> 00:04:29,113 და შემდეგ ამ ფუნქციას ვიძახებთ ნებისმიერ დროს, მას შემდეგ რაც გამოვაცხადებთ 64 00:04:29,113 --> 00:04:33,711 შეგვიძლია მას განსხვავებული მნიშვნელობები გადავცეთ 65 00:04:33,711 --> 00:04:37,650 თქვენ ნახეთ, რა კარგ საშუალებებს გვაძლევენ ფუნქციები 66 00:04:37,650 --> 00:04:42,509 შეგვიძლია დავწეროთ ისეთი კოდი, რომლის ბევრჯერ გამოყენება კარგი იქნება 67 00:04:42,509 --> 00:04:46,460 ასევე შეგვიძლია გამოვიყენოთ პარამეტრები, რაღაცების შეცვლა რომ შეგვეძლოს 68 00:04:46,460 --> 00:04:49,405 ეს რეცეპტს ჰგავს. გვაქვს ზოგადი ისნტრუქციები 69 00:04:49,405 --> 00:04:52,880 და თუკი მიხვდით, რომ უცებ ოთხი ვინსტონის კვება გახდა საჭირო ერთის მაგივრად 70 00:04:52,880 --> 00:04:55,941 არ მოგიწევთ თავიდან დაიწყოთ, უბრალოდ შეცვლით საწყის ინსტრუქციებს 71 00:04:55,941 --> 00:04:57,632 და ყველაფერს ოთხზე გაამრავლებთ 72 00:04:57,632 --> 00:05:02,205 ახლა შეგიძლია იფიქროთ თქვენს კოდზე როგორც რეცეპტზე