Tip:
Highlight text to annotate it
X
>> 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.