Пишу игру (на Android), одной из особенностей которой является кастомизация внешнего вида игрока. Есть класс Character
:
// Одежда персонажа -----------------------------------------------------------------------
// Головной убор
static byte dress_head;
// Верх
static byte dress_top;
// Низ
static byte dress_bottom;
// Обувь
static byte dress_shoes;
// Броня персонажа
------------------------------------------------------------------------
// Шлем
static byte armor_head;
// Нагрудник
static byte armor_top;
// Поножи
static byte armor_bottom;
// Защитные сапоги
static byte armor_shoes;
У класса Character
есть поля, отвечающие за хранение id
предметов одежды. Всего слотов под одежду 8
, 4
под броню и 4
под одежду.
Вопрос: где мне хранить id
всей одежды в игре? Если в массиве, то в каком файле?
Не углубляясь в конкретную технологию и язык программирования, все id
экипировки можно хранить несколькими способами:
enum
. При этом отпадает необходимость в id
как таковом. Просто у вас будет объявлен enum
, где будут перечислены все типы экипировки, и в нужный момент полю класса присваиваете конкретное значение enum
(по мне, это самый предпочтительный вариант). Если все же важно хранить именно id, то можете для каждого значения enum
определить, какое целое число соответствует конкретной экипировке.id
вещи, а значением - сама вещь (т.е. по факту, этот массив инициализируется
единожды при запуске приложения).xml
, json
, так и текстовый или бинарный файл.Я предлагаю реализовать класс Equip_Inventory, который будет хранить все данные об экиперованном инвентаре игрока.Объект EquipInventory должен хранить Имя сохранения *string(если игра имеет сохранения более 1-го) , массив Объектов Класса Equipments(ID вещи *int(для вывода нормального инвентаря),тип занимаемой ячейки инвентаря *int , кол-во здоровье вещи max *int(),текущее здоровье вещи *int).
При создании игры создаём объект Equip_Inventory и выводи его во внешний файл(но сам Equip_Inventory храним до выхода из сохранения в меню). При загрузке игры обращаемся к имеющемуся файлу с именем сохранения.Если вдруг есть сохранение без файла с EquipInventory(вдруг удалил случайно) , то генерим пустой EquipInventory. При измении инвентаря МОМЕНТАЛЬНО(это значит не до закрытия инвентаря или выхода из игры в меню) произвести выгрузку во внешний файл.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Прочёл в литературе, что в процессе Type Erasure (стирания типов) компилятор выполняет следующие действия:
Подскажите пожалуйста, как настроить в intellij idea такие же подсказки как в Eclipse?
Как перенести настройки IntelliJ IDEA или же при переустановке системы сделать резервное сохранение настроек программы?