lexpexkex (lexpexkex) wrote,
lexpexkex
lexpexkex

Categories:

С++

В общем, нудился я, нудился на выходных.
Реализовывал потихоньку игровой смартфон.
Чтобы, типа, звонить можно было (тут просто включается уже реализованный диалоговый процессор), по миникарте ориентироваться (тут частично вышло, что хотел, частично нет, миникарта сама нормуль, но хотелось бы приделать к ней интерактив. А я пока не совсем понимаю, как её координаты пересчитать в игровые, учитывая, что у меня ещё и зум есть на ней), магазин (я ведь уже запилил основу для крафта, торговли и прочего вместе с инвентарём).
В общем, ковыряюсь в обработчике диалогов и у меня не то, чтобы проблема, но есть неудобство. Надо же при разговорах чтобы всё зависело от параметров и чтобы сами параметры диалог успешно изменял. И естественно, вся эта логика должна быть вынесена во внешний json-файл, где я буду всё править, не прибегая к программированию.
Короче, вся эта куча переменных очень неудобно была в двух функция в виде гигантских switch.
И тут у меня перемкнуло. А ведь в том же json-файле можно хранить не только диалоги и их логику, но ещё и параметры персонажа. И тогда мне не придётся за ними далеко ходить, ведь они тут же, в файле лежат. Читай себе и меняй. А потом подумалось, что зачем мелочиться, ведь туда и инвентарь запихнуть можно!
Единственное, что меня напрягало - это скучная реализация сериализации. Считать из json значения в переменные, потом наоборот, надо как-то всё это запихнуть в json-файл. Ведь параметры персонажа будут меняться и надо будет в будущем делать сохранения!

И вот тут меня перемкнуло во второй раз. А зачем мне страдать сериализацией? Ведь я получаю красивый rapidjson:: Document, где можно себе считать любое значение, обратившись к структуре документа. И даже можно его изменить.
Зачем мне сериализация, если я смогу напрямую работать с геттерами и сеттерами документа? И сохранить его в файл можно одной строчкой кода, как и загрузить.

В общем, либо это гениальное (для моих скромных возможностей) решение, либо на выходе получится лютый треш (ибо в классе персонажа практически отсутствуют и параметры и инвентарь и ХЗ откуда вообще они берутся).

Пока что, с учётом новой парадигмы, естественно, что мой инвентарь с системой крафта, торговлей и прочим стал совершенно непригоден (диалоги требуют минимального напилинга, ибо они уже базировались на json-файле). И придётся переписывать всё заново (точнее, хорошо адаптировать, потому что задачи круто изменились и старый код частично вообще не пригоден, хотя принципы, конечно, не поменялись, но иерархия классов уже пошла по одному месту, как и сам принцип независимых ячеек инвентаря).
Короче, я скоро в отпуск и надеюсь хоть там довести пару механик до финального результата.

ЗЫ. А зачем хохлам томос неподписанный привезли? И вот так у них всё...
Subscribe

  • Ну, если москали уберутся, то хорошо.

    Что тут ещё сказать? Война не радует. Учения закончены, если начнут возвращаться в Каспий и Сибирь, то ОК. Непонятно, правда, зачем такой переход из…

  • Настала пора выполнять предвыборные обещания.

    Кандидат в президенты Украины, шоумен Владимир Зеленский, лидирующий в предвыборной гонке, в интервью телеканалу «1+1» объяснил свои слова о…

  • О ВСУ.

    Тут мне закидывают, что ВСУ имеют сравнимую численность с собравшейся группировкой, и легко наберут миллион для защиты Родины, отражения агрессии и…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 35 comments

  • Ну, если москали уберутся, то хорошо.

    Что тут ещё сказать? Война не радует. Учения закончены, если начнут возвращаться в Каспий и Сибирь, то ОК. Непонятно, правда, зачем такой переход из…

  • Настала пора выполнять предвыборные обещания.

    Кандидат в президенты Украины, шоумен Владимир Зеленский, лидирующий в предвыборной гонке, в интервью телеканалу «1+1» объяснил свои слова о…

  • О ВСУ.

    Тут мне закидывают, что ВСУ имеют сравнимую численность с собравшейся группировкой, и легко наберут миллион для защиты Родины, отражения агрессии и…