Repaso: analizador de comandos
Parte de la sección Lógica y flujo del Journey de GDScript de Coddy. Lección 11 de 78.
Desafío
FácilEscribe el analizador de comandos de una aventura de texto. El programa lee un comando por línea hasta que el comando quit. Limpia primero cada línea: elimina los espacios de ambos extremos, conviértela a minúsculas y divídela en palabras por los espacios, omitiendo las partes vacías.
Responde a cada comando con una línea, usando match en el arreglo de palabras:
- Sin palabras:
Type a command. help:Commands: go, take, inventory, quitgoy una dirección deDIRECTIONS:You go DIRECTION.goy cualquier otra palabra:You can't go WORD.takey un objeto que ya está eninventory:You already have the ITEM.takey cualquier otro objeto: añádelo ainventorye imprimeYou take the ITEM.inventory:Inventory:y los objetos separados por una coma y un espacio, oInventory: emptyquit:Goodbye!, y el programa deja de leer- Cualquier otra cosa:
Unknown command.
Para la siguiente entrada
help
Go North
go up
take lamp
inventory
quitla salida es:
Commands: go, take, inventory, quit
You go north.
You can't go up.
You take the lamp.
Inventory: lamp
Goodbye!Pruébalo tú mismo
extends Node
func _ready():
const DIRECTIONS = ["north", "south", "east", "west"]
var inventory: Array[String] = []
# Lee y responde a los comandos hasta que el jugador escriba quit
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