Belajar Scratch: Membuat Game Tangkap Apel
Yuk, buat permainan sederhana! Gerakkan mangkuk untuk menangkap apel yang jatuh sebelum waktu habis.
1. Tujuan Pembelajaran
Setelah mengikuti kegiatan ini, kamu diharapkan mampu:
- Mengenali sprite, stage, dan blok perintah pada Scratch.
- Menggerakkan objek menggunakan tombol panah pada keyboard.
- Menggunakan koordinat x dan y untuk mengatur posisi sprite.
- Menggunakan variabel untuk menyimpan skor dan waktu.
- Menerapkan perulangan, percabangan, dan deteksi sentuhan.
- Menguji serta mengembangkan permainan sederhana.
2. Mengenal Permainan
Dalam game Apple Catcher, pemain menggerakkan mangkuk ke kiri dan ke kanan untuk menangkap apel yang jatuh dari atas panggung.
- Permainan dimulai ketika bendera hijau diklik.
- Apel jatuh dari posisi horizontal yang dipilih secara acak.
- Gunakan tombol panah kiri dan kanan untuk menggerakkan mangkuk.
- Setiap apel yang tertangkap menambah skor satu poin.
- Permainan berlangsung selama 60 detik.
- Ketika waktu habis, tulisan Game End muncul dan permainan berhenti.
3. Coba Mainkan Game-nya!
Sebelum mempelajari script, mainkan terlebih dahulu proyek Scratch berikut. Klik bendera hijau pada jendela permainan, lalu gerakkan mangkuk dengan tombol panah kiri dan kanan.
Jika permainan tidak tampil, buka proyek langsung di website Scratch.
4. Menyiapkan Sprite dan Variabel
Siapkan tiga sprite berikut. Nama sprite harus sesuai dengan nama yang dipakai pada script agar blok deteksi sentuhan dapat bekerja.
| Sprite / Variabel | Fungsi |
|---|---|
| Apple 🍎 | Objek yang jatuh dari atas panggung. |
| Bowl 🥣 | Mangkuk yang digerakkan untuk menangkap apel. |
| Game End | Tulisan yang muncul ketika waktu habis. |
| Skor | Menyimpan jumlah apel yang tertangkap. |
| waktu | Menyimpan sisa waktu permainan. |
5. Membuat Script Apel (Apple)
Sprite Apple memiliki tugas untuk muncul dari posisi acak, bergerak turun, lalu memeriksa apakah menyentuh mangkuk.
A. Memulai permainan
when green flag clicked set size to 70 % set [Skor] to 0
- when green flag clicked: menjalankan script ketika bendera hijau diklik.
- set size to 70%: mengatur ukuran apel menjadi 70%.
- set Skor to 0: mengawali permainan dengan skor nol.
B. Membuat apel jatuh berulang kali
forever
go to x: (pick random -200 to 200) y: 150
glide 1 secs to x: (x position) y: -140
if <touching [Bowl] ?> then
change [Skor] by 1
start sound [Bite]
end
end
Penjelasan blok:
- forever: mengulang rangkaian perintah terus-menerus.
- pick random -200 to 200: memilih posisi x secara acak.
- y: 150: menempatkan apel di bagian atas panggung.
- glide 1 secs: menggerakkan apel menuju bagian bawah selama satu detik.
- touching Bowl?: memeriksa apakah apel menyentuh mangkuk.
- change Skor by 1: menambah skor satu poin.
- start sound Bite: memainkan suara ketika apel tertangkap.
6. Membuat Script Mangkuk (Bowl)
Mangkuk dikendalikan oleh pemain menggunakan tombol panah pada keyboard.
A. Mengatur posisi awal mangkuk
when green flag clicked set size to 120 % go to x: 10 y: -135
Ukuran mangkuk diatur menjadi 120%, kemudian diletakkan pada koordinat x = 10 dan y = -135.
B. Menggerakkan mangkuk ke kiri
when left arrow key pressed change x by -10
Ketika tombol panah kiri ditekan, nilai x berkurang 10. Mangkuk bergerak ke kiri.
C. Menggerakkan mangkuk ke kanan
when right arrow key pressed change x by 10
Ketika tombol panah kanan ditekan, nilai x bertambah 10. Mangkuk bergerak ke kanan.
Nilai x bertambah → bergerak ke kanan.
Nilai x berkurang → bergerak ke kiri.
Nilai y bertambah → bergerak ke atas.
Nilai y berkurang → bergerak ke bawah.
7. Membuat Script Game End
Sprite Game End bertugas mengatur hitung mundur dan menampilkan pesan bahwa permainan telah selesai.
A. Menyiapkan waktu
when green flag clicked hide set [waktu] to 60
Sprite Game End disembunyikan pada awal permainan. Variabel waktu diatur menjadi 60 detik.
B. Menghitung mundur
repeat 60
wait 1 seconds
change [waktu] by -1
if <(waktu) = 0> then
set [waktu] to 0
show
play sound [Triumph] until done
stop [all]
end
end
Perintah repeat 60 mengulang proses sebanyak 60 kali. Setiap satu detik, nilai waktu berkurang satu. Ketika waktu mencapai nol, tulisan Game End ditampilkan, suara dimainkan, lalu semua script dihentikan.
8. Alur Kerja Game
Klik bendera hijau
Posisi x dipilih secara acak
Pemain menekan tombol panah kiri atau kanan
Jika ya, skor bertambah satu dan suara dimainkan
Jika belum, permainan berlanjut. Jika sudah, Game End ditampilkan.
Permainan selesai
9. Konsep Pemrograman yang Dipelajari
| Konsep | Blok Scratch | Kegunaan |
|---|---|---|
| Peristiwa | when green flag clicked | Memulai script saat bendera hijau diklik. |
| Perulangan tanpa batas | forever | Mengulang perintah terus-menerus. |
| Perulangan terbatas | repeat 60 | Mengulang perintah sebanyak 60 kali. |
| Percabangan | if ... then | Menjalankan perintah jika kondisi benar. |
| Variabel | set / change | Menyimpan dan mengubah skor atau waktu. |
| Operator acak | pick random | Memilih posisi apel secara acak. |
| Deteksi sentuhan | touching Bowl? | Memeriksa apakah dua sprite bersentuhan. |
| Koordinat | change x by | Mengubah posisi horizontal sprite. |
10. Tantangan: Kembangkan Game-mu!
Level 1 – Pemula 🌱
- Ubah ukuran apel menjadi 50%.
- Ubah waktu jatuh apel menjadi dua detik.
- Ubah posisi awal mangkuk.
Level 2 – Menengah 🚀
- Tambahkan sprite buah jeruk.
- Buat jeruk menambah skor dua poin.
- Tambahkan suara berbeda ketika jeruk tertangkap.
Level 3 – Kreatif 🏆
- Tambahkan sprite bom yang harus dihindari.
- Jika mangkuk menyentuh bom, skor berkurang dua poin.
- Buat tiga tingkat kesulitan: mudah, sedang, dan sulit.
- Tampilkan pesan “Kamu Menang!” jika skor mencapai 20.
11. Kuis Pemahaman
Pilih satu jawaban yang paling tepat untuk setiap pertanyaan. Setelah selesai, klik tombol Periksa Jawaban untuk melihat nilai dan pembahasan.
12. Refleksi Pembelajaran
Setelah menyelesaikan proyek, jawablah pertanyaan berikut di buku catatanmu.
- Bagaimana cara membuat apel muncul pada posisi yang berbeda-beda?
- Mengapa kita menggunakan variabel Skor?
- Apa perbedaan antara repeat dan forever?
- Bagaimana cara mendeteksi sentuhan antara dua sprite?
- Fitur apa yang ingin kamu tambahkan agar game menjadi lebih menarik?
13. Glosarium
| Istilah | Arti |
|---|---|
| Sprite | Objek atau karakter dalam Scratch. |
| Stage | Panggung tempat sprite bergerak. |
| Variable | Variabel untuk menyimpan data. |
| Score | Skor atau nilai permainan. |
| Random | Acak. |
| Forever | Selamanya atau berulang tanpa batas. |
| Repeat | Mengulangi perintah sejumlah tertentu. |
| Touching | Menyentuh. |
| Glide | Bergerak meluncur menuju posisi tertentu. |
| Game End | Permainan berakhir. |
Kesimpulan
Membuat game bukan hanya menggerakkan gambar di layar. Kita perlu menyusun algoritma, mengatur koordinat, menggunakan variabel, membuat keputusan berdasarkan kondisi, dan menguji program.
Seorang programmer tidak hanya memainkan game. Seorang programmer juga mampu menciptakan game sendiri!