Tajuk: Membina Games dengan Scratch
Genius Corner Siri 17
Oleh: Fariz Gaskin

Salam ceria buat semua pembaca budiman. Pada minggu ini, kita akan mempelajari latihan Scratch bahagian kelima. Kali ini, kita akan belajar membina sebuah games yang membolehkan pemain mengumpul salji yang jatuh ke dalam sebuah kereta, dan mengumpul mata setiap kali tangkapan berjaya dilakukan.

Bermula dengan artikel kali ini, latihan Scratch di ruangan ini semakin lama semakin ‘advanced’. Namun, kami tetap mengekalkan konsep simple dan ceria agar pembaca tetap terhibur sambil berpeluang belajar dengan tahap yang semakin tinggi.

Buat pengetahuan semua, Scratch merupakan bahasa pengaturcaraan yang sangat popular di kalangan pelajar pra-sekolah dan pelajar sekolah rendah di Amerika Syarikat. Hal ini kerana Scratch bersifat visual, tidak memerlukan kod pengaturcaraan yang remeh, serta boleh digunakan pada mana-mana komputer walau berspesifikasi rendah.

Di dalam latihan kali ini, kita akan menggunakan dua Sprite (watak), berbanding satu sahaja selama ini. Dengan ini, kita dapat melihat kecanggihan enjin Scratch menguruskan kod aturcara yang banyak, sama seperti mana-mana bahasa pengaturcaraan lain.

Tanpa membuang masa, mari kita teruskan dengan latihan minggu ini.

Latihan

Langkah 1: Layari laman web https://scratch.mit.edu dan klik Try It Out untuk bermula

Langkah 2: Pilih costume baru untuk Sprite 1. Sebagai contoh, gunakan salah satu imej kereta yang disediakan


Rajah 1: Costume baru untuk Sprite1

Langkah 3: Hasilkan sebuah pembolehubah baru dan namakannya ‘Score’


Rajah 2: Pembolehubah Score

Langkah 4: Susun kod aturcara berikut untuk Sprite 1. Terdapat 4 blok berasingan semuanya.


Rajah 3: Blok aturcara Sprite1

Langkah 5: Hasilkan sprite baru menggunakan menu Sprites di bawah ruangan paparan hasil kerja. Pilih imej Snowflake dari library yang disediakan


Rajah 4: Sprite baru

Langkah 6: Klik pada sprite Snowflake untuk mengaktifkan ruang editornya dan susun kod aturcara berikut untuk Snowflake. Terdapat 2 blok berasingan semuanya


Rajah 5: Blok aturcara Snowflake

Langkah 7: Klik ikon bendera hijau untuk melihat hasilnya


Rajah 6: Hasil game menangkap salji menggunakan kereta


Pelajar SK Seri Bintang Utara sedang menyiapkan latihan Genius Corner

Semakan

Di dalam latihan tadi, kita telah menghasilkan dua sprite (watak) utama yang melaksanakan arahan berbeza apabila kod aturcara Scratch diaktifkan. Di dalam kod aturcara Sprite1, blok pertama bertindak mengecilkan saiz kereta agar sesuai dengan paparan, serta menetapkan nilai markah di permulaan game kepada sifar (0).

Blok aturcara kedua pula mengarahkan Sprite1 bergerak ke kiri 10 piksel apabila bebutang kiri pada papan kekunci ditekan. Untuk blok aturcara ketiga, Sprite1 diarahkan bergerak ke kanan 10 piksel apabila bebutang kanan pada papan kekunci ditekan.

Akhir sekali, blok aturcara keempat akan melepaskan salji dari langit setiap satu hingga dua saat dari kedudukan rawak.

Untuk sprite Snowflake pula, blok aturcara pertama akan menyembunyikan sprite ini apabila aturcara Scratch diaktifkan. Snowflake tadi hanya akan muncul setelah satu atau dua saat berlalu, sama seperti arahan yang diberi melalui Sprite1.

Di dalam blok aturcara kedua pula, setiap klon Snowflake akan dikecilkan saiznya terlebih dahulu. Kemudian, lokasi rawak akan dipilih untuk menjatuhkan salji ini dari langit. Menggunakan beberapa gabungan kod, kita berjaya menjadikan salji jatuh dengan cara mengubah nilai kedudukan x dan y setiap klon.

Akhir sekali, klon salji yang bersentuhan dengan Sprite1 akan dihilangkan dari paparan dan nilai Score akan ditambah 1.

Soalan

Sebelum ruangan minggu ini ditamatkan, anda perlu menyelesaikan beberapa soalan latihan. Sila ubahsuai kod aturcara tadi supaya:

Ubah kod aturcara supaya Sprite1 bergerak lebih laju
Ubah kod aturcara supaya Snowflake jatuh lebih kerap
Ubah kod aturcara supaya Snowflake jatuh lebih perlahan

Jika anda mempunyai sebarang pertanyaan atau cadangan, sila emelkan kepada farizgaskin@gmail.com dan kami akan cuba jawab sepantas mungkin. Sehingga bertemu lagi dalam ruangan yang sama minggu hadapan, selamat mencuba!