WEBVTT 00:00:01.259 --> 00:00:03.602 აი სად გავჩერდით წინა coin-flipping თამაშზე. 00:00:03.602 --> 00:00:06.597 დავიწყეთ შემთხვევითი ციფრის წარმოქმნით ნულსა და ერთს შორის, 00:00:06.597 --> 00:00:08.877 შემდეგ ვამრგვალებდით უახლოს ცვლად რიცხვამდე. 00:00:08.877 --> 00:00:12.214 ეს გვაძლევდა რიცხვს რომელიც იყო ნული ან ერთი. 00:00:12.214 --> 00:00:15.909 შემდეგ მოვახდინეთ ამის ილუსტრაცია რეალური მონეტით, ამ ellipse ფუნქციით, 00:00:15.909 --> 00:00:18.909 რომელიც იყო იასამნისფერი ან ყვითელი, იმის და მიხედვით რა ციფრი წარმოიქმნდებოდა. 00:00:18.909 --> 00:00:20.987 აგერ კოდი რითაც გავაკეთეთ ეს. 00:00:20.987 --> 00:00:22.819 თუ integer უდრის ნულს შევსების კოდი იყოს იასამნისფერი, 00:00:22.819 --> 00:00:25.819 წინააღმდეგ შემთხვევაში იყოს ყვითელი. 00:00:25.819 --> 00:00:27.917 შემდეგ დავწერეთ მონეტა აქ. 00:00:27.917 --> 00:00:30.755 მაგრამ ეხლა გადავწყვიტე, რომ ჩემ მონეტას აქვს სამი მხარე. 00:00:30.755 --> 00:00:32.455 დიახ, სამ-გვერდიანი მონეტა. 00:00:32.455 --> 00:00:34.190 მოდით დავამატოთ ეს მესამე მხარე. 00:00:34.190 --> 00:00:37.109 დავიწყებ რიცხვის შექმნით ნულიდან ორამდე, 00:00:37.109 --> 00:00:41.533 მას შემდეგ რაც დავამრგვალებთ, მომცემს ცვლადს რომელიც იქნება 0, 1 ან 2. 00:00:41.533 --> 00:00:45.609 მაგრამ თუ შევხედავ ჩვენ დაწერილ კოდს, ჩვენ მხოლოდ ორ შემთხვევას განვიხილავთ აქ. 00:00:45.609 --> 00:00:48.815 თუ integer არის ნული, იყოს იასამნისფერი, წინააღმდეგ შემთხვევაში იყოს ყვითელი. 00:00:48.815 --> 00:00:51.885 მაგრამ ახლა, წინააღდეგი შემთხვევა შეიძლება იყოს 1 ან 2. 00:00:51.885 --> 00:00:54.931 მოიცადეთ, რა იქნებოდა რომ გამეკეთებინა იგივე რაც წინაზე, 00:00:54.931 --> 00:00:57.403 მაგრამ ამ else ბლოკში. მე უბრალოდ დავწერ: 00:00:57.403 --> 00:01:05.783 თუ intiger უდრის ერთს, მაშინ ფერი იყოს ყვითელი, როგორც იყო წინაზე, 00:01:05.783 --> 00:01:11.403 წინააღმდეგ შემთხვევაში, ფერი იყოს წითელი. წითელი საკმაოდ კარგია. 00:01:11.403 --> 00:01:15.478 ეს ნიშნავს რომ, თუ integer უდრის ნულს, ფერი იყოს იასამნისფერი, 00:01:15.478 --> 00:01:18.984 წინააღმდეგ შემთხვევაში, თუ არის ერთი, იქნება ყვითელი; 00:01:18.984 --> 00:01:21.611 წინააღმდეგ შემთხევაში, რაც ნიშნავს რომ, თუ არც ნულია და არც ერთი, 00:01:21.611 --> 00:01:24.611 მაშინ იქნება ორი, და ფერი იყოს წითელი. 00:01:24.611 --> 00:01:28.566 ვაჭერ განახლებას რამოდენიმეჯერ. მუშაობს! 00:01:28.566 --> 00:01:30.996 შემდეგ თუ მინდა დავამატო კიდევ რამოდენიმე მხარე ჩემ მონეტას, 00:01:30.996 --> 00:01:34.987 მივალ აქ, გავხდი ნულიდან სამამდე, შემდეგ გადავალ else ბლოკში 00:01:34.987 --> 00:01:37.987 და დავამატებ მეტ if-else ფუნქციებს და ა.შ. 00:01:37.987 --> 00:01:40.158 სანამ არ მექნება უამრავი ბლოკი. 00:01:40.158 --> 00:01:44.704 და მხოლოდ მაშინ მივხვდები, რომ ეს კოდი არის საშინელი! უაზრო! 00:01:44.704 --> 00:01:48.901 კოდი უნდა იყოს მარტივი წასაკითხი და ლამაზი, და არა უშნო. 00:01:48.901 --> 00:01:50.620 აი რას გავაკეთებთ ეხლა ჩვენ: 00:01:50.620 --> 00:01:55.675 როცა გაქვთ ერთი if ბრძანება ან if-else ბრძანება else ბლოკში, 00:01:55.675 --> 00:01:58.313 რაც ნიშნავს რომ ამ ბლოკებს გარეთ არაფერ არ ვაკეთებთ, 00:01:58.313 --> 00:02:04.486 აღარ ვანიჭებთ მეტ ფერებს, აღარ გვაქვს მეტი if ბრძანებები. 00:02:04.486 --> 00:02:08.444 გვაქვს მხოლოდ ერთი if ბრძანება, და შეიძლება მოყვება else ბლოკი. 00:02:08.444 --> 00:02:13.156 შემდეგ ჩვენ შეგვიძლია შევაერთოთ ეს პირობა წინა ხაზით და დავწეროთ: 00:02:13.156 --> 00:02:17.073 else if integer უდრის ერთს, ფერი იყოს ყვითელი. 00:02:17.073 --> 00:02:22.509 შემდეგ ეს უკანასკნელი else ბლოკი არ ზის არსად, გვხვდება სულ ბოლოში. 00:02:22.509 --> 00:02:27.067 კარგია! ეს ნიშნავს რომ, თუ integer უდრის ნულს, ფერი იყოს იასამნისფერი, 00:02:27.067 --> 00:02:30.235 წინააღმდეგ შემთხვევაში, თუ integer უდრის ერთს, იყოს ყვითელი 00:02:30.235 --> 00:02:34.484 წინააღმდეგ შემთხვევაში, თუ ეს ორივე მცდარია, ფერი იყოს წითელი. 00:02:34.484 --> 00:02:37.738 ვაჭერ განახლებას რამოდენიმეჯერ და მაინც მუშაობს. 00:02:37.738 --> 00:02:41.824 კარგია! მაგარი ის არის რომ, შეგვიძლია გვქონდეს იმდენი else-if რამდენიც გვინდა, 00:02:41.824 --> 00:02:44.703 რაც ძალიან მიმარტივებს მხარეების დამატებას ჩემს მონეტაზე. 00:02:44.703 --> 00:02:48.009 მოდით ეხლა ეს ვცადოთ. მე შევქმნი რიცხვს ნულიდან სამამდე, 00:02:48.009 --> 00:02:51.125 შემდეგ უბრალოდ დავამტებ კიდევ ერთ else ბლოკს, 00:02:51.125 --> 00:02:57.065 რომელიც ამბობს else if intiger უდრის ორს, 00:02:57.065 --> 00:02:59.658 ჩვენ დავაყენბთ ფერს... წინაზე იყო წითელი და დავტოვოთ წითელი. 00:02:59.658 --> 00:03:03.338 შემდეგ ეს უკანასკნელი ბლოკი იქნება, როცა integer უდრის სამს, 00:03:03.338 --> 00:03:08.969 ფერი იყოს ლურჯი. კარგია! 00:03:08.969 --> 00:03:12.816 ძალიან კარგი. ეს რომ გააკეთოთ, ყოველთვის უნდა დაიწყოთ if ბრძანებით, 00:03:12.816 --> 00:03:16.600 შემდეგ შეგიძლიათ გქონდეთ რამდენი else-if ფუნქციაც გინდათ, 00:03:16.600 --> 00:03:18.698 და ეს ბოლო არის სურვილისამბრ. 00:03:18.698 --> 00:03:21.900 შეგვიძლია მის გარეშეც, მაგრამ შემდეგ შეიძლება ყველა ეს გამოვიდეს მცდარი, 00:03:21.900 --> 00:03:23.722 და არც ერთი ბლოკი არ შესრულდება. 00:03:23.722 --> 00:03:30.484 მაგრამ სანამ ეს გვაქვს აქ, ზუსტად ერთ-ერთი ბლოკი გაეშვება. 00:03:30.484 --> 00:03:34.017 მაგარია? ეს არის შემთხვევა სადაც არ აქვს მნიშვნელობა 00:03:34.017 --> 00:03:37.017 თუ დაწერთ if else-if else-if else, 00:03:37.017 --> 00:03:42.509 ან უბრალოდ გამოიყენებთ ძველ if ბრძანებას რომელიც გვქონდა დასაწყისში, 00:03:42.509 --> 00:03:45.509 თუ integer უდრის სამს. 00:03:45.509 --> 00:03:50.728 ეს იმიტომ რომ, შეუძლებელია integer უდრიდეს ნულს და შემდეგ ასევე ერთს, ორს ან სამს. 00:03:50.728 --> 00:03:54.223 კარგია. ეს პირობები არის ურთიერთ გამომრიცხავი. 00:03:54.223 --> 00:03:56.609 მხოლოდ ერთ-ერთი ბლოკი გაეშვება მაინც. 00:03:56.609 --> 00:03:58.278 მაგრამ ეს ყველა შემთხვევა არ არის. 00:03:58.278 --> 00:04:01.636 რა იქნება თუ თამაშს ავაწყობთ ცვლადის დამრგვალების გარეშე? 00:04:01.636 --> 00:04:04.485 მოვაშორებ დამრგვალების ფუნქციას, 00:04:04.485 --> 00:04:06.640 და შემდეგ მეორე ნაწილს სადაც ვხატავთ ეკრანზე. 00:04:06.640 --> 00:04:09.284 მოდით ახალი წესები მოვიგონოთ ამ თამაშში. 00:04:09.284 --> 00:04:12.637 მე კლავ წარმოვქმნი რიცხვს ნულიდან სამამდე, 00:04:12.637 --> 00:04:15.315 დავადოთ რამოდენიმე ნიშანი ჩვენ რიცხვებს. 00:04:15.315 --> 00:04:23.378 თუ რიცხვი იქნება ნულიდან ერთამდე, გავაფერადოთ იასამნისფრად. 00:04:23.378 --> 00:04:26.153 ეს სულაც არ გამოიყურება როგორც ისამნსიფერი, მაგრამ ხომ მიხვდით. 00:04:26.153 --> 00:04:30.504 შემდეთ თუ არის ერთიდან ორამდე, გავაფერადოთ ყვითლად. 00:04:30.504 --> 00:04:35.533 თუ არის ორიდან სამამდე, იყოს წითელი. 00:04:35.533 --> 00:04:38.651 კარგია. მოდით ვნახოთ როგორ გამოვა if და else-if ფუნქციების გამოყენებით. 00:04:38.651 --> 00:04:43.542 შემიძლია დავიწყო ასე, if რიცხვი ნაკლებია ერთზე, 00:04:43.542 --> 00:04:48.836 ანუ თუ ნაკლებია ერთზე, და ვიცი რომ ეს ნულსა და სამს შორის არის, 00:04:48.836 --> 00:04:55.806 რაც ნიშნავს რომ ამ მონაკვეთშია, დავაყენებ ფერს იასამნისფერზე. 00:04:55.806 --> 00:05:06.432 წინააღმდეგ შემთხვევაში, თუ რიცხვი 2-ზე ნაკლებია, დავაყანებ ყვითელ ფერს... 255... 00:05:06.432 --> 00:05:13.263 და წინააღმდეგ შემთხვევაში, ფერი დავაყენოთ წითელი. 00:05:13.263 --> 00:05:15.596 კარგია! და მუშაობს როგორც გვქონდა ჩაფიქრებული. 00:05:15.596 --> 00:05:19.307 თუ რიცხვი იქნებოდა ერთზე ნაკლები, იქნებოდა ამ მონაკვეთში. 00:05:19.307 --> 00:05:23.603 წინააღდეგ შემთხვევაში, მეტია ან უდრის ერთს, მაგრამ ასევე ნაკლებია ორზე, 00:05:23.603 --> 00:05:26.732 და ამიტომ ხვდება ამ მონაკვეთში და ვანიჭებთ ყვითელ ფერს. 00:05:26.732 --> 00:05:31.900 წინააღმდეგ შემთხვევაში, უნდა იყოს მეტი ან ტოლი ორის, და აღმოჩნდებოდა ამ მონაკვეთში. 00:05:31.900 --> 00:05:36.277 აგერ შემთხვევა, როცა ჩვენ ვერ ვიტყოდით რომ თუ რიცხვი ნაკლები 2-ზე, 00:05:36.277 --> 00:05:39.650 და ნაკლებია სამზე, 00:05:39.650 --> 00:05:42.932 იმიტომ რომ თუ რიცხვი ნაკლებია 1-ზე, მაშინ ყველა ვარიანტში ნაკლებია 2-ზე 00:05:42.932 --> 00:05:44.896 და ასევე ნაკლებია 3-ზე. 00:05:44.896 --> 00:05:46.781 ჩვენი მონატა კი ყოველთვის გამოვა წითელი. 00:05:46.781 --> 00:05:50.781 ამიტომაც ასეთ შემთხვევაში, ძალიან გამოსადეგია else-if ფუნქცია.