Navigasi Materi

Game Tangkap Apel

🍎 🍎 🥣

Belajar Scratch: Membuat Game Tangkap Apel

Yuk, buat permainan sederhana! Gerakkan mangkuk untuk menangkap apel yang jatuh sebelum waktu habis.

Untuk SMPScratch 3.0Pemrograman dasarProyek interaktif

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.

Aturan permainan
  1. Permainan dimulai ketika bendera hijau diklik.
  2. Apel jatuh dari posisi horizontal yang dipilih secara acak.
  3. Gunakan tombol panah kiri dan kanan untuk menggerakkan mangkuk.
  4. Setiap apel yang tertangkap menambah skor satu poin.
  5. Permainan berlangsung selama 60 detik.
  6. 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 / VariabelFungsi
Apple 🍎Objek yang jatuh dari atas panggung.
Bowl 🥣Mangkuk yang digerakkan untuk menangkap apel.
Game EndTulisan yang muncul ketika waktu habis.
SkorMenyimpan jumlah apel yang tertangkap.
waktuMenyimpan sisa waktu permainan.
Membuat variabel: pilih menu Variables (Variabel), klik Make a Variable (Buat Variabel), lalu buat variabel bernama Skor dan waktu. Pilih agar variabel dapat digunakan untuk semua sprite (for all sprites).

5. Membuat Script Apel (Apple)

Sprite Apple memiliki tugas untuk muncul dari posisi acak, bergerak turun, lalu memeriksa apakah menyentuh mangkuk.

Script Scratch untuk sprite Apple

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.
Perhatikan! Pada script contoh, pemeriksaan sentuhan dilakukan setelah blok glide selesai. Artinya, Scratch memeriksa sentuhan pada akhir gerakan. Untuk pengembangan lebih lanjut, siswa dapat membuat pemeriksaan sentuhan berlangsung selama apel bergerak turun.

6. Membuat Script Mangkuk (Bowl)

Mangkuk dikendalikan oleh pemain menggunakan tombol panah pada keyboard.

Script Scratch untuk sprite Bowl

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.

Hubungan dengan matematika – Koordinat Kartesius
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.

Script Scratch untuk sprite Game End

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

Mulai
Klik bendera hijau
↓
Apel jatuh
Posisi x dipilih secara acak
↓
Mangkuk bergerak
Pemain menekan tombol panah kiri atau kanan
↓
Apel menyentuh mangkuk?
Jika ya, skor bertambah satu dan suara dimainkan
↓
Waktu sudah nol?
Jika belum, permainan berlanjut. Jika sudah, Game End ditampilkan.
↓
Game End
Permainan selesai

9. Konsep Pemrograman yang Dipelajari

KonsepBlok ScratchKegunaan
Peristiwawhen green flag clickedMemulai script saat bendera hijau diklik.
Perulangan tanpa batasforeverMengulang perintah terus-menerus.
Perulangan terbatasrepeat 60Mengulang perintah sebanyak 60 kali.
Percabanganif ... thenMenjalankan perintah jika kondisi benar.
Variabelset / changeMenyimpan dan mengubah skor atau waktu.
Operator acakpick randomMemilih posisi apel secara acak.
Deteksi sentuhantouching Bowl?Memeriksa apakah dua sprite bersentuhan.
Koordinatchange x byMengubah posisi horizontal sprite.

10. Tantangan: Kembangkan Game-mu!

Level 1 – Pemula 🌱

  1. Ubah ukuran apel menjadi 50%.
  2. Ubah waktu jatuh apel menjadi dua detik.
  3. Ubah posisi awal mangkuk.

Level 2 – Menengah 🚀

  1. Tambahkan sprite buah jeruk.
  2. Buat jeruk menambah skor dua poin.
  3. Tambahkan suara berbeda ketika jeruk tertangkap.

Level 3 – Kreatif 🏆

  1. Tambahkan sprite bom yang harus dihindari.
  2. Jika mangkuk menyentuh bom, skor berkurang dua poin.
  3. Buat tiga tingkat kesulitan: mudah, sedang, dan sulit.
  4. 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.

1. Blok apa yang digunakan untuk menjalankan perintah secara terus-menerus?
2. Jika nilai x berubah dari 10 menjadi 20, sprite bergerak ke arah mana?
3. Variabel apa yang digunakan untuk menghitung hasil permainan?
4. Apa fungsi blok change waktu by -1?
5. Blok apa yang digunakan untuk mendeteksi apakah apel menyentuh mangkuk?
6. Apa arti blok repeat 60?
7. Pada panggung Scratch, koordinat y = 150 menunjukkan posisi di bagian ...
8. Apa tujuan perintah set Skor to 0 ketika permainan dimulai?
9. Apa fungsi utama blok if ... then?
10. Apa fungsi blok stop all pada akhir permainan?

12. Refleksi Pembelajaran

Setelah menyelesaikan proyek, jawablah pertanyaan berikut di buku catatanmu.

  1. Bagaimana cara membuat apel muncul pada posisi yang berbeda-beda?
  2. Mengapa kita menggunakan variabel Skor?
  3. Apa perbedaan antara repeat dan forever?
  4. Bagaimana cara mendeteksi sentuhan antara dua sprite?
  5. Fitur apa yang ingin kamu tambahkan agar game menjadi lebih menarik?

13. Glosarium

IstilahArti
SpriteObjek atau karakter dalam Scratch.
StagePanggung tempat sprite bergerak.
VariableVariabel untuk menyimpan data.
ScoreSkor atau nilai permainan.
RandomAcak.
ForeverSelamanya atau berulang tanpa batas.
RepeatMengulangi perintah sejumlah tertentu.
TouchingMenyentuh.
GlideBergerak meluncur menuju posisi tertentu.
Game EndPermainan 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!