Repaso: semáforo
Parte de la sección Lógica y flujo del Journey de GDScript de Coddy. Lección 41 de 78.
Desafío
FácilSimula un semáforo. En el nivel superior del script, declara un enum llamado TrafficLight con las opciones RED, YELLOW y GREEN, y escribe tres funciones que usen cada una un match sobre la luz:
get_driver_action(light)devuelve"Stop"para rojo,"Caution"para amarillo y"Go"para verdeget_wait_time(light)devuelve30para rojo,3para amarillo y25para verdeget_next_light(light)devuelve la luz que viene después: rojo pasa a verde, verde pasa a amarillo y amarillo pasa a rojo
El programa lee dos líneas: el nombre de la primera luz (RED, YELLOW o GREEN) y cuántas luces mostrar (un número entero, 1 o más). Para cada luz, imprime su nombre, su acción y su tiempo de espera; después, pasa a la siguiente luz. Por último, imprime la suma de todos los tiempos de espera.
Para las entradas RED y 4, la salida es:
RED: Stop for 30 seconds
GREEN: Go for 25 seconds
YELLOW: Caution for 3 seconds
RED: Stop for 30 seconds
Total wait: 88 secondsPruébalo tú mismo
extends Node
# Declara el enum TrafficLight aquí
# Escribe get_driver_action(), get_wait_time() y get_next_light() aquí
func _ready():
var first := OS.read_string_from_stdin()
var count := int(OS.read_string_from_stdin())
# Muestra los semáforos y el tiempo total de espera
pass
Todas las lecciones de Lógica y flujo
1Cadenas de texto en profundidad
Métodos de cadenasBúsqueda en cadenasReemplazar y eliminar espaciosDividir y unirRepaso - Comprobación del nombre de usuario4Diccionarios, parte 2
Diccionarios anidadosArrays de diccionariosCombinar diccionariosCopiar diccionariosRepaso: contador de frecuencias7Enumeraciones
¿Qué es una enumeración?Definir una enumeraciónValores de una enumeraciónEnumeraciones en matchRepaso: semáforo10Funciones avanzadas
Devolver múltiples valoresFunciones lambda, parte 1Funciones lambda, parte 2Repaso: ordenar con lambdaFunciones recursivas, parte 1Funciones recursivas, parte 2Repaso: sumar un array anidado13Sistema de gestión de inventario
Descripción general del proyectoAñadir artículo2Toma de decisiones avanzada
Coincidencia con variablesGuardas de coincidenciaPatrones de arraysPatrones de diccionariosComprobaciones de pertenenciaRepaso: analizador de comandos5Aplicación de agenda de contactos
Mostrar menúAñadir contacto8Gestor de expedientes estudiantiles
Descripción del proyectoAgregar estudiante3Arrays multidimensionales
Conceptos básicos de arrays 2DAcceso a elementos de arrays 2DBucles anidados con arrays 2DRepaso: arrays 2DArrays irregularesPatrones comunes de arrays 2DRepaso: tablero de juego6Conjuntos con diccionarios
¿Qué es un conjunto?El diccionario como conjuntoAñadir y eliminarUnión e intersecciónDiferencia de conjuntosRepaso: eliminar duplicados9Agregación avanzada de datos
Suma de valoresCómo encontrar el mínimo y el máximoOrdenación personalizadaRepaso: organizador de diccionariosPractica por tu cuenta: Compilador de GDScript online