Bài 3: Project Flow với nhiều vòng lặp While
Bây giờ bạn đã tạo một dự án văn bản để điều hướng Robot VR đến chữ 'A' trên Mê cung tường Sân chơi, bạn sẽ mở rộng kỹ năng của mình bằng cách sử dụng các điều kiện và giá trị cảm biến. Trong Bài học này, bạn sẽ điều khiển Robot VR đến số '2' trong Mê cung tường Sân chơi, sau đó khám phá lý do tại sao cần có thêm lệnh để lái đến chữ 'B'. Trong thử thách nhỏ này, bạn sẽ áp dụng những kỹ năng này để di chuyển từ đầu Mê cung tường đến số '3'.

Kết quả học tập
- Mô tả luồng chương trình trong một dự án có Robot VR di chuyển về phía trước cho đến khi Cảm biến cản được nhấn.
Đổi tên dự án
- Nếu dự án của Bài học trước chưa được tải, hãy tải dự án Unit4Lesson2.
-
Đổi tên dự án thành Unit4Lesson3.

Luồng của Dự án hướng đến chữ 'A'
Trong bài học trước, Robot VR đã lái xe đến chữ 'A' trên Mê cung tường Sân chơi. Hãy cùng phân tích luồng dự án khi chúng ta chuẩn bị di chuyển đến vị trí mới trong Mê cung tường.

-
Để hiểu rõ hơn về quy trình dự án lái xe đến chữ 'A' trên Mê cung tường Sân chơi, hãy bắt đầu bằng cách sửa đổi dự án trước đó của bạn hoặc tạo một dự án mới phù hợp với dự án cơ sở này.
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() - Khi một dự án sử dụng vòng lặp whilevới điều kiện chứ không phải , luồng chương trình của dự án vẫn tuân theo trình tự từ trên xuống dưới. Vòng lặp whilecho phép luồng chương trình "tạm dừng" tại một thời điểm nhất định khi một điều kiện được đáp ứng. Toán tửchứ không phảicho phép dự án tiếp tục chạy cho đến khi điều kiện được báo cáoSai. Sau đó, dự án sẽ chuyển sang lệnh tiếp theo bên ngoài vòng lặp. Điều kiện Boolean, chẳng hạn như nhấn vào Left Bumper, sẽ báo cáo giá trị True hoặc False. Trong đoạn mã này để điều khiển Robot VR đến chữ 'A', Robot VR sẽ tiến về phía trước cho đến khi điều kiện Boolean của Left Bumper được nhấn là True.
Luồng dự án của dự án để điều khiển đến chữ 'A' sẽ trông như thế này:
Hành vi của Robot VR cho thấy cách thực hiện từng vòng lặpwhile. Phân tích theo chuyển động của VR Robot, chúng ta có thể thấy rõ VR Robot đã di chuyển đến đâu sau mỗi vòng lặpwhiletrong dự án được thực hiện.
Lái xe đến số '2'
Trong Bài học này, dự án sẽ được chỉnh sửa để Robot VR di chuyển đến số '2' trên Mê cung tường Sân chơi!

-
Dự án ở Bài 2 yêu cầu Robot VR rẽ trái để lái đến chữ 'A'. Để điều hướng đến số '2', Robot VR sẽ phải rẽ phải, tiến về phía trước rồi rẽ trái.

-
Thay đổi hướng của lệnh turn_forthứ hai sang phải thay vì sang trái. Dự án của bạn bây giờ sẽ trông như thế này:
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() - Khởi chạy Sân chơi mê cung tường nếu nó chưa mở và chạy dự án.
-
Hãy xem Robot VR bắt đầu di chuyển đến số '2' nhưng dừng lại ở bức tường. Vì vậy, VR Robot cần rẽ trái khi chạm vào tường thay vì dừng lại.

-
Chọn nút “Đặt lại” để đặt lại Sân chơi và di chuyển Robot VR trở lại vị trí ban đầu.

-
Chỉnh sửa mã bằng cách xóa lệnh stop và thay thế bằng các lệnh sau để điều khiển Robot VR đến số '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) trong khi không left_bumper.pressed(): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.stop() - Khởi chạy Wall Maze Playground nếu nó chưa mở và chạy dự án.
-
Hãy xem Robot VR lái đến số '2' trên Sân chơi Mê cung Tường !

- Chọn nút “Đặt lại” để đặt lại Sân chơi và di chuyển Robot VR trở lại vị trí ban đầu.
Chọn nút Tiếp theo để tiếp tục phần còn lại của Bài học này.