Kita akan membuat game Shark Attack, di mana hiu mengejar dan “memakan” ikan yang mengambang secara acak di bawah laut, sambil mengumpulkan skor.
60.Pilih sprite Shark, susun skrip berikut:
when [green flag] clicked
forever
point towards [mouse-pointer]
Dengan skrip ini, hiu akan selalu menghadap ke arah posisi kursor mouse, walau belum bergerak mendekatinya.
Agar hiu benar-benar bergerak mendekati mouse (bukan sekadar menghadap), tambahkan kondisi jarak:
when [green flag] clicked
forever
if <(distance to [mouse-pointer]) > 10> then
point towards [mouse-pointer]
move 10 steps
Blok distance to mouse-pointer dari kategori Sensing dikombinasikan dengan operator > memastikan hiu hanya bergerak mendekat jika jaraknya masih lebih dari 10 — sehingga hiu berhenti begitu sudah cukup dekat, tidak “gemetar” di tempat.
Tambahkan sprite Fish dari kategori Animals. Sprite ini memiliki beberapa costume berbeda (Fish A, Fish B, Fish C, Fish D) yang nantinya dipakai untuk variasi tampilan. Ubah ukurannya menjadi 60 agar proporsional.
when [green flag] clicked
forever
move 15 steps
if on edge, bounce
Skrip dasar ini membuat ikan bergerak dan memantul di tepi stage, namun geraknya masih terbatas hanya kiri-kanan (karena arah tidak pernah berubah). Untuk membuat ikan bergerak bebas ke berbagai arah, tambahkan blok turn dengan sudut acak di awal skrip:
when [green flag] clicked
forever
turn ↻ (pick random -20 to 20) degrees
move 15 steps
if on edge, bounce
Blok pick random -20 to 20 dari kategori Operators membuat arah ikan berubah sedikit secara acak setiap saat, sehingga pola geraknya terlihat lebih alami dan tidak monoton.
Buat variabel baru bernama Score (global variable, agar terlihat sebagai skor keseluruhan permainan), lalu tambahkan skrip baru pada sprite Fish:
when [green flag] clicked
forever
if then
change [Score] by 2
Setiap kali ikan bersentuhan dengan hiu, skor akan bertambah 2.
when [green flag] clicked
forever
if then
change [Score] by 2
hide
wait 2 seconds
Setelah dimakan, ikan akan disembunyikan (hide) dan menunggu 2 detik sebelum muncul kembali.
when [green flag] clicked
forever
if then
change [Score] by 2
hide
wait 2 seconds
go to x: (pick random -200 to 200) y: (pick random -156 to 156)
show
Setelah menunggu, ikan berpindah ke posisi acak (nilai rentang X dan Y disesuaikan agar tetap berada di dalam batas layar stage), lalu ditampilkan kembali dengan show.
when [green flag] clicked
forever
if then
change [Score] by 2
hide
wait 2 seconds
next costume
go to x: (pick random -200 to 200) y: (pick random -156 to 156)
show
Dengan menambahkan next costume, setiap kali ikan muncul kembali setelah dimakan, tampilannya akan berganti ke jenis ikan yang berbeda (Fish A, B, C, D secara bergantian) — memberi variasi visual pada game.
Terakhir, pastikan skor selalu dimulai dari 0 dan ikan selalu terlihat setiap kali game dijalankan ulang. Tambahkan di awal skrip utama ikan:
when [green flag] clicked
set [Score] to 0
show
forever
if then
change [Score] by 2
hide
wait 2 seconds
next costume
go to x: (pick random -200 to 200) y: (pick random -156 to 156)
show
Sprite Shark:
when [green flag] clicked
forever
if <(distance to [mouse-pointer]) > 10> then
point towards [mouse-pointer]
move 10 steps
Sprite Fish:
when [green flag] clicked
forever
turn ↻ (pick random -20 to 20) degrees
move 15 steps
if on edge, bounce
when [green flag] clicked
set [Score] to 0
show
forever
if then
change [Score] by 2
hide
wait 2 seconds
next costume
go to x: (pick random -200 to 200) y: (pick random -156 to 156)
show
Game Shark Attack ini menggabungkan berbagai konsep yang sudah dipelajari sebelumnya:
distance to, touching) untuk mendeteksi jarak dan tabrakan.pick random, >) untuk gerakan acak dan kondisi logika.point towards, move, turn, if on edge bounce) untuk pergerakan hiu dan ikan.hide, show, next costume) untuk efek ikan menghilang dan berganti tampilan.Score) untuk sistem skor permainan.