Riepilogo - Parser di comandi
Fa parte della sezione Logica e flusso del percorso GDScript di Coddy. Lezione 11 di 78.
Sfida
FacileScrivi il parser dei comandi di un'avventura testuale. Il programma legge un comando per riga, fino al comando quit. Pulisci prima ogni riga: rimuovi gli spazi da entrambe le estremità, converti il testo in minuscolo e dividilo in parole usando gli spazi, escludendo le parti vuote.
Rispondi a ogni comando con una riga, usando match sull'array di parole:
- Nessuna parola:
Type a command. help:Commands: go, take, inventory, quitgoe una direzione traDIRECTIONS:You go DIRECTION.goe qualsiasi altra parola:You can't go WORD.takee un oggetto già presente ininventory:You already have the ITEM.takee qualsiasi altro oggetto: aggiungilo ainventorye stampaYou take the ITEM.inventory:Inventory:seguito dagli oggetti separati da una virgola e uno spazio, oppureInventory: emptyquit:Goodbye!e il programma smette di leggere- Qualsiasi altra cosa:
Unknown command.
Per l'input seguente
help
Go North
go up
take lamp
inventory
quitl'output è:
Commands: go, take, inventory, quit
You go north.
You can't go up.
You take the lamp.
Inventory: lamp
Goodbye!Provalo tu
extends Node
func _ready():
const DIRECTIONS = ["north", "south", "east", "west"]
var inventory: Array[String] = []
# Leggi i comandi e rispondi finché il giocatore non digita quit
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