Menu
CoddyTech

Повторение — светофор

Часть раздела Логика и потоки выполнения путешествия по GDScript на Coddy. Урок 41 из 78.

challenge icon

Задание

Легко

Смоделируйте светофор. На верхнем уровне скрипта объявите перечисление с именем 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

Все уроки раздела Логика и потоки выполнения

Потренируйтесь самостоятельно: Онлайн-компилятор GDScript