Lompat ke isi utama

Pelajaran 3: Menggunakan Pernyataan If

Menavigasi Labirin Disk Menggunakan PernyataanJika

Dalam Tantangan Labirin Cakram, Robot VR memeriksa kondisi Sensor Mata Depan untuk melihat warna apa yang dilaporkan. Setiap warna selaras dengan perilaku berbeda yang harus dilakukan Robot VR.

Untuk Informasi Anda

Pernyataan jikahanya menerima kondisi Boolean. Dengan menggunakan pola yang diamati saat memecahkan Labirin Cakram dalam Pelajaran 2, sebuah proyek dapat dibuat di mana Robot VR membuat keputusan apakah kondisi dilaporkan sebagai Benar atau Salah.

jika kondisi: 
	lulus

Pernyataan jika akan dijalankan satu kali dalam suatu proyek. Dalam contoh ini, Front Eye Sensor akan melaporkan Benar jika objek hijau terdeteksi, dan mengeksekusi perintah di dalam pernyataan jika - belok kanan sejauh 90 derajat. Jika objek hijau tidak terdeteksi, proyek akan berpindah ke perintah berikutnya.

def main():
    jika front_eye.detect(HIJAU):
        drivetrain.turn_for(KANAN, 90, DERAJAT)
    drivetrain.stop()
  • Mulai proyek baru dan pilihDisk Maze Playgroundsaat diminta. Ubin pilihan Disk Maze Playground di VEXcode VR.
  • Beri nama Unit7Pelajaran3.Bilah alat dalam VEXcode VR dengan kotak nama proyek yang disebutkan. Nama proyeknya adalah Unit 7 Pelajaran 3.

     

  • Tambahkan komentar untuk menguraikan tujuan perilaku Robot VR selama setiap bagian proyek berikutnya. 
def main():
    # Jika mata depan mendeteksi warna hijau maka belok kanan

    # Jika mata depan mendeteksi warna biru maka belok kiri
  • Tarik atau ketik pernyataan jika di bawah komentar pertama.
def main():
    # Jika mata depan mendeteksi warna hijau maka belok kanan
    jika kondisi: 
    	lulus

    # Jika mata depan mendeteksi warna biru maka belok kiri
  • Tetapkan kondisi pernyataan jika ke perintah front_eye.detectdan tetapkan parameter ke 'HIJAU.'
def main():
    # Jika mata depan mendeteksi hijau maka belok kanan
	if front_eye.detect(GREEN): 
    	pass
    	
    # Jika mata depan mendeteksi biru maka belok kiri
  • Tarik atau ketik perintah turn_for di dalam pernyataan if , untuk menggantikan 'pass'. Atur parameter untuk berbelok ke kanan 90 derajat. Sekarang, jika Sensor Mata Depan mendeteksi 'HIJAU', Robot VR akan berbelok ke kanan 90 derajat.
def main():
    # Jika mata depan mendeteksi hijau maka belok kanan
	if front_eye.detect(GREEN): 
    	drivetrain.turn_for(RIGHT, 90, DEGREES)
    	
    # Jika mata depan mendeteksi biru maka belok kiri
  • Kita akan mengikuti langkah yang sama untuk menambahkan pernyataanjika tambahan untuk ketiga warna di Disk Maze (hijau, biru, dan merah). Setiap warna dikaitkan dengan perilaku yang berbeda. Perintah di dalam pernyataan if harus sesuai dengan perilaku yang dimaksudkan. Tambahkan perintah berikut ke proyek di bawah komentar kedua, sehingga jika Sensor Mata Depan mendeteksi warna 'BIRU,' Robot VR akan berbelok ke kiri 90 derajat.
	# Jika mata depan mendeteksi warna biru maka belok kiri
	if front_eye.detect(BLUE): 
    	drivetrain.turn_for(LEFT, 90, DEGREES)
  • Saat Robot VR mencapai ujung labirin, Sensor Mata Depan akan mendeteksi warna 'MERAH.'

    Tampilan dekat Robot VR yang tiba di cakram merah di ujung Labirin Cakram, dan berhenti di depannya.
  • Untuk menghentikan Robot VR, pernyataan jika perlu ditambahkan dengan instruksi tentang apa yang harus dilakukan jika Sensor Mata Depan mendeteksi 'MERAH.' Tambahkan komentar dan perintah berikut ke proyek sehingga Robot VR berhenti melaju jika mendeteksi 'MERAH.' 
	# Jika mata depan mendeteksi warna merah maka hentikan
	if front_eye.detect(RED): 
    	drivetrain.stop()

Jika Tidak Ada Warna yang Terdeteksi

Robot VR juga dapat membuat keputusan jika tidak melihat warna dengan menggunakan nilai 'none'. Misalnya, pada titik awal Disk Maze, Front Eye Sensor tidak mendeteksi warna apa pun.

Tampilan taman bermain VR dengan dasbor terbuka dan kotak merah yang menyorot nilai penginderaan Front Eye robot. Nilai 'Objek' saat ini adalah salah, dan nilai 'Warna' saat ini adalah tidak ada.

Karena Sensor Mata Depan tidak mendeteksi warna di awal Labirin Cakram, Robot VR perlu melaju ke depan hingga mendeteksi cakram hijau. Pernyataan jika lainnya dapat ditambahkan untuk menginstruksikan Robot VR tentang apa yang harus dilakukan ketika tidak ada warna yang terdeteksi. 

  • Tambahkan komentar dan perintah berikut ke proyek, sehingga jika Sensor Mata Depan tidak mendeteksi warna apa pun, Robot VR akan melaju maju.
	# Jika mata depan tidak mendeteksi maka melajulah ke depan
	if front_eye.detect(NONE): 
    	drivetrain.drive(FOWARD)
  • Robot VR sekarang memiliki instruksi untuk setiap warna yang dideteksi oleh Sensor Mata Depan.
    • JikaSensor Mata Depan mendeteksi 'HIJAU' – Belok kanan 90 derajat
    • JikaSensor Mata Depan mendeteksi 'BIRU' – Belok kiri 90 derajat
    • JikaSensor Mata Depan mendeteksi 'MERAH' – Berhenti mengemudi
    • JikaSensor Mata Depan mendeteksi 'TIDAK ADA' –Maju terus
  • Buka Jendela Taman Bermain jika belum terbuka. PastikanDisk Maze Playgroundterbuka, dan jalankan proyek. Seluruh proyek akan terlihat seperti ini: 
def main():
    # Jika mata depan mendeteksi hijau, maka belok kanan
    if front_eye.detect(GREEN):
        drivetrain.turn_for(RIGHT, 90, DEGREES)

    # Jika mata depan mendeteksi biru, maka belok kiri
    if front_eye.detect(BLUE):
        drivetrain.turn_for(LEFT, 90, DEGREES)

    # Jika mata depan mendeteksi merah, maka berhenti
    if front_eye.detect(RED): 
        drivetrain.stop()

    # Jika mata depan tidak mendeteksi, maka melajulah ke depan
    if front_eye.detect(NONE): 
        drivetrain.drive(FOWARD)
  • Apakah Robot VR berperilaku seperti yang Anda inginkan? Mengapa atau mengapa tidak? Pada halaman Pelajaran berikutnya, kita akan mempelajari lebih lanjut tentang proyek ini.

Pilih tombol Berikutnya untuk melanjutkan sisa Pelajaran ini.