บทเรียนที่ 3: การไหลของโปรเจกต์ที่มีหลายลูปในขณะที่
ตอนนี้คุณได้สร้างโครงการข้อความเพื่อนำทางหุ่นยนต์ VR ไปยังตัวอักษร ‘A’ บน Wall Maze Playgroundคุณจะขยายทักษะของคุณโดยใช้เงื่อนไขและค่าเซ็นเซอร์ ในบทเรียนนี้คุณจะนำทางหุ่นยนต์ VR ไปยังหมายเลข ‘2‘ ใน Wall Maze Playground จากนั้นสำรวจว่าเหตุใดจึงต้องใช้คำสั่งเพิ่มเติมเพื่อขับไปยังตัวอักษร ‘B’ ในการประลองมินิคุณจะใช้ทักษะเหล่านี้เพื่อนำทางจากจุดเริ่มต้นของเขาวงกตกำแพงไปยังหมายเลข ‘3’

ผลการเรียนรู้
- อธิบายขั้นตอนของโปรแกรมในโครงการที่มี VR Robot ขับไปข้างหน้าจนกว่าจะมีการกด Bumper Sensor
เปลี่ยนชื่อโปรเจกต์
- หากยังไม่ได้โหลดโครงการของบทเรียนก่อนหน้าให้โหล ด โครงการ Unit4Lesson2
-
เปลี่ยนชื่อ โครงการUnit4Lesson3
การไหลของโครงการเพื่อไปยังตัวอักษร ‘A’
ในบทเรียนก่อนหน้านี้หุ่นยนต์ VR ขับไปที่ตัวอักษร ‘A’ บน Wall Maze Playground เรามาดูขั้นตอนของโครงการในขณะที่เราเตรียมที่จะไปยังสถานที่ใหม่ใน Wall Maze

-
เพื่อให้เข้าใจถึงขั้นตอนของโครงการในการขับรถไปยังตัวอักษร ‘A’ บน Wall Maze Playground ได้ดียิ่งขึ้นให้เริ่มต้นด้วยการปรับเปลี่ยนโครงการก่อนหน้าของคุณหรือสร้างโครงการใหม่เพื่อให้ตรงกับโครงการพื้นฐานนี้
def main (): while not left_bumper.pressed (): drivetrain.drive ( FORWARD ) wait ( 5, msec) drivetrain.turn_for (LEFT, 90, DEGREES) while not left_bumper.pressed (): drivetrain.drive (FORWARD) wait (5, MSEC) drivetrain.turn_for (LEFT, 90, DEGREES) while not left_bumper.pressed (): drivetrain.drive (FORWARD) wait (5, msec ) drivetrain.stop ()
- เมื่อโครงการใช้ลูป while พร้อมเงื่อนไข ไม่ใช่ กระแสงานของโปรแกรมในโครงการจะยังคงดำเนินตามลำดับจากบนลงล่างเหมือนเดิม ลูปขณะ ที่ช่วยให้การ ไหลของโปรแกรม "หยุดชั่วคราว" ที่จุดใดจุดหนึ่งในขณะที่ตรงตามเงื่อนไข ตัว ดำเนินการ NOT อนุญาตให้โครงการอยู่ในลูปจนกว่า จะมีการรายงานเงื่อนไข False จากนั้นโปรเจกต์จะไหลไปยังคำสั่งถัดไปนอกลูป เงื่อนไข บูลีนเช่นกันชนซ้ายที่ถูกกดจะรายงาน ค่าที่ เป็นจริง หรือเท็จ ในรหัสนี้สำหรับการขับเคลื่อนหุ่นยนต์ VR ไปยังตัวอักษร ‘A' หุ่นยนต์ VR จะขับเคลื่อนไปข้างหน้าจนกว่าสภาพบูลีนของกันชนซ้ายจะถูกกดเป็นจริงขั้น
ตอนโครงการของโครงการที่จะขับรถไปยังตัวอักษร 'A' จะมีลักษณะดังนี้:
พฤติกรรมของหุ่นยนต์ VR แสดงให้เห็นว่า แต่ละ ลูปจะถูกดำเนินการอย่างไร เมื่อแบ่งออกเป็นส่วนๆควบคู่ไปกับการเคลื่อนที่ของหุ่นยนต์ VR เราจะเห็นได้อย่างชัดเจนว่าหุ่นยนต์ VR ได้ขับเคลื่อนไปที่ใดหลังจากแต่ละครั้งใน ขณะที่ ลูปในโครงการถูกดำเนินการ
ขับไปที่หมายเลข '2'
ในบทเรียนนี้โครงการจะได้รับการแก้ไขเพื่อให้ VR Robot ขับไปยังหมายเลข ‘2’ บน Wall Maze Playground!

