WEBVTT 00:00:00.877 --> 00:00:06.001 დავუბრუნდეთ ჩვენს სახატავ პროგრამას. დღეს აქ ტექსტს დავამატებთ. 00:00:06.001 --> 00:00:10.552 ახლა მინდა ყოველი ვინსტონი წარწერის ქვეშ მოვათავსო 00:00:10.552 --> 00:00:13.210 მისი ცხოვრების სხვადასხვა ეტაპები რომ გამოჩნდეს. 00:00:13.210 --> 00:00:15.747 ალხა ვინსტონი ყველგანაა 00:00:15.747 --> 00:00:20.449 ეს იმიტომ, რომ ჩვენ faceX-სა და faceY-ს შემთხვევითად ვირჩევთ შიგნით ფუნქციაში 00:00:20.449 --> 00:00:26.714 ჩვენ კი გვინდა ზუსტი ადგილი მივუთითოთ, სადაც ვინსტონი უნდა დაიხატოს 00:00:26.714 --> 00:00:30.316 ყოველ ჯერზე, როცა ამ ფუნქციას გამოვიძახებ, მინდა შემეძლოს ადგილის მითითება 00:00:30.316 --> 00:00:33.908 ისევე, როგორც ellipse()-ისა და rect()-ის შემთხვევაში 00:00:34.048 --> 00:00:40.460 ვინსტონი მინდა დავსვა აქ, აქ, ერთი აქ და ერთი ვინსტონიც აქ 00:00:40.460 --> 00:00:44.023 აღარ მინდა ის შემთხვევით ადგილას დაიხატოს ყოველ ჯერზე, როცა ფუნქციას ვიძახებ 00:00:44.113 --> 00:00:48.882 ამისთვის ფუნქციას უნდა მივუთითოთ პარამეტრები 00:00:48.882 --> 00:00:52.811 ორივე პარამეტრი უნდა მივუთითოთ ჩვენი ფუნქციის აღწერაში აი აქ, ზემოთ 00:00:52.811 --> 00:00:57.302 და გადავცეთ შესაბამისი მნიშვნელობები აქ, ქვემოთ, სადაც ვიძახებთ. 00:00:57.302 --> 00:01:02.210 drawWinston()-ს გადავცემთ faceX-სა და faceY-ს 00:01:02.210 --> 00:01:09.058 ეს მნიშვნელობები ფუნქციამ უნდა გამოიყენოს შემთხვევითების მაგივრად. 00:01:09.058 --> 00:01:14.657 ახლა ვიფიქროთ, რა უნდა გადავცეთ ფუნქციის გამოძახებისას, ქვემოთ 00:01:14.657 --> 00:01:18.441 ჩვენ ვსვამთ ვინსტონს ყოველი წარწერის ქვეშ 00:01:18.441 --> 00:01:24.491 ასე რომ გადაცემული x და y იმის მსგავსი უნდა იყოს, რაც text()-ს გადავეცით 00:01:24.491 --> 00:01:28.196 შეიძლება y 10 პიქსელით დაბლა ავიღოთ 00:01:28.196 --> 00:01:32.166 ეს იქნება 10 და 30 00:01:32.166 --> 00:01:37.091 ეს კი 200 და 230 00:01:37.091 --> 00:01:39.671 10 და 230 00:01:39.671 --> 00:01:40.901 200 და 230 00:01:40.901 --> 00:01:44.863 იგივე რიცხვებს ვიღებ, რაც წარწერების კოორდინატები, ოღონდ ყოველ y-ს 10-ს ვუმატებ 00:01:44.863 --> 00:01:47.405 იმიტომ რომ მინდა, რომ ოდნავ დაბლა დავხატო 00:01:49.985 --> 00:01:52.451 ვინსტონი არ გადაწეულა 00:01:52.451 --> 00:01:57.017 ზემოთ აღწერილი ფუნქციისთვის არ გვითქვამს, რომ პარამეტრებს გადავცემთ 00:01:57.017 --> 00:01:59.177 და ის ისევ შემთხვევით რიცხვებს იყენებს 00:01:59.177 --> 00:02:03.603 იმისთვის, რომ ფუნქციამ გაიგოს, რომ პარამეტრებს გადავცემ 00:02:03.603 --> 00:02:08.398 პარამეტრებს ამ ფრჩხილებში სახელები უნდა დავარქვათ. 00:02:08.398 --> 00:02:14.106 დავარქვათ მათ faceX და faceY, შუაში მძიმე 00:02:14.106 --> 00:02:20.704 ეს სახელები იმიტომ ავარჩიეთ, რომ ამავე სახელებს ფუნქციაში ვიყენებთ 00:02:20.704 --> 00:02:23.472 ასე კოდის თავიდან დაწერა არ მოგვიწევს. 00:02:23.472 --> 00:02:28.813 მაგრამ ისევ არაფერი შეცვილია, ვინსტონი ისევ იქვეა. 00:02:28.813 --> 00:02:31.353 თუ ფუნციის სულ ზედა ნაწილს ჩახედავთ 00:02:31.353 --> 00:02:35.263 ნახავთ, რომ faceX-სა და faceY-ს შემთხვევით მნიშვნელობებს ვანიჭებთ. 00:02:35.263 --> 00:02:38.793 უბრალოდ ეს ხაზები უნდა წავშალოთ 00:02:38.793 --> 00:02:45.457 ახლა faceX-ისა და faceY-ის მნიშვნელობები ფუნქციას გადაეცემა 00:02:45.457 --> 00:02:49.581 და ეს ის მნიშვნელობებია, რომლებით აქ მივუთითეთ. 00:02:49.581 --> 00:02:52.501 ვინსტონი მთლად სწორ ადგილებში ვერ დავსვი 00:02:52.501 --> 00:02:58.832 დამავიწყდა, რომ წარწერის ადგილი განისაზღვრება ზედა მარცხენა კუთხით 00:02:58.832 --> 00:03:00.942 ხოლო სახის ადგილი - ცენტრის მიხედვით 00:03:02.661 --> 00:03:06.383 უნდა შევცალო ჩემი რიცხები აქ 00:03:06.383 --> 00:03:12.608 x საკმაოდ უნდა შევცვალო, ეს კი აქ დავსვა 00:03:12.608 --> 00:03:18.028 ვცვლი იმ მნიშვნელობები, რომლებსაც ფუნქციას გადავცემთ 00:03:18.028 --> 00:03:22.518 ფუნქციის აღწერა არ არის შესაცვლელი 00:03:22.518 --> 00:03:25.758 ის იმ მნიშვნელობებს იღებს, რომელსაც ჩვენ გადავცემთ. 00:03:25.758 --> 00:03:28.388 ისივე, როგორც ellipse() და rect() 00:03:28.388 --> 00:03:33.348 ადგილი ავარჩიე, მაგრამ ახლა შევამჩნიე, რომ ვინსტონი ზედმეტად დიდია 00:03:33.348 --> 00:03:35.756 ვინსტონები ერთმანეთს ედება და ეკრანზე არ ეტევა 00:03:35.756 --> 00:03:39.019 მას ხატავს კოდი, რომელიც ამ ფუნქციაში მოვათავსე 00:03:39.019 --> 00:03:42.374 შემიძლია ყველა ვინსტონის ზომა ერთად შევცვალო 00:03:42.374 --> 00:03:45.439 ამისთვის მხოლოდ იმ ხაზის შეცვლაა საჭირო, რომელიც ელიპსს ხატავს 00:03:45.439 --> 00:03:50.626 თუ მათ შევცვლით, ვთქვათ, 190-ით, ვინსტონი გახდება 190-ჯერ 00:03:50.626 --> 00:03:54.844 ახლა ის უკეთ ეტევა 00:03:54.844 --> 00:03:59.232 შემიძლია გავაგრძელო, რათა ვინსტონი მთლიანად შიგნით მოვათავსო. 00:03:59.232 --> 00:04:01.902 მშვენიერი 00:04:01.902 --> 00:04:06.071 შევაჯამოთ. რას აკეთებს ეს კოდი: 00:04:06.071 --> 00:04:08.531 ის განსაზღვრავს ფუნქციას drawWinston() 00:04:08.531 --> 00:04:14.673 და ამბობს, რომ ის ორ მნიშვნელობას იღებს - faceX-სა და faceY-ს 00:04:14.673 --> 00:04:19.949 ეს მნიშვნელობები შემოდიან როგორც ცვლადები, რომლებიც ფუნქციაში შეგვიძლია გამოვიყენოთ 00:04:19.949 --> 00:04:23.055 ისევე, როგორც ცვლადები, რომლებსაც ზემოთ გამოვაცხადეთ 00:04:23.055 --> 00:04:29.113 და შემდეგ ამ ფუნქციას ვიძახებთ ნებისმიერ დროს, მას შემდეგ რაც გამოვაცხადებთ 00:04:29.113 --> 00:04:33.711 შეგვიძლია მას განსხვავებული მნიშვნელობები გადავცეთ 00:04:33.711 --> 00:04:37.650 თქვენ ნახეთ, რა კარგ საშუალებებს გვაძლევენ ფუნქციები 00:04:37.650 --> 00:04:42.509 შეგვიძლია დავწეროთ ისეთი კოდი, რომლის ბევრჯერ გამოყენება კარგი იქნება 00:04:42.509 --> 00:04:46.460 ასევე შეგვიძლია გამოვიყენოთ პარამეტრები, რაღაცების შეცვლა რომ შეგვეძლოს 00:04:46.460 --> 00:04:49.405 ეს რეცეპტს ჰგავს. გვაქვს ზოგადი ისნტრუქციები 00:04:49.405 --> 00:04:52.880 და თუკი მიხვდით, რომ უცებ ოთხი ვინსტონის კვება გახდა საჭირო ერთის მაგივრად 00:04:52.880 --> 00:04:55.941 არ მოგიწევთ თავიდან დაიწყოთ, უბრალოდ შეცვლით საწყის ინსტრუქციებს 00:04:55.941 --> 00:04:57.632 და ყველაფერს ოთხზე გაამრავლებთ 00:04:57.632 --> 00:05:02.205 ახლა შეგიძლია იფიქროთ თქვენს კოდზე როგორც რეცეპტზე