Rabu, 02 Desember 2015

Construct 2 If Else Condition

Apa sih yang dimaksud dengan If Else Condition? Pada saat kamu membuat program, atau bahkan dalam kehidupan sehari-hari, selalu berhadapan dengan If Else Condition. Yang dimaksud adalah pengecekan kondisi "if" atau jika terjadi sesuatu, "then" atau maka lakukan hal yang ini. "Else" atau kalo tidak, lakukan hal yang lainnya. Jika mau makan, ambil piring.. kalo tidak makan sama bungkusnya, hehehe.

Sewaktu saya membuat algoritma sederhana di Construct 2, saya terjebak pada kenyataan bahwa Construct 2 punya cara sendiri untuk membuat struktur If Else Condition nya. Cukup pusing juga nyarinya, dan terutama karena manual atau tutorial yang ada dalam bahasa inggris. Jadi, yaa.. disini saya ingin merangkum hasil belajar saya tentang If Else Condition. Kalo ada kesalahan mohon dimaklumi yaa :) yuuk, simak terus tulisan ini.

Bagaimana Membuat If Else Condition di Construct 2?


Condition atau kondisi di Construct 2 diwakili dengan istilah Event. Kalo kamu lihat di Event Sheet, pertama yang harus dibuat adalah Add Event, atau menentukan "jika" nya. Setelah itu baru Add Action, atau melakukan hal tertentu jika kondisi yang diinginkan terpenuhi.

Yuuk, sambil praktek kita akan buat sebuah game sederhana. Game ini akan mendeteksi apakah tombol panah atas atau bawah yang ditekan, sambil menambah atau mengurangi angka yang ada di layar.

Pertama, buat new project di Construct 2. Kemudian insert new object, pilih type Text. Perhatikan pada Properties, isilah Text dengan angka '0'. Beri nama objek text tersebut dengan nama Counter.

Selanjutnya masukkan objek input Keyboard. Maksudnya disini kita akan mengecek jika ada tombol keyboard yang ditekan.

Kemudian pada Event Sheet masukkan Event dan Action, seperti yang terlihat pada gambar dibawah ini:

Hitung, adalah variabel global. Untuk membuat variabel global, klik kanan disembarang tempat pada event sheet dan pilih Add Global Variabel.

Baris berikut nya: Keyboard On Down arrow pressed. Artinya kita mengecek jika tombol panah bawah ditekan. Jika iya, maka: System Subtract 1 from Hitung, maksudnya nilai Hitung saat ini dikurangi 1. Cara membuat nya, klik pada Add Event lalu pilih Keyboard

Kemudian pilih "on key pressed"

Kemudian click pada bagian click to choose dan tekan panah bawah, lalu OK.

Demikian juga dengan Keyboard On Up arrow pressed, jika tombol panah atas ditekan, maka: System Add 1 to Hitung, atau nilai Hitung saat ini ditambah 1. Cara membuat nya, klik pada Add Event lalu pilih Keyboard, kemudian tekan panah atas saat diminta.

Setelah itu tampilkan nilai variabel Hitung ke objek Counter setiap 1 tick. Ok, silahkan dicoba dulu hasilnya seperti apa.

Membuat Logika AND/OR untuk If Conditions di Construct 2


Sekarang saya ingin membuat inputan yang lebih sulit. Kamu harus menekan tombol Control + panah atas atau bawah untuk merubah nilai variabel Hitung. Di sini saya gunakan logika AND/dan. Jika tombol yang ditekan adalah Control + panah atas maka nilai Hitung + 1. Dan jika yg ditekan Control + panah bawah maka nilai Hitung - 1.

Bagaimana cara membuatnya?

Pada Event Sheet, klik kanan di area yang ditandai dengan lingkaran merah. Pilih Add > Add another condition.

Selanjutnya pilih Keyboard, pilih On key is down, lalu masukkan tombol yang diinginkan dengan menekan tombol Control. Lakukan hal yang sama untuk tombol panah atas nya. Hasil nya akan terlihat seperti gambar dibawah