-
โครงการจากบทเรียนที่ 2 มีหุ่นยนต์ VR เลี้ยวซ้ายเพื่อขับไปยังตัวอักษร ‘A’ เพื่อไปยังหมายเลข ‘2‘ หุ่นยนต์ VR จะต้องเลี้ยวขวาแทนขับไปข้างหน้าแล้วเลี้ยวซ้าย
-
เปลี่ยนทิศทางของคำสั่ง turn_for ที่สองไปทางขวาแทนที่จะเป็นทางซ้าย ตอนนี้โปรเจกต์ของคุณควรมีลักษณะดังนี้:
def main (): while not left_bumper.pressed (): drivetrain.drive ( FORWARD ) wait ( 5, msec) drivetrain.turn_for (LEFT, 90, DEGREES) while not left_bumper.pressed (): drivetrain.drive (FORWARD) wait (5, MSEC) drivetrain.turn_for (RIGHT, 90, DEGREES) while not left_bumper.pressed (): drivetrain.drive (FORWARD) wait (5, msec ) drivetrain.stop ()
- เปิด Wall Maze Playground หากยังไม่ได้เปิดและดำเนินโครงการ
-
ดูหุ่นยนต์ VR เริ่มขับไปที่หมายเลข ‘2’ แต่หยุดที่กำแพง ดังนั้นหุ่นยนต์ VR จะต้องเลี้ยวซ้ายเมื่อมันกดกับผนังแทนที่จะหยุด
-
เลือกปุ่ม "รีเซ็ต" เพื่อรีเซ็ตสนามเด็กเล่นและย้ายหุ่นยนต์ VR กลับไปที่ตำแหน่งเริ่มต้น
-
แก้ไขโค้ดโดยลบคำสั่ง หยุด และแทนที่ด้วยคำสั่งต่อไปนี้เพื่อขับหุ่นยนต์ VR ไปที่หมายเลข '2'
def main (): while not left_bumper.pressed (): drivetrain.drive (FORWARD ) wait ( 5, msec) drivetrain.turn_for ( LEFT, 90, DEGREES) while not left_bumper.pressed (): drivetrain.drive ( FORWARD) wait (5, msec) drivetrain.turn_for (RIGHT, 90, DEGREES) while not left_bumper.pressed (): drivetrain.drive ( FORWARD) wait (5, msec) drivetrain.turn_for (LEFT, 90, DEGREES) while not left_bumper.pressed (): drivetrain.drive (FORWARD) wait (5, msec) drivetrain.turn_for (LEFT, 90, DEGREES) while not left_bumper.pressed (): drivetrain.turn_for (FORWARD) wait (5, msec ) drivetrain.stop ()
- เปิด Wall Maze Playground หากยังไม่ได้เปิดและดำเนินโครงการ
-
ดู VR Robot ขับไปที่หมายเลข ‘2’ บน Wall Maze Playground!
- เลือกปุ่ม "รีเซ็ต" เพื่อรีเซ็ตสนามเด็กเล่นและย้ายหุ่นยนต์ VR กลับไปที่ตำแหน่งเริ่มต้น
เลือกปุ่ม ถัดไป เพื่อดำเนินการกับบทเรียนส่วนที่เหลือนี้ต่อไป