Riepilogo - Semaforo
Fa parte della sezione Logica e flusso del percorso GDScript di Coddy. Lezione 41 di 78.
Sfida
FacileSimula un semaforo. Al livello superiore dello script, dichiara un enum chiamato TrafficLight con le opzioni RED, YELLOW e GREEN, e scrivi tre funzioni che usano ciascuna un match sul semaforo:
get_driver_action(light)restituisce"Stop"per il rosso,"Caution"per il giallo e"Go"per il verdeget_wait_time(light)restituisce30per il rosso,3per il giallo e25per il verdeget_next_light(light)restituisce il semaforo successivo: il rosso diventa verde, il verde diventa giallo e il giallo diventa rosso
Il programma legge due righe: il nome del primo semaforo (RED, YELLOW o GREEN) e quanti semafori mostrare (un numero intero, 1 o più). Per ogni semaforo, stampa il suo nome, la sua azione e il suo tempo di attesa, poi passa al semaforo successivo. Infine, stampa la somma di tutti i tempi di attesa.
Per gli input RED e 4, l'output è:
RED: Stop for 30 seconds
GREEN: Go for 25 seconds
YELLOW: Caution for 3 seconds
RED: Stop for 30 seconds
Total wait: 88 secondsProvalo tu
extends Node
# Dichiara l'enum TrafficLight qui
# Scrivi get_driver_action(), get_wait_time() e get_next_light() qui
func _ready():
var first := OS.read_string_from_stdin()
var count := int(OS.read_string_from_stdin())
# Mostra i semafori e il tempo di attesa totale
pass
Tutte le lezioni di Logica e flusso
1Stringhe in dettaglio
Metodi delle stringheRicerca nelle stringheSostituzione e trimDividere e unireRipasso - verifica del nome utente4Dizionari - Parte 2
Dizionari annidatiArray di dizionariUnire dizionariCopiare dizionariRiepilogo - Contatore di frequenza7Enumerazioni
Che cos'è un'enumerazione?Definire un'enumerazioneValori dell'enumerazioneEnumerazioni in MatchRiepilogo - Semaforo10Funzioni avanzate
Restituire più valoriFunzioni lambda - Parte 1Funzioni lambda - Parte 2Ripasso - Ordinamento con lambdaFunzioni ricorsive - Parte 1Funzioni ricorsive - Parte 2Ripasso - Somma di un array annidato13Sistema di gestione dell'inventario
Panoramica del progettoAggiungere un articolo2Decisioni avanzate
Match con variabiliGuardie di matchPattern per arrayPattern per dizionariVerifiche di appartenenzaRiepilogo - Parser di comandi5Applicazione Rubrica
Visualizzare il menuAggiungere un contatto8Gestione dei registri degli studenti
Panoramica del progettoAggiungi studente11Funzioni di ordine superiore
Il metodo mapIl metodo filterIl metodo reduceany e allRipasso - Validatore di emailRipasso - Elaboratore di numeri3Array multidimensionali
Fondamenti degli array 2DAccedere agli elementi di un array 2DCicli annidati con array 2DRipasso - Array 2DArray frastagliatiSchemi comuni con gli array 2DRipasso - Tabellone di gioco6Insiemi con i dizionari
Che cos'è un insieme?Il dizionario come insiemeAggiungere e rimuovereUnione e intersezioneDifferenza tra insiemiRiepilogo - Rimuovere i duplicati9Aggregazione avanzata dei dati
Somma dei valoriTrovare minimo e massimoOrdinamento personalizzatoRiepilogo - Ordinatore di dizionariEsercitati da solo: Compilatore GDScript online