Menu
CoddyTech

Revisão - Analisador de Comandos

Parte da seção Lógica e fluxo do Journey de GDScript da Coddy. Lição 11 de 78.

challenge icon

Desafio

Fácil

Escreva o analisador de comandos de uma aventura de texto. O programa lê um comando por linha, até o comando quit. Limpe cada linha primeiro: remova os espaços das duas extremidades, converta-a para letras minúsculas e divida-a em palavras nos espaços, descartando as partes vazias.

Responda a cada comando com uma linha, usando match no array de palavras:

  • Nenhuma palavra: Type a command.
  • help: Commands: go, take, inventory, quit
  • go e uma direção de DIRECTIONS: You go DIRECTION.
  • go e qualquer outra palavra: You can't go WORD.
  • take e um item que já está em inventory: You already have the ITEM.
  • take e qualquer outro item: adicione-o a inventory e imprima You take the ITEM.
  • inventory: Inventory: e os itens separados por uma vírgula e um espaço, ou Inventory: empty
  • quit: Goodbye!, e o programa para de ler
  • Qualquer outra coisa: Unknown command.

Para a entrada abaixo

help
Go North
go up
take lamp
inventory
quit

a saída é:

Commands: go, take, inventory, quit
You go north.
You can't go up.
You take the lamp.
Inventory: lamp
Goodbye!

Experimente você mesmo

extends Node

func _ready():
	const DIRECTIONS = ["north", "south", "east", "west"]
	var inventory: Array[String] = []
	# Leia e responda aos comandos até que o jogador digite quit

Todas as lições de Lógica e fluxo

Pratique por conta própria: Compilador de GDScript online