ZAMYLA CHAN: Halo, dan selamat datang ke walkthrough Scratch. Nama saya Zamyla dan saya akan memimpin penelusuran untuk Anda tahun ini. Pada CS50, setiap masalah set disertai dengan walkthrough. Selama walkthrough ini saya akan pergi ke minggu ini masalah set, menjelaskan konsep yang diperlukan dan memecah permasalahan yang menjadi gigitan dikelola. Untuk pertama p-set di CS50, kita benar-benar tidak akan masuk ke dalam mengetik dan Mesin barang kode belum cukup. Sebaliknya, kita akan menggunakan Scratch, sebuah program yang memungkinkan kita untuk menjelajahi konsep pemrograman dalam cara visual dan kreatif. Langkah-langkah ini akan mengeksplorasi konsep dasar yang akan kami gunakan seluruh CS50, serta melayani sebagai tutorial Scratch. Dalam setiap langkah-langkah saya akan daftar set alat yang dapat Anda gunakan untuk masalah set. Dari konsep program yang lebih besar untuk yang sebenarnya fungsi, itu baik dan membantu untuk tahu apa yang Anda dilengkapi dengan sebelum mengatasi sejumlah masalah. Pertama, mari kita bicara tentang sprite. Sprite adalah pusat untuk membuat proyek di Scratch. Setiap obyek atau setiap karakter, baik itu kucing, anjing atau bola, disebut sprite. Jika saya ingin, katakanlah, dua kucing dalam proyek saya, Aku harus membuat dua sprite terpisah Scratch, bahkan jika mereka benar-benar identik. Setiap sprite memiliki skrip terkait dengan sprite tertentu. Script adalah apa yang akan Anda akan membangun dengan menyeret dan menjatuhkan blok. Script adalah petunjuk bahwa menentukan dan mendefinisikan bagaimana script berperilaku. Sekarang, sprite tidak hanya gambar. Sebuah kostum sprite menentukan apa yang tampak seperti sprite. Setiap sprite yang diberikan dapat memiliki lebih dari satu kostum. Sedikit kemudian selama walkthrough ini saya akan menunjukkan bagaimana Anda dapat memiliki Anda kostum perubahan sprite selama program Anda. Untuk membuat sprite dalam Scratch, Anda dapat baik memilih kostum awal untuk Perpustakaan Scratch itu, menggambar Anda sendiri dalam Scratch yang built-in editor cat, meng-upload foto Anda sendiri, atau mengambil gambar sebuah dengan kamera komputer Anda. Semua sprite ditempatkan pada apa yang kita sebut panggung. Tahap ini seperti kanvas kita di mana sprite bisa bergerak. Meskipun kita dapat memiliki kelipatan sprite, hanya ada satu tahap. Jika tidak, tahap dan sprite yang cukup serupa dalam tahap kaleng juga memiliki skrip. Script di atas panggung sangat berguna ketika Anda tidak memiliki script yang tidak selalu berhubungan satu sprite tertentu. Mungkin berkaitan dengan beberapa garis-garis, atau tidak sama sekali. Ini desain umumnya baik untuk menempatkan Anda script di atas panggung jika mereka cukup umum dan tidak berhubungan untuk sprite tertentu. Dan seperti sprite memiliki kostum, tahap memiliki latar belakang yang dapat mengubah selama program anda. Dan Anda dapat menarik Anda sendiri, meng-upload gambar, mengambil gambar, atau menggunakan Perpustakaan Scratch dari latar belakang. Kedua panggung dan sprite juga bisa bermain suara dari perpustakaan Scratch, atau Anda dapat meng-upload dan merekam sendiri. Untuk memulai program Scratch Anda Anda akan perlu klik bendera hijau di pojok kanan atas jendela panggung. Tapi jika Anda tidak menghubungkan apa-apa untuk blok ini di sini, maka tidak ada yang benar-benar akan terjadi karena Anda sprite dan panggung perlu diberitahu untuk menanggapi hal tersebut bendera hijau diklik. Jadi, Anda akan perlu melampirkan blok ke alur di bagian bawah hijau bendera, dan kemudian program akan mengeksekusi tindakan tersebut ketika Anda mulai program anda. Nah, apa yang terjadi setelah itu? Nah, Scratch memiliki banyak blok untuk Anda gunakan, dan Anda dapat bahkan membuat Anda sendiri. Anda akan melihat tiga tab, Script, Kostum dan Suara. Di bawah tag Naskah kategori laporan. Laporan yang nyaman diselenggarakan oleh warna. Anda memiliki tindakan yang terkait dengan gerakan, suara, penampilan, dan sebagainya. Meskipun Anda akan memiliki blok lain yang dibangun sekitar pernyataan Anda, itu adalah pernyataan yang akan membantu sprite atau tahap untuk melakukan sesuatu, sedangkan blok lainnya akan membantu menentukan kapan harus melakukannya. Katakanlah Anda membuat Anda sangat proyek pertama dan Anda hanya ingin kucing meow bawah tertentu keadaan. Untuk melaksanakan ini, kita bisa mengambil keuntungan dari Booleans. Ini adalah ekspresi yang mengevaluasi untuk bisa benar atau salah. Dalam Scratch ini diidentifikasi oleh sudut di ujung blok. Anda akan memiliki berbagai jenis dari Booleans seperti adalah mouse ditekan ke bawah, tidak 2 ditambah 2 menyamakan sampai 5, atau pengguna menekan bawah tombol tertentu pada keyboard? Sekarang, Anda tidak bisa hanya menggunakan ini boolean saja. Anda harus menggabungkan mereka dengan apa yang kita sebut kondisi. Kondisi blok dapat ditemukan di laporan kontrol oranye. Kondisi nyaman memiliki sedikit placeholder yang menunjukkan bentuk blok yang Anda butuhkan untuk dimasukkan ke dalamnya. Jadi tergantung pada konteks situasi, Anda dapat memilih Boolean dan tempatkan dalam kondisi Anda. Dan bersama-sama, Anda harus pernyataan kondisional. Setelah Anda menempatkan pernyataan dalam yang memblokir Anda memiliki struktur mengatur dimana sekali kondisi tertentu terpenuhi, Anda kemudian jalankan mereka pernyataan. Salah satu keuntungan dari komputer adalah kekuatan besar dan kecepatan di mana mereka dapat mengeksekusi proses berulang-ulang. Alih-alih, katakanlah, mengulang instruksi berulang-ulang lagi dan benar-benar mengetik yang keluar, atau dalam kasus ini, menyeret dan menjatuhkan dan menyeret dan menjatuhkan, apa yang kita dapat lakukan adalah merangkum dalam satu lingkaran. Loop dapat digunakan untuk mengeksekusi baik hal jauh dengan loop selamanya, atau untuk beberapa set kali. Misalnya, ulangi pernyataan, mengatakan hi, 10 kali, atau mungkin sampai tertentu kondisi benar. Dan dengan ini Ulangi Sampai memblokir Anda melihat Scratch yang mengisyaratkan bahwa Anda harus menempatkan Boolean ke dalam Ulang Sampai blok untuk membuat pernyataan kondisional. Sekarang, kita tahu bahwa kita dapat merangkum proses berulang-ulang dalam loop, sehingga Anda dapat melihat mengapa sesuatu seperti ini mungkin tidak ideal. Ini super panjang, hanya melakukan hal yang sama berulang lagi, 10 kali bahkan. Bergerak 10 langkah, menyapa, bergerak 10 langkah, mengatakan Halo. Tapi dengan bantuan loop kita bisa rapi ini sedikit. Lihat bagaimana ini jauh lebih baik. Ini lebih pendek, itu lebih kecil dan itu selesai hal yang sama. Pindah ke variabel. Variabel pada dasarnya wadah untuk nilai. Dalam Scratch, jenis-jenis nilai dapat baik menjadi kata-kata atau mereka dapat angka, nilai-nilai yang kami memiliki kontrol atas. Dalam blok pertama kami memiliki variabel teks yang berisi nilai, Hello, World. Dalam contoh kedua, itu diasumsikan bahwa kita sudah memiliki variabel bernama Counter dan kita incrementing dengan tiga. Dan kemudian, dalam contoh terakhir, kita melihat contoh variabel yang digunakan dalam kondisi. Dalam blok ini, kami meminta jika variabel Counter adalah kurang dari nol. Sekarang, ketika Anda membuat sebuah variabel Anda harus untuk memutuskan apakah Anda membuat variabel tersedia untuk semua sprite dalam program Scratch Anda, atau hanya untuk sprite spesifik yang dipilih ketika Anda membuat variabel. Dan ini adalah sangat penting keputusan untuk membuat. Ia datang ke apa yang lingkup Anda ingin variabel untuk memiliki. Sebuah contoh dari lingkup lokal akan menjadi variabel hanya untuk satu sprite tertentu, yang berarti hanya sprite yang akan dapat melihat atau memodifikasinya. Jika Anda menentukan sebuah variabel dengan dunia lingkup dengan memilih untuk semua sprite, maka itu berarti bahwa panggung, serta semua sprite, akan dapat melihat, memodifikasi, dan akses yang variabel yang telah Anda buat. Dan dari segi desain, yang terbaik untuk memilih lingkup lokal kapanpun Anda bisa hanya agar sisa sprite dan panggung tidak perlu khawatir tentang melacak variabel tersebut. Anda benar-benar dapat memiliki dua variabel nama yang sama untuk sprite yang berbeda Selama mereka adalah variabel lokal. Sprite satu, kucing, dapat memiliki variabel Nama Counter, dan sprite dua, anjing, juga dapat memiliki variabel bernama Melawan selama ini keduanya variabel lokal. Karena ruang lingkup variabel tidak mencakup seluruh Program, dan tidak ada sprite lainnya atau panggung akan menjadi bingung. Sebelumnya, saya sebutkan entry point, ketika bendera hijau diklik blok. Itu blok dan menyertainya pernyataan dasarnya mengatakan sprite atau panggung, OK, ketika bendera hijau diklik, ini apa yang harus Anda lakukan. Tapi itu bukan satu-satunya peristiwa yang sprite dan panggung dapat merespon. Kami memiliki, misalnya, sebuah acara untuk ketika tombol keyboard ditekan. Anda sebenarnya dapat memilih huruf A sampai Z, nol sampai sembilan atau tombol panah. Ada peristiwa lain juga, seperti seperti ketika sprite Anda diklik. Ketika Anda mulai dengan blok acara seperti ini, Anda akan melihat sebuah tren. Mereka semua memiliki satu kelompok pada bawah dan atas mulus, yang menunjukkan bahwa tidak ada di atas menempel ke blok itu. Anda membangun di bawah peristiwa-peristiwa blok dan membangun ke bawah. Sekarang, apa yang terjadi jika kita ingin beberapa peristiwa terjadi, misalnya, ketika kucing adalah menyentuh bagian tertentu panggung? Kami benar-benar tidak memiliki built-in acara untuk menandakan bahwa, jadi apa kita akan harus lakukan adalah membuat event sendiri. Dan itu disebut penyiaran. Jadi, ketika Anda ingin sinyal bahwa peristiwa tertentu telah terjadi, maka Anda menggunakan disebut Broadcast hitam, yang ditemukan dalam tab Control. Di sana Anda akan mengetikkan nama peristiwa yang Anda ingin menyiarkan, dan maka mana sprite atau tahap dapat bereaksi dengan disiarkan jika Anda inginkan. Ketika saya Menerima blok menceritakan sprite apa yang harus dilakukan ketika mereka sedang diberitahu bahwa kebiasaan Anda peristiwa telah terjadi. Jadi ingat bahwa setiap kali Anda menyiarkan acara, itu dengan pemahaman bahwa salah satu dari sprite atau panggung akan menerima peristiwa itu dan menanggapinya. Sekarang, konsep terakhir sebelum kita mendapatkan untuk contoh aktual dari suatu Scratch Program, adalah konsep benang. Itulah saat komputer Anda mengeksekusi simultan proses pada waktu yang sama. Dan saya yakin kita semua telah mengambil keuntungan dari hal ini. Seperti surfing web sementara mendengarkan musik. Komputer dapat mengeksekusi beberapa hal pada waktu yang sama. Dalam contoh ini di sini, kedua script dapat digunakan untuk sprite yang sama persis. Titik masuk blok, Ketika Hijau Bendera Diklik, digunakan beberapa kali, namun mereka adalah dua script terpisah. Memang, Green Bendera diklik blok mungkin akan menjadi salah satu yang paling blok populer dalam program Anda. Di sini kita melihat bahwa ketika bendera hijau diklik, ada satu proses yang terjadi pada, serta yang lain. Jadi Scratch benar-benar akan menjalankan ini dua pada saat yang sama persis. Dan mengetahui bahwa Anda benar-benar dapat memiliki lebih dari satu titik masuk, bahkan jika itu entry point yang sama, akan harus benar-benar berguna jika Anda ingin tugas yang berbeda yang terpisah dari satu sama lain. Baik. Jadi sekarang kita telah menutupi semua ini konsep, mari kita lihat sebuah contoh. Saya telah membuat serangkaian program Scratch, jadi cobalah untuk mengikuti seperti yang kita membuat permainan kecil. Mari kita mulai dengan membuka Hungry Dino Nol. Mari kita klik bendera hijau untuk memulai dan melihat apa yang dilakukannya. Kami memiliki sprite bug yang bergerak untuk beberapa langkah, me-reset pada beberapa ketinggian, dan kemudian langkah kembali. Dan kemudian kita memiliki dino sprite. Dengan menekan tombol panah, aku akan pindah sprite dino sekitar, sehingga mengubah dan memutar. Itu bisa menjadi semacam menyenangkan, tapi tidak ada sangat banyak script dalam program ini. Kami pasti dapat menambahkan ini. Misalnya, ketika dino bergerak itu sebenarnya bisa turun layar dan hampir menghilang dari situs. Kami ingin mengubah itu karena kami tidak ingin dino melarikan diri. Jadi mari kita hentikan script kami dengan merah bendera dan kemudian mengedit script dino. Perhatikan bahwa script khusus ini memiliki loop selamanya, yang berakhir dengan straight edge. Ia tidak memiliki alur apapun di bagian bawah. Dan ini masuk akal dari nama, loop selamanya. Ini mengeksekusi sesuatu yang jauh dan tidak akan pernah berakhir. Jadi, ini adalah kesempatan besar untuk memperkenalkan benang. Baik. Jadi mari kita tambahkan script lain. Aku akan mulai dengan entri ini titik, Ketika Hijau Bendera diklik. Dan saya ingin terus menerus memeriksa apakah dino akan menjadi menyentuh tepi. Dalam Gerak ada blok kecil yang rapi yang mengatakan, Jika On The Edge Bounce. Dan jadi kami ingin terus melaksanakan ini. Apa pernyataan ini dilakukan adalah memeriksa apakah sprite berada di tepi panggung, dan memantul kembali jika. Dan karena pengguna selalu dapat memindahkan dino, kita ingin menemukan beberapa jenis loop yang memungkinkan kita untuk terus mengeksekusi pernyataan ini. Melihat bawah Control kita akan memilih loop Selamanya. Jadi mari kita tarik bahwa ke dino script, dan kemudian Jika menambahkan On The Edge Bounce. Dan kemudian mari kita coba program kami. Jadi bug tersebut bergerak seperti biasa, dan maka jika kita menguji script baru kami dengan bergerak dino kami ke tepi, kita melihat bahwa itu tidak bisa melarikan diri panggung lagi. Ini memantul segera kembali. Sekarang Anda mungkin bertanya-tanya mengapa dino bounce tapi tidak bug. Nah, itu karena kita menulis terbaru kami Script dalam script dino dan bukan bug. Jadi bug tidak akan mendengarkan instruksi kami memberikan dino. Baik. Jadi mari kita tambahkan sesuatu yang baru sekarang. Jika Anda pergi ke tab Kostum Anda akan melihat bahwa kostum berbeda yang datang dimuat dengan sprite yang dipilih jika Anda memilih salah satu dari Perpustakaan Scratch. Ada kecil ini lucu dino chomp kostum, jadi mari kita menerapkan dino mengunyah ketika kita tekan, mengatakan, tombol Space. Kembali ke script dino. Dalam naskah ini di sini, aku sudah memeriksa loop selamanya apakah tombol panah tertentu ditekan dan memindahkan dino sesuai. Jika mereka meninggalkan panah ditekan, dino berputar berlawanan arah jarum jam. Jika panah kanan ditekan, dino berputar searah jarum jam. Jadi jika panah atas ditekan, maka dino berlangsung ke depan. Kami hanya bisa menambah script bukannya menambahkan terpisah satu karena ini sudah memeriksa dalam tema yang tombol sedang ditekan. Mari kita tambahkan satu yang memeriksa tombol Space ditekan. Blok ini di sini memeriksa untuk tombol ditekan. Mereka semua dalam terang biru, sehingga mari kita pergi ke penginderaan biru cerah pernyataan dan melihat-lihat. Berikut adalah Key spasi Tekan blok. Jadi apa yang kita ingin lakukan adalah memiliki dino beralih ke memotong ke bawah kostum jika, dan hanya jika, Space tombol sedang ditekan. Jadi mari kita meniru struktur di sini. Sekarang, mengubah kostum harus dilakukan dengan bagaimana dino terlihat begitu kita akan pergi ke Lihatlah pernyataan. Dan tentu saja, kita memiliki sebuah Beralih Kostum ke Dino Chomp. Sekarang, ketika kita chomp turun kita tidak ingin dino menjadi mengunyah turun selamanya, jadi mari kita menambahkan pernyataan mengatakan untuk beralih kembali. Ini akan beralih kostum jenis cepat, meskipun, karena dalam laporan Scratch akan mengeksekusi kembali ke belakang benar-benar cepat, hampir seketika. Jadi mari kita pergi ke Pengendalian dan kemudian membuat dino jeda untuk sedikit demi menunggu satu detik setelah chomps bawah. Sekarang mari kita mengedit sprite bug. Bug sprite langkah maju lima langkah total lima kali setelah jeda sesaat. Di blok atas di sini bug menempatkan diri pada tertentu x-koordinat nilai. Untuk menemukan koordinat Anda dapat benar-benar mouse layar dan kemudian di sudut bawah panggung window koordinat akan memperbarui sehingga Anda dapat mengambil keuntungan dari ini berguna fitur untuk menerapkan koordinat yang Anda inginkan. Dan dalam pernyataan ini di sini, kita menginstruksikan bug untuk memulai pada saat yang sama x menghargai setiap waktu, tapi untuk memilih secara acak ketinggian untuk bug yang masih tetap dalam batasan panggung. Lihat di sini bahwa saya mengambil keuntungan dari penyiaran acara Scratch. Event handler ini disebut Bug1 Baru. Jadi setiap kali bug menerima yang Bug1 Acara baru, itu akan mengeksekusi pernyataan tersebut. Jadi setelah itu bergerak maju set jumlah kali, itu benar-benar siaran acara New Bug1. Tapi bagaimana kita mengubah script ini sedikit? Saat ini kami memiliki bug bergerak lima langkah. Itu tidak banyak, total dari lima kali. Kami tidak benar-benar tahu berapa kali akan diperlukan sampai bug mencapai, mengatakan, akhir layar, jadi mari kita membuat tapi mencapai akhir layar, tetapi menggunakan beberapa jenis konstruk lainnya. Aku akan memisahkan ini karena kita akan mengubah beberapa hal. Untuk menghapus blok dari Gores Anda tarik blok ke kiri dan kemudian lepaskan. Dan itu akan dihapus. Jika Anda memutuskan bahwa Anda tidak ingin itu dihapus maka Anda dapat pergi ke Edit dan hapus. Tapi kami ingin mendapatkan menyingkirkan blok itu. Apa yang kami ingin lakukan sekarang adalah bergerak, katakanlah, 50 langkah dan jeda satu detik, dan ulangi ini sampai kita menyentuh akhir layar. Jadi mari kita menggunakan loop yang memungkinkan kita untuk ulangi proses sampai tertentu kondisi terpenuhi, tepat bernama Ulangi Sampai. Apa yang terjadi dalam kondisi dari Ulangi Sampai? Sesuatu yang memberitahu kita apakah bug menyentuh tepi layar, yang akan berada di bawah Laporan Sensing. Berikut Boolean ini, Menyentuh. Dan Anda dapat memilih di sini apa Anda ingin memeriksa. Jadi kita akan memilih Ujung Menyentuh dan menambahkan ini pernyataan kondisional kembali masuk Jadi sekarang jika kita menonton bug kami, itu akan bergerak kembali lagi setelah menyentuh tepi panggung. Besar. Kami selesai dengan Hungry Dino Nol, jadi mari kita buka Hungry Dino One. Jenis seperti acara memasak, saya telah menambahkan sedikit lebih banyak fitur. Misalnya, Anda akan melihat bahwa bug sebenarnya meluncur cukup hanya sekarang sebagai lawan sebelumnya. Dalam gerak sana ini meluncur pernyataan. Sekarang, bug meluncur 70 unit untuk hak eksposisi saat ini, tetapi tetap pada posisi y yang sama di sini. Dan kita sekarang dapat memiliki dino mengunyah seperti yang kita dilaksanakan sebelumnya. Tapi, program ini tidak disebut Hungry Dion untuk apa-apa jadi mari kita memiliki dino makan bug. Bagaimana kita bisa mengatakan bug, atau memberitahu dino, yang telah ditebang? Bagaimana kita bisa berkomunikasi acara ini? Nah, kita tahu bahwa ketika kita beralih kostum untuk dino ke dino chomp bahwa kita telah mengunyah turun. Dan katakanlah kita ingin bug untuk menghilang setelah itu dimakan. Nah, kita harus memeriksa apakah bug telah melahap dan berkomunikasi dengan bug yang akan memiliki untuk menyembunyikan atau menghilang dari layar setelah itu telah mengunyah turun. Jadi, apa jenis konsep, jenis alat yang bisa kita gunakan untuk memiliki dino berkomunikasi dengan bug yang telah mengunyah turun? Penyiaran. Jadi mari kita pergi ke Acara dan menambahkan acara untuk disiarkan. Chomp. OK. Tapi ingat bahwa setelah kami menyiarkan sesuatu yang kita juga harus menerima acara ini. Jadi yang sprite akan menyiarkan chomp? Nah, mari kita memiliki dino melakukan itu ketika tombol Space ditekan. Mari menambahkan blok untuk menerima chomp. Sekarang, ketika dino turun hanya di ruang kosong kita tidak ingin bug untuk bereaksi terhadap itu sama sekali, hanya jika dino menyentuh tetapi pada saat itu dari chomp apakah kita benar-benar melakukan sesuatu. Jadi kita akan menggunakan kondisi Jika karena kita memeriksa apakah ada sesuatu yang benar atau tidak. Sekarang jika kita kembali ke Sensing, maka kita dapat menggunakan Menyentuh memblokir dan pilih Dino. Kemudian, di bawah Looks, kita menemukan Hide ini blok yang pada dasarnya akan membuat bug menghilang dari panggung. Kami akan membuatnya bersembunyi, tapi kita lakukan ingin bug lain, kan? Dino kami lapar. Jadi kami ingin memberikannya lain bug mengejar. Jadi mari kita juga disiarkan acara New Bug1. Kecuali kita ingin menunggu untuk sementara waktu sebelum bug lain muncul, jadi mari kita juga menunggu satu detik. Baik. Jadi mari kita lihat ini. Kami mengunyah turun, tapi menghilang, satu lagi muncul, dan kami chomp bawah di atasnya lagi. Hal ini tampak seperti cukup permainan menyenangkan, tapi semua game perlu mencetak gol, kan? Jadi apa yang bisa kita gunakan untuk melacak berapa banyak bug dino telah dimakan? Sebuah variabel. Jadi mari kita tambahkan sebuah variabel yang disebut Skor. Dan sekarang kita harus memutuskan apa yang lingkup variabel ini memiliki. Jadi mari kita berpikir. Sementara kita mungkin ingin tapi untuk meningkatkan skor jika sudah berhasil dimakan, dan panggung mungkin memiliki sesuatu untuk dilakukan dengan skor juga, jadi mari kita menetapkan variabel ini untuk semua sprite. Kami ingin meningkatkan skor jika, dan hanya jika, bug telah dimakan. Dan kita sudah ditulis script yang berkaitan dengan bug yang makan begitu mari kita tambahkan satu pernyataan ini dalam, Ubah Skor Dengan Satu. Itu berarti bahwa sekali Anda makan bug skor meningkat. Mari kita bermain sebentar dan makan, Aku tidak tahu, tiga bug. Jadi Anda mendapatkan lelah dari permainan, baik, Anda akan menekan stop merah tanda untuk menghentikan permainan. Dan ketika Anda ingin kembali Anda akan tekan bendera hijau lagi. Namun skor masih tiga bahkan meskipun aku bermain game baru. Kami tidak ingin memberikan pengguna kepala mulai, jadi kita akan harus mereset skor setiap kali mereka memulai permainan baru. Jadi mari kita menambahkan pernyataan ke panggung skrip entry point untuk mengatur skor variabel ke nol. Jadi sekarang, setiap kali Anda memulai permainan, skor akan dimulai dari nol. Sekarang mari kita buka Hungry Dino 2 mana Saya telah menambahkan beberapa hal lagi. Aku mengklik kanan pada bug sprite untuk menduplikasi sprite yang membuat sprite identik dengan satu saya sebelumnya. Bug Poison dasarnya adalah identik dengan Bug1 tapi aku memilih kostum baru karena Saya pikir itu tampak, baik, jenis beracun. Alih-alih meningkatkan skor ketika bug racun yang dimakan, aku benar-benar menurunkan nilai dengan mengubah skor per satu negatif. Dan kemudian saya membuat kostum lain untuk dino kami menggunakan editor cat membuat sakit melihat dino dan menamakannya Dino Sakit. Tapi kita tidak menggunakan kostum ini kami Program belum, jadi mari kita menambahkan beberapa pernyataan dan blok yang akan berubah kostum dino untuk orang sakit hijau kostum setiap kali makan bug beracun. Sekarang, karena kita digandakan sprite bug, bug diracuni memiliki semua script yang original bug tidak. Jika Anda ingin menyalin script dari sprite lain, Anda dapat menarik Script di atas sprite yang ingin Anda salin ke. Tapi kita tidak perlu melakukannya di sini karena bug diracuni sudah memiliki skrip yang memeriksa bahwa bug telah mengunyah di atas. Dan kita dapat mengambil keuntungan dari ini untuk mengkomunikasikan kepada dino yang makan bug beracun. Dan kita berkomunikasi antara sprite dengan penyiaran. Jadi mari kita menyiarkan baru acara yang disebut Dino Sakit. Dan kita tahu bahwa kita memiliki kostum untuk dino untuk mengubah, tetapi kita juga tahu dari awal bahwa itu terbaik untuk menambahkan jeda antara perubahan kostum. Jadi ketika saya menerima Dino sakit, aku akan untuk mengubah kostum Dino Sakit, tunggu satu detik, dan kemudian beralih kembali ke Dino Hungry. Baik. Mari kita bermain dan makan bug dan kumbang. Dan skor berkurang satu. Sekarang, kadang-kadang Anda mungkin melihat bahwa variabel mungkin tidak muncul pada pojok kiri layar. Jika Anda menavigasi ke Bagian Data di bawah script, Anda akan melihat tanda centang ini di samping variabel yang Anda buat. Dan ini menyembunyikan atau unhides yang variabel dari layar. Tapi Anda juga dapat menggunakan pernyataan Tampilkan disebut atau Sembunyikan Variabel Tertentu. Jadi mari kita gunakan ini Tampilkan Variabel Skor untuk memastikan bahwa setiap kali kita mulai permainan, variabel ditampilkan. Besar. Jadi mari kita menjalankan permainan dan makan racun bug segera. Sekarang, itu sedikit aneh untuk memiliki permainan memiliki poin negatif, kan? Jadi mari kita memperkenalkan fitur lain. Jika dino makan terlalu banyak beracun bug maka akan terlalu sakit dan permainan berakhir. Jadi untuk menerapkan ini, kita akan disiarkan acara lain, Game Over. Bagaimana kita tahu kapan harus mengeksekusi Permainan ini Selama siaran? Nah, kita bisa melakukannya dengan beberapa cara. Kita dapat memiliki script pada tahap yang terus memeriksa apakah skor adalah negatif atau tidak, dan siaran Game Over ketika skor menjadi negatif. Atau kita bisa mengambil keuntungan dari fakta bahwa satu-satunya cara skor pernah bisa menjadi negatif, adalah ketika beracun bug dimakan. Karena ketika Anda makan lainnya bug, skor meningkat. Tidak ada gunanya dalam memeriksa apakah harus Game Over atau tidak ketika Anda makan bug dimakan. Jadi kita benar-benar bisa hanya menambah script yang menerima Dino Sakit acara siaran. Kami ingin menginstruksikan dino sebagai berikut. Jika skor kurang dari nol, menyiarkan Game Over. Jadi kita akan membangun Score Kurang dari Nol kondisi menggunakan blok dari bagian operator, dan menyeret dalam skor untuk blok tersebut. Dan lihat di sini Anda hanya dapat menarik skor variabel dan menempatkan kurang dari nol. Dan kita akan disiarkan acara baru, Game Over. Tetapi jika skor tidak pergi di bawah nol, kita ingin dino ke melanjutkan permainan. Jadi, bukannya menggunakan jika sini, mari kita gunakan jika lain membangun. Jika lain membangun memberitahu dino kami melakukan satu hal jika kondisi benar dan satu hal lagi jika Kondisi adalah palsu. Tubuh kami pertama jika bisa masuk ke jika yang lain, jadi mari kita tarik bahwa masuk Tetapi jika skor tidak kurang dari nol, maka mari kita beralih kembali ke Hungry Dino kostum. Kami tidak ingin melakukan itu preemptively. Besar. Tapi karena kami menyiarkan Game Over, kita masih perlu membuat blok penerima acara. Sebenarnya ada Hentikan Semua pernyataan dalam kontrol, jadi mari kita menghubungkan ini ke ketika saya menerima Game Over. Tapi kami juga ingin bug untuk berhenti, sehingga mari kita tarik script ini ke semua bug sprite serta panggung. Mari kita mencoba ini. Makan bug beracun segera, program berhenti seperti yang diharapkan. Tak satu pun dari bug lain bergerak dan tidak apakah dino jika Anda menekan bawah tombol panah. Tapi katakanlah kita tidak ingin mengingatkan pengguna skor negatif mereka, sehingga mari kita menyembunyikan nilai variabel dari panggung setiap kali Game Selama acara diterima. Baik. Jadi, ini adalah permainan yang cukup baik. Dengan lebih banyak waktu Anda dapat menambahkan lebih sprite dan skrip lagi. Mungkin bug bisa bergerak pada kecepatan yang berbeda. Anda dapat menambahkan latar belakang baru ke panggung - sebuah Game Over latar belakang - bahwa seperti, ketika panggung menerima Game Over acara, dapat beralih ke Backdrop Game Over dan semua dari sprite hide. Banyak tweak kecil dapat dilakukan untuk membuat permainan Anda sedikit lebih halus. Dan ini hanya salah satu contoh dari proyek yang dapat Anda buat dalam Scratch menggunakan semua alat yang kita bahas sebelumnya - sprite, kostum, tahapan, latar belakang, kondisi, loop, variabel, acara dan benang penyiaran. Hungry Dino tidak menggunakan suara apapun efek, tetapi Anda dapat dengan mudah menambahkan Anda sendiri dengan menavigasi ke tab Suara dan menjelajahi laporan suara. Awal adalah pengenalan yang besar untuk konsep pemrograman, jadi kreatif dan yang paling penting, bersenang-senang. Nama saya Zamyla, dan ini adalah CS50.