Menu
CoddyTech

Ôn tập: Bộ phân tích lệnh

Thuộc phần Logic và luồng chương trình trong hành trình GDScript của Coddy. Bài học 11 trên 78.

challenge icon

Thử thách

Dễ

Viết trình phân tích lệnh cho một trò phiêu lưu bằng văn bản. Chương trình đọc từng lệnh trên một dòng cho đến khi gặp lệnh quit. Trước tiên, xử lý từng dòng: xóa khoảng trắng ở hai đầu, chuyển thành chữ thường rồi tách thành các từ theo dấu cách, bỏ qua các phần tử rỗng.

Trả lời mỗi lệnh bằng một dòng, dùng match trên mảng từ:

  • Không có từ nào: Type a command.
  • help: Commands: go, take, inventory, quit
  • go và một hướng nằm trong DIRECTIONS: You go DIRECTION.
  • go và một từ bất kỳ khác: You can't go WORD.
  • take và một vật phẩm đã có trong inventory: You already have the ITEM.
  • take và một vật phẩm bất kỳ khác: thêm vật phẩm đó vào inventory rồi in ra You take the ITEM.
  • inventory: Inventory: và các vật phẩm được phân cách bằng dấu phẩy và dấu cách, hoặc Inventory: empty
  • quit: Goodbye!, rồi chương trình ngừng đọc
  • Mọi thứ khác: Unknown command.

Với đầu vào dưới đây

help
Go North
go up
take lamp
inventory
quit

đầu ra là:

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

Tự làm thử

extends Node

func _ready():
	const DIRECTIONS = ["north", "south", "east", "west"]
	var inventory: Array[String] = []
	# Đọc và phản hồi các lệnh cho đến khi người chơi nhập quit

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch GDScript online