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