Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы он был сосредоточен только на одной проблеме.
Закрыт 1 год назад.
Я только начал изучать C# как хобби для несерьёзного программирования. Первое задание - простая консольная RPG-подобная игра. Герой ходит по пещерам, сражается с монстрами и собирает сундуки.
В ходе игры надо генерировать предметы (оружие и доспехи), изменять их данные (показатель прочности), работать с инвентарем. Я уже смог описать нужные классы и конструкторы и могу создавать новые предметы со случайными параметрами. Но экземпляров этих классов будет много, после каждого боя выпадает новый предмет.
Где хранить данные об этих предметах, чтобы было проще видеть происходящее и не слишком сложно в реализации? В списках List? В xml-файле? В excel-таблице? В базе данных? Еще где-то?
UPDATE: Речь не о реализации сохранения/загрузки, а о хранении данных в процессе игры. Например, если складывать всё в коллекцию, то не очень понятно как смотреть и проверять, корректно ли применяются изменения. Возможно, для этого хорошо подойдет SQLite?
Если речь идет о хобби, то для начала сойдет и обычная коллекция.
А вообще очень рекомендую изучить игровые паттерны проектирования, большинство ответов Вы найдете здесь:
Очень поможет в изучении подходов к построению понятной игровой архитектуры, которая позволит легко создавать новые объекты с динамическими параметрами.
Если объектов действительно много, то для оптимизации производительности и памяти предлагаю вот этот паттерн из шаблонов оптимизации: Пул Объектов
У меня тоже была проблема с хранением обьектов и я решил её так: в процессе работы программы она создавала обьекты и сохраняла их в коллекции (в данном случае List), далее при нажатии кнопки коллекция подвергалась сериализации и сохранялась в файлике формата json. когда нужно было загрузить данные файлик десериализировался опять в коллекцию List с теми же обьектами. В общем тебе может помочь сериализация и десериализация в json.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Пришлите, пожалуйста, ссылку на исходный кодnet framework, где работает GetHashCode для объявленного мной класса