Разговор

Робот слышит и говорит · 30 мин

Робот задаёт вопрос и по-разному отвечает на «да» и «нет»

Интро

Робот задаёт вопрос и по-разному отвечает на «да» и «нет»

Чему научишься
Новое

Задача

Сделай, чтобы робот спросил «Поедем?» и повёл себя по-разному: на «да» — поехал, на «нет» — загрустил.

Результат

1. Спроси

Робот произносит вопрос.

2. Дождись ответа

Жди, пока услышанное не станет не пустым, но не бесконечно.

3. Разветви

На «да» — движение, на «нет» — грустное лицо.

4. Молчание

Если за отведённое время ничего не сказали — робот переспрашивает.

Подсказки

Инструкция по сборке

Понадобится

Базовая платформа: левое колесо в D, правое в C.

Пример программы

Что должно получиться
robot.configure_drive(wheel_diameter_mm=43.2, track_width_mm=120, left_motor=1, right_motor=2)

robot.say("Поедем?")

ответ = None
for попытка in range(50):      # примерно десять секунд ожидания
    ответ = robot.heard()
    if ответ is not None:
        break
    robot.wait(0.2)

if ответ is None:
    robot.say("Я не расслышал")
else:
    слова = ответ.lower().split()   # по словам, а не по буквам: в «до свидания» тоже есть «да»
    # «нет» важнее: «нет, не надо» робот слышит как «нет нет да» — и не должен поехать
    if "да" in слова and "нет" not in слова:
        robot.face("happy")
        robot.forward_cm(20)
        robot.stop()
    else:
        robot.face("sad")
        robot.say("Ну ладно")