Повторение — светофор
Часть раздела Логика и потоки выполнения путешествия по GDScript на Coddy. Урок 41 из 78.
Задание
ЛегкоСмоделируйте светофор. На верхнем уровне скрипта объявите перечисление с именем TrafficLight и вариантами RED, YELLOW и GREEN, а также напишите три функции, каждая из которых использует match для выбора действия в зависимости от цвета светофора:
get_driver_action(light)возвращает"Stop"для красного,"Caution"для жёлтого и"Go"для зелёногоget_wait_time(light)возвращает30для красного,3для жёлтого и25для зелёногоget_next_light(light)возвращает следующий цвет светофора: после красного идёт зелёный, после зелёного — жёлтый, а после жёлтого — красный
Программа считывает две строки: название первого цвета светофора (RED, YELLOW или GREEN) и количество цветов, которые нужно показать (целое число, не меньше 1). Для каждого цвета выведите его название, действие и время ожидания, а затем перейдите к следующему цвету. В конце выведите сумму всех значений времени ожидания.
Для входных данных RED и 4 результат будет таким:
RED: Stop for 30 seconds
GREEN: Go for 25 seconds
YELLOW: Caution for 3 seconds
RED: Stop for 30 seconds
Total wait: 88 secondsПопробуйте сами
extends Node
# Объявите здесь перечисление TrafficLight
# Напишите здесь get_driver_action(), get_wait_time() и get_next_light()
func _ready():
var first := OS.read_string_from_stdin()
var count := int(OS.read_string_from_stdin())
# Выведите сигналы светофора и общее время ожидания
pass
Все уроки раздела Логика и потоки выполнения
1Строки: углублённое изучение
Методы строкПоиск в строкахЗамена и обрезка пробеловРазделение и объединениеПовторение — проверка имени пользователя4Словари. Часть 2
Вложенные словариМассивы словарейОбъединение словарейКопирование словарейПовторение — подсчёт частоты10Продвинутые функции
Возврат нескольких значенийЛямбда-функции. Часть 1Лямбда-функции. Часть 2Повторение — сортировка с помощью лямбда-функцииРекурсивные функции. Часть 1Рекурсивные функции. Часть 2Повторение — сумма вложенного массива13Система управления запасами
Обзор проектаДобавление товара2Продвинутое управление ветвлением
Сопоставление с переменнымиУсловия в шаблонахШаблоны массивовШаблоны словарейПроверка принадлежностиИтоги — парсер команд5Приложение «Телефонная книга»
Показать менюДобавить контакт8Менеджер успеваемости студентов
Обзор проектаДобавить студента3Многомерные массивы
Основы двумерных массивовДоступ к элементам двумерного массиваВложенные циклы с двумерными массивамиПовторение: двумерные массивыРваные массивыТипичные шаблоны работы с двумерными массивамиПовторение: игровое поле6Множества и словари
Что такое множество?Словарь как множествоДобавление и удалениеОбъединение и пересечениеРазность множествПовторение — удаление дубликатовПотренируйтесь самостоятельно: Онлайн-компилятор GDScript