Kita akan membuat game baru bernama Math Game — kuis matematika sederhana. Pada bagian ini, kita akan membuat menu awal yang menanyakan pilihan operasi (penjumlahan atau perkalian) kepada pemain, lengkap dengan validasi jika pemain memasukkan pilihan yang salah.
Buat project baru, beri nama “Math Game”.
when [green flag] clicked
ask "What's your name? Press 1 for Add. Press 2 for Multiply." and wait
Blok ask _ and wait dari kategori Sensing menampilkan pertanyaan di layar, sekaligus kotak input untuk pemain mengetik jawaban.
Nilai yang diketik pengguna akan otomatis tersimpan pada blok pelaporan answer, mirip seperti sebuah variabel. Jika pemain mengetik 1 lalu menekan Enter, blok answer akan bernilai 1 — nilai inilah yang bisa kita gunakan untuk memeriksa pilihan pemain.
Kita perlu memeriksa apakah jawaban pemain adalah 1 ATAU 2 (pilihan yang valid). Gunakan kombinasi operator = dan or:
when [green flag] clicked
ask "What's your name? Press 1 for Add. Press 2 for Multiply." and wait
if < or > then
say "Correct choice"
else
say "Incorrect choice"
Operator or dari kategori Operators memungkinkan kita memeriksa dua kondisi sekaligus: jika jawaban sama dengan 1 atau sama dengan 2, maka kondisi keseluruhan bernilai true. Jika pemain mengetik angka lain (misalnya 3) atau apa pun selain itu, pesan “Incorrect choice” akan muncul.
Agar menu pertanyaan muncul lagi otomatis saat pemain salah memilih (sesuai konsep game yang sudah direncanakan), kita perlu memisahkan kode pemicu awal dari kode pertanyaan itu sendiri, menggunakan sistem broadcast:
when [green flag] clicked
broadcast [start]
when I receive [start]
ask "What's your name? Press 1 for Add. Press 2 for Multiply." and wait
if < or > then
say "Correct choice"
else
say "Incorrect choice"
broadcast [start]
Dengan struktur ini, saat green flag diklik, pesan start disiarkan yang memicu skrip pertanyaan berjalan. Jika pilihan pemain salah, di akhir blok else kita broadcast pesan start lagi — sehingga skrip pertanyaan otomatis berjalan ulang, menciptakan efek “loop” menu sampai pemain memasukkan pilihan yang valid.
Tanpa jeda, pesan “Incorrect choice” akan langsung tertimpa oleh menu yang muncul kembali, sehingga pemain tidak sempat membacanya. Tambahkan blok say ... for 2 seconds sebagai gantinya:
when I receive [start]
ask "What's your name? Press 1 for Add. Press 2 for Multiply." and wait
if < or > then
say "Correct choice"
else
say "Incorrect choice" for 2 seconds
broadcast [start]
Sekarang, saat pemain salah memasukkan pilihan, pesan “Incorrect choice” akan tampil selama 2 detik terlebih dahulu, baru kemudian menu pertanyaan muncul kembali.
ask _ and wait menampilkan pertanyaan dan menyimpan jawaban pemain ke blok answer.or memungkinkan validasi terhadap beberapa pilihan yang dianggap benar sekaligus.broadcast dan when I receive bisa digunakan untuk membuat suatu blok kode “dipanggil ulang” secara berulang, mirip seperti loop menu.Pada tutorial berikutnya, kita akan mengimplementasikan bagaimana soal-soal matematika (pertanyaan penjumlahan/perkalian) benar-benar dihasilkan dan ditanyakan kepada pemain.