Направление движения

В этом уроке:

  • Создаём универсальный блок подъезда к перекрёстку;
  • Поворот налево при встрече знака "направление движения".

Направление движения

Ещё один знак, с которым мы познакомимся, разрешает движение только в направлении, указанном стрелкой. Существуют также двунаправленные знаки, которые указывают две стороны поворота. В таком случае движение может быть продолжено в любую из указанных сторон. 

Если знак "Направление движения" разрешает движение налево, то он разрешает и разворот.

Создание блока подъезда к перекрёстку

Итак, если машинка встречает данный знак, значит впереди её ждёт перекрёсток, на котором она должна повернуть налево. У нас уже есть похожий алгоритм: мы использовали его для поворота на перекрёстке, перед которым установлен светофор. 

Сейчас нам необходимо скопировать алгоритм из того урока и немного изменить его. В частности, нам не нужен генератор случайных чисел для выбора направления поворота, поскольку направление указывает знак. 

 Когда мы говорим о программировании, хорошей практикой считается создание блоков, если эти блоки будут использоваться несколько раз. Мы это уже делали, создавая блок движения по линии и поворотов налево и направо. Сейчас же нам нужно подъехать к перекрёстку, как мы делали это при проезде перекрёстка на светофоре, поэтому давайте вернёмся к алгоритму проезда светофора и создадим из него блок, который будем использовать и в этом уроке.

(картинка кликабельна)

Аналогично тому, как мы делали в уроке Движение по линии, создайте блок. 

Инструменты -> Конструктор Мой блок. Задайте имя блока (мы назвали его move_to) и выберите подходящий значок. Нажмите завершить.

Алгоритм движения на светофоре стал гораздо компактнее, а у нас появился новый блок, который отвечает за подъезд к перекрёстку. Теперь мы можем использовать данный блок и в других местах программы.

Поворот налево

Переходим непосредственно к алгоритму данного урока. Добавляем блок ИК-приёмника и выбираем знак "Поворот налево". Он находится в группе "Дорожные знаки 2".

Добавляем переключатель. Если знак обнаружен, то движемся прямо до момента, пока не обнаружим перекрёсток (созданный нами только что блок move_to), далее — поворачиваем налево (блок turn_felt, который мы также создали в уроке поворота на перекрёстке). На этом алгоритм готов.

Загрузите программу, поставьте машинку на трассу и проверьте, что она работает корректно.

Поздравляю с изучением данного урока!
Следующий урок:
№13. Светофор с дополнительными секциями.
приступить к изучению

Обсуждение

Гарантии и возврат. Используя сайт, Вы соглашаетесь с условиями.