Создаю игру, в которой нужно реализовать получение заданий из БД
не могу решить вопрос с тем в каком формате их получать и обрабатывать
к примеру:
чел получает задание купить 2 стула в магазине -> он их покупает -> ему дают награду
далее он получает задание купить диван и стол -> успешно -> награда
и он получает задание третье - разместить эти 2 стула, стол и диван в доме
пример, по идее, должен иллюстрировать то, что задания могут быть любыми, а механизм получения должен быть одинаков
мне интересно как это работает с точки зрения алгоритма более развёрнуто, я имею в виду примерный функционал классов, которые мне нужно написать
(где есть способ сохранения текущего прогресса (я думаю использовать PlayerPrefs)),
нежели "ну там у тебя в БД таблица с заданиями, ну ты создаёшь класс для заданий и всё"
(обычно я находил только подобные ответы, но ведь это очевидно | наверное, я не умею гуглить)
Программирую я не долго, но меня вымораживает тот факт, что даже в играх в ВК есть такая механика, а я не могу придумать как это реализовать.
Создай таблицу с столбцами как было сказано выше, к ней напиши класс с методами:
1. Определение типа задания (купить, продать, поставить и.т.д), в зависимости от возвращенного значения напиши логику игрока для выполнения)
2. Тип предмета для действия (тут все просто, будут хранится предметы: стулья, столы, и.т.д. и их количество для выполнения)
3. Награда за выполнение задания.
4. Количество предметов у игрока (все то же самое что и в столбце 3)
5. Процесс выполнения (по желанию) в нём будут высчитываться сколько у игрока нужных предметов и в зависимости от их количества ставится % выполнения.
Может ещё какие есть, не продумывал детально. Все эти столбцы обернуть методами взаимодействия между собой, для проверки выполнения, и так далее. Пиши, если будут вопросы.
Хороший ответ Yegor, добавлю ещё другую таблицу: условия появления заданий - какая задача появляется после какой. Туда же можно добавить другие условия: время, уровень, наличие предметов или наоборот отсутствие (исчез важный предмет - добавить необязательное задание для получения этого предмета заново).