command = 1
current_room = 2
character = 3
match command.split():
case ["quit"]:
print("Goodbye!")
quit_game()
case ["look"]:
current_room.describe()
case ["get", obj]:
character.get(obj, current_room)
case ["go", direction]:
current_room = current_room.neighbor(direction)
case { "foo": foo }:
print(foo)
case {"bar": bar, "quux": quux}:
print(bar,quux)
case ["grab", { "key": {"garply": garply}}]:
print(garply)
case ["drop", *objs]:
print(objs)
case ["get", obj] | ["pick", "up", obj] | ["pick", obj, "up"]:
print(obj)
case ["go", ("north" | "south" | "east" | "west") as direction2]:
current_room = current_room.neighbor(direction2)
case (foo, "bar"):
print(foo)