Творческое задание - простая текстовая игра. Играть в неё можно вводя команды в консоли. Вводим команду - получаем ответ. Такие игры делали когда компьютеры были большими, а интернета не было вовсе. В следующих домашних заданиях мы будем увеличивать функционал игры и переводить её в интернет, делать многопользовательской.
Игровой мир обычно состоит из комнат, где может происходить какое-то действие. Так же у нас есть игрок. Как у игрока, так и у команты есть состояние. initGame делает нового игрока и задаёт ему начальное состояние. В данной версии можно обойтись глобальными переменными для игрока.
Команда парсится как
В тестах представлены последовательности команд и получаемый ответ. Задача - пройти все тесты и сделать правильно. Под правильным понимается универсально, чтобы можно было без проблем что-то добавить или убрать. Т.е. бесконечный набор захардкоженных if'ов не подойдёт для всего мира не подойдёт. Услвоия есть толкьо внутри конкретной комнаты. Надо думать в сторону объектов, вызова функций, структур, которые описывают состояние комнаты и игрока, функций которые описывают какой-то интерактив в комнате. Не забывайте что вы можете создать мапу из функций. Или можно реализовать триггер (действие, выполняемое при каком-то событии). Или у структуры поле может иметь тип "функция".
Тестовых кейсов много. Прочитайте их внимательно, там есть результаты работы всего что вам надо. Задание сложное, не на 5 минут Не стесняйтесь. Не забывайте, что у нас ест ьканал в телеграме - лучше спрашивать туда. Однако преждем чем спрашивать - попробуйте что-то сделать и четко сформулируйте, что у вас не получается.