1 00:00:00,000 --> 00:00:00,280 2 00:00:00,280 --> 00:00:02,970 >> SPEAKER 1: Misalkan sekarang bahwa aku ingin untuk memberikan Scratch kemampuan 3 00:00:02,970 --> 00:00:05,080 bersin juga. 4 00:00:05,080 --> 00:00:07,710 Nah, naluri pertama saya akan menjadi, seperti sebelumnya, untuk membuat 5 00:00:07,710 --> 00:00:10,070 blok, sebut bersin ini. 6 00:00:10,070 --> 00:00:14,110 Tentukan bahwa saya ingin menentukan dengan angka berapa kali 7 00:00:14,110 --> 00:00:15,800 Scratch harus bersin. 8 00:00:15,800 --> 00:00:17,540 Setelah itu klik OK. 9 00:00:17,540 --> 00:00:20,370 Biarkan aku pindah ini ke kanan untuk memberi diriku beberapa ruang lagi. 10 00:00:20,370 --> 00:00:26,070 >> Dan kemudian membiarkan saya lagi pergi ke Ulangi, override default 10 dengan n. 11 00:00:26,070 --> 00:00:29,610 Biarkan aku pergi ke pernyataan mengatakan dan janganlah kamu mengatakan "hello", tetapi 12 00:00:29,610 --> 00:00:32,350 "Achoo" untuk satu detik. 13 00:00:32,350 --> 00:00:35,180 Kemudian mengambil istirahat sejenak. 14 00:00:35,180 --> 00:00:36,040 Dan itu saja. 15 00:00:36,040 --> 00:00:39,220 >> Sekarang saya memiliki blok yang disebut bersin, serta blok yang disebut batuk. 16 00:00:39,220 --> 00:00:46,550 Sehingga jika saya ingin Gores batuk dan bersin, saya hanya dapat menentukan 17 00:00:46,550 --> 00:00:48,580 bersin bawah batuknya. 18 00:00:48,580 --> 00:00:49,930 Tiga kali, katakan. 19 00:00:49,930 --> 00:00:55,560 Klik bendera hijau, dan aku harus lihat memang, batuk, batuk, batuk. 20 00:00:55,560 --> 00:01:01,880 Diikuti oleh Achoo, Achoo, Achoo. 21 00:01:01,880 --> 00:01:04,180 Bersin paling realistis saya sampai saat ini. 22 00:01:04,180 --> 00:01:09,240 >> Sekarang perhatikan sesuatu yang buruk tentang desain ini. 23 00:01:09,240 --> 00:01:11,930 Meskipun saya tidak duplikat langsung setiap potongan puzzle, saya 24 00:01:11,930 --> 00:01:15,020 pasti menyeret dan menjatuhkan cantik banyak potongan-potongan teka-teki yang sama, memberikan 25 00:01:15,020 --> 00:01:18,660 satu fungsi yang pernah jadi sedikit nama yang berbeda dari yang lain, bersin 26 00:01:18,660 --> 00:01:19,640 dibandingkan batuk. 27 00:01:19,640 --> 00:01:23,410 Jadi ini adalah kesempatan bagi anjak beberapa kode umum. 28 00:01:23,410 --> 00:01:27,020 Memang, melihat satu-satunya perbedaan antara batuk dan bersin adalah salah satu yang 29 00:01:27,020 --> 00:01:30,710 memiliki Scratch pepatah "batuk," kata lain yang mengatakan "Achoo." 30 00:01:30,710 --> 00:01:35,010 >> Jadi tidak bisa kita entah bagaimana generalisasi ini kode sedemikian rupa sehingga kita hanya 31 00:01:35,010 --> 00:01:37,990 menentukan apa kata kita inginkan untuk Gores untuk tinggal? 32 00:01:37,990 --> 00:01:41,170 Dan tergantung pada kata itu, itu akan efektif menjadi batuk atau 33 00:01:41,170 --> 00:01:42,370 itu akan menjadi bersin. 34 00:01:42,370 --> 00:01:43,580 Jadi mari kita pergi ke depan dan melakukan hal ini. 35 00:01:43,580 --> 00:01:49,500 Mari kita membuat fungsi ketiga dan panggilan yang satu ini, "katakan." dan saya ingin 36 00:01:49,500 --> 00:01:53,360 menerima, bukan hanya nomor, tapi kali ini string, atau dikenal sebagai 37 00:01:53,360 --> 00:01:54,980 kata atau frase. 38 00:01:54,980 --> 00:01:57,500 >> And we'll call this "word." 39 00:01:57,500 --> 00:01:59,500 Dan berapa kali saya ingin mengatakan kata ini? 40 00:01:59,500 --> 00:02:02,680 Nah mari kita tentukan nomor, menyebutnya lagi n. 41 00:02:02,680 --> 00:02:05,540 Dan hanya untuk membuat blok ini lebih dibaca, biarkan aku pergi ke depan dan menambahkan 42 00:02:05,540 --> 00:02:11,000 label yang disebut "kali." Sehingga bila Anda membaca blok ini dari kiri ke kanan, itu 43 00:02:11,000 --> 00:02:14,380 harfiah mengatakan "mengucapkan kata n kali." 44 00:02:14,380 --> 00:02:15,760 >> Sekarang biarkan aku pergi ke depan dan klik OK. 45 00:02:15,760 --> 00:02:18,320 46 00:02:18,320 --> 00:02:22,750 Dan sekarang biarkan aku menerapkan blok ini, lagi menggunakan blok ulangi. 47 00:02:22,750 --> 00:02:25,680 Menentukan bahwa saya ingin untuk mengulangi n kali. 48 00:02:25,680 --> 00:02:29,480 Menentukan bahwa saya ingin mengatakan sesuatu untuk satu detik. 49 00:02:29,480 --> 00:02:33,750 Namun, bukannya sesuatu yang sulit kode ke dalam fungsi ini, mari kita malah seret 50 00:02:33,750 --> 00:02:36,450 dan drop kata yang telah berlalu masuk 51 00:02:36,450 --> 00:02:38,790 Mari kita kemudian menunggu selama satu detik. 59 00:02:39,297 --> 00:02:43,387 Jadi sekarang biarkan aku kembali dan memperbaiki saya implementasi dari batuk dan bersin, 60 00:02:43,387 --> 00:02:47,367 sedemikian rupa bahwa kedua fungsi memanggil fungsi ketiga ini, sehingga 61 00:02:47,367 --> 00:02:49,627 meminimalkan jumlah dari duplikat kode. 62 00:02:49,627 --> 00:02:52,237 Jadi mari kita benar-benar melemparkan kode ini pergi. 63 00:02:52,237 --> 00:02:54,037 Mari kita membuang kode ini pergi. 64 00:02:54,037 --> 00:02:57,707 Dan kali ini, mari kita hanya menentukan bahwa batuk harus dilaksanakan oleh 65 00:02:57,707 --> 00:03:02,607 mengatakan "batuk" beberapa nomor n kali. 66 00:03:02,607 --> 00:03:06,987 >> Dan juga, bisa kita kembali dan kembali menerapkan bersin sehingga menggunakan 67 00:03:06,987 --> 00:03:13,577 mengatakan dengan argumen dari "Achoo" n kali. 68 00:03:13,577 --> 00:03:14,687 Jadi apa yang kita lakukan? 69 00:03:14,687 --> 00:03:18,417 Kami telah diakui kode yang sama untuk kedua batuk dan kami kami 70 00:03:18,417 --> 00:03:22,127 bersin fungsi, faktor itu menjadi fungsi ketiga baru, dan kemudian 71 00:03:22,127 --> 00:03:25,377 ditulis ulang batuk dan bersin sedemikian dengan cara yang mereka sebut itu 72 00:03:25,377 --> 00:03:27,177 Fungsi ketiga dan baru. 73 00:03:27,177 --> 00:03:30,297 >> Sekarang kita telah benar-benar membuat seluruh ini program yang lebih rumit dari yang 74 00:03:30,297 --> 00:03:31,377 benar-benar perlu. 75 00:03:31,377 --> 00:03:34,307 Setelah semua, pada akhir hari, kita hanya perlu Scratch batuk tiga kali 76 00:03:34,307 --> 00:03:35,587 dan bersin tiga kali. 77 00:03:35,587 --> 00:03:38,007 Dan kita bisa melakukan itu dengan hanya beberapa potongan puzzle. 78 00:03:38,007 --> 00:03:41,197 Tapi seperti program kami mendapatkan lebih banyak rumit, dan program kita lebih 79 00:03:41,197 --> 00:03:45,257 canggih, teknik ini anjak keluar kode umum, atau 80 00:03:45,257 --> 00:03:49,007 hirarkis membusuk program Anda ke dalam fungsi yang lebih kecil, yang masing-masing 81 00:03:49,007 --> 00:03:51,846 memanggil fungsi-fungsi lainnya, adalah sangat teknik menarik. 82 00:03:51,846 --> 00:03:55,627 Karena akan memastikan bahwa kode Anda, bahkan karena mendapat lebih kompleks, sisa-sisa 83 00:03:55,627 --> 00:03:58,087 mudah untuk memperbarui dan juga sangat mudah dibaca. 84 00:03:58,087 --> 00:03:59,627 >> Memang, mempertimbangkan hasil akhir. 85 00:03:59,627 --> 00:04:03,917 Ketika bendera hijau diklik, batuk tiga kali, bersin tiga kali. 86 00:04:03,917 --> 00:04:05,007 Dan itu saja. 87 00:04:05,007 --> 00:04:07,007 Bahkan, mari kita melakukan hal itu. 88 00:04:07,007 --> 00:04:12,187 Klik bendera hijau dan kami mendapatkan satu batuk, batuk dua, tiga batuk. 89 00:04:12,187 --> 00:04:18,607 Diikuti oleh, kami berharap, sekali bersin, dua bersin, dan bersin ketiga. 90 00:04:18,607 --> 00:04:19,857 Berharap dia akan lebih baik segera. 91 00:04:19,857 --> 00:04:20,892