Pelajaran 3: Saat Warna Merah Terdeteksi
Tidak ada perintah untuk memberi tahu Robot VR apa yang harus dilakukan setelah mendeteksi warna merah. Untuk menghindari batas merah, Robot VR harus berbalik dan berbelok begitu mendeteksi warna merah, seperti yang dilakukannya dalam video ini.
-
Tambahkan komentar di akhir loopwhileuntuk menunjukkan apa yang harus terjadi ketika Down Eye Sensor mendeteksi batas merah. Proyek Anda sekarang akan terlihat seperti ini:
def main(): # Cari bangunan selama batas merah belum terdeteksi while not down_eye.detect(RED): # Apakah Sensor Jarak mendeteksi kastil? Jika front_distance.found_object(): # Tabrak kastil yang terdeteksi oleh Sensor Jarak drivetrain.drive(FORWARD) else: # Berbelok untuk mencari kastil menggunakan Sensor Jarak drivetrain.turn(RIGHT) wait(5, MSEC) # Mundur dan berbelok saat batas merah terdeteksi -
Tambahkan perintah drive_fordan turn_for di bawah komentar untuk memungkinkan Robot VR berbalik dan berbelok setelah Sensor Mata Bawah mendeteksi warna merah.
def main(): # Cari bangunan selama batas merah belum terdeteksi while not down_eye.detect(RED): # Apakah Sensor Jarak mendeteksi kastil? if front_distance.found_object(): # Tabrakan kastil terdeteksi oleh Sensor Jarak drivetrain.drive(FORWARD) else: # Berbelok untuk menemukan kastil menggunakan Sensor Jarak drivetrain.turn(RIGHT) wait(5, MSEC) # Mundur dan berbelok saat batas merah terdeteksi drivetrain.drive_for(REVERSE, 300, MM) drivetrain.turn_for(RIGHT, 90, DEGREES) - Buka Dynamic Castle Crasher Playgroundjika belum terbuka, lalu jalankan proyek tersebut. Apakah robot VR tersebut berperilaku sesuai dengan yang Anda inginkan?
- Saat proyek ini dijalankan, ada dua kondisi yang diperiksa. Yang pertama adalah kondisi Down Eye Sensor mendeteksi warna merah di dalam loop while. Perhatikan bahwa alur proyek berlanjut ke kondisi berikutnya yaitu terdeteksinya objek HANYA jika Sensor Mata Bawah tidak melihat warna merah. Jika Down Eye Sensor mendeteksi warna merah, alur proyek akan melewati pernyataan if else dan langsung beralih ke mengemudi mundur dan berbelok.

- Kondisi kedua yang diperiksa adalah pernyataanif else. Selama Sensor Mata Bawah tidak mendeteksi warna merah, proyek akan berlanjut dalam loopwhileuntuk memeriksa kondisi Sensor Jarak. Robot VR akan menggunakan data dari Sensor Jarak untuk membuat keputusan apakah akan bergerak maju atau berbelok ke kanan.

-
Namun, begitu Sensor Mata Bawah mendeteksi warna merah, Robot VR akan bergerak mundur, berbelok, lalu berhenti karena itu adalah akhir dari alur proyek. Tidak ada perulangan yang digunakan untuk mengulangi perilaku tersebut.

Menambahkan perulangan tak terbatas while
-
Diperlukan perulangan tak terbatas whileagar perilaku tersebut dapat berulang dalam sebuah perulangan. Seret atau ketikkan perulangan while di bagian atas proyek, dan atur kondisinya menjadi True untuk membuat perulangan tak terbatas. Kemudian, salin dan tempel kode sebelumnya ke dalam perulangan tak terbatas while. Pastikan perintah-perintah tersebut diberi indentasi yang tepat di bawah judul yang benar, jika tidak, proyek mungkin tidak berjalan seperti yang diharapkan. Proyek Anda sekarang akan terlihat seperti ini:
def main(): while True: # Cari bangunan selama batas merah belum terdeteksi while not down_eye.detect(RED): # Apakah Sensor Jarak mendeteksi kastil? if front_distance.found_object(): # Tabrakan kastil terdeteksi oleh Sensor Jarak drivetrain.drive(FORWARD) else: # Berbelok untuk menemukan kastil menggunakan Sensor Jarak drivetrain.turn(RIGHT) wait(5, MSEC) # Mundur dan berbelok saat batas merah terdeteksi drivetrain.drive_for(REVERSE, 300, MM) drivetrain.turn_for(RIGHT, 90, DEGREES) - Buka Dynamic Castle Crasher Playgroundjika belum terbuka, lalu jalankan proyek tersebut. Apakah robot VR tersebut berperilaku sesuai dengan yang Anda inginkan?
-
Saat proyek ini dijalankan, Robot VR akan bergerak menuju kastil yang terdeteksi dan berbelok ke kanan jika tidak ada kastil yang dilaporkan. Begitu Sensor Mata Bawah mendeteksi warna merah, Robot VR akan bergerak mundur, berbelok, dan terus melaju menuju kastil lain.

Pertanyaan
Silakan pilih tautan di bawah ini untuk mengakses kuis pelajaran.
Google Doc / .docx / .pdf