Silahkan dicoba! Apa bedanya dengan sebelumnya? Yap, sekarang nilai variabel Hitung hanya akan berubah jika kita menekan Control + panah atas atau bawah. Itu tadi contoh logika AND, bagaimana dengan logika OR?

Kembali ke Event sheet, klik kanan pada bagian Keyboard Ctrl is down, lalu pilih Replace condition.

Selanjutnya pilih Keyboard > on key is down, kemudian tekan tombol A. Itu tadi untuk pasangan panah bawah. Untuk panah atas lakukan hal yang sama, tapi sebaliknya pilihlah tombol Q.

Kemudian klik kanan pada bagian yang ditandai lingkaran merah di gambar atas, dan pilih Make 'Or' block. Jika berhasil, akan muncul tulisan - or - diantara kondisi Down arrow pressed (panah bawah ditekan) dan A is down (tombol A ditekan). Demikian juga dengan pasangan Up arrow pressed dan Q is down, buatlah menjadi Or block.

Silahkan dicoba, saudara! Sekarang untuk merubah variabel Hitung, kita bisa menekan tombol panah atas / bawah atau tombol Q / A. Sebagai tambahan, sekarang kamu bisa mengganti kondisi A is down menjadi On A pressed. Mengapa perlu diganti? Karena dengan A is down, perubahan nilai Hitung akan berjalan terus menerus dengan cepat selama tombol A ditekan tanpa dilepas. Bedanya dengan On A pressed, nilai Hitung hanya akan berubah jika tombol A telah ditekan. Jadi meski ditekan terus tanpa dilepas, nilai Hitung tidak akan berubah. Betul tidak?

Menggabungkan Logika AND/OR dan Else di Construct 2


Sampailah kita pada inti tulisan ini: bagaimana caranya menggabungkan logika AND, OR dan Else. Yap, pertanyaan ini yang membuat saya pusing, karena jawabannya memerlukan trik tertentu.

Sebagai contoh saya ingin menggabungkan metode inputan yang sudah saya buat sebelumnya, yaitu dengan menekan Control+panah atas atau Control+Q dan Control+panah bawah atau Control+A. Bagaimana caranya?

Untuk jawaban pertanyaan di atas, saya gunakan yang namanya Sub event. Yaitu event atau kondisi berikutnya yang akan diperiksa, apabila Event utama terpenuhi. Perhatikan gambar berikut ini:

Dari gambar di atas, Event utama nya adalah Keyboard Ctrl is down. Jadi apabila tombol Control ditekan, maka periksa sub event berikutnya, yaitu apakah tombol panah atas/bawah atau A/Q yang ditekan.

Selanjutnya saya ingin membuat tampilan angka jadi berwarna-warni. Apabila nilai variabel Hitung = 0, maka tampilkan dengan warna Hijau. Jika lebih besar 0, warna nya Biru. Dan jika kurang dari 0, warnanya Merah. Disini saya gabungkan contoh logika AND/OR di atas dengan kondisi Else dan Else-If.

Pada baris ke-6, saya mengecek apakah nilai Hitung > 0. Jika iya, maka set font color to rgb(0,0,255) yang artinya rubah warnanya menjadi biru. Kemudian di baris ke-7, ada dua kondisi yang digabung: Else dan Hitung < 0. Struktur semacam ini yang disebut dengan Else-If. Artinya begini, jika Hitung tidak lebih besar dari 0, maka periksa lagi apakah Hitung kurang dari 0. Dan jika iya (Hitung < 0), maka set font color to rgb(255,0,0) atau warna merah.

Dan baris ke-8 adalah Else, yaitu kondisi terakhir yang ingin dicek. Kondisi mana yang saya maksud? Yes, kondisi Hitung = 0. Jika iya, maka rubah warnanya menjadi rgb(0,255,0) atau hijau.

Ok, guys sampai sini jika ada pertanyaan, silahkan isi di bagian komentar yaa! Cheers ^-^

1 komentar: