У меня есть немного вопрос новичков относительно хранения картографических данных в java-игре. Я делаю 2d игру на основе плитки, где каждая плитка имеет id (1, 2, 3, 4 и так далее...). В настоящее время я храню данные игры в файле.txt, где каждый номер разделяется вкладкой. Оттуда я прочитал его через сканеры.nextInt.
Этот метод работает отлично, но он, похоже, вызывает у меня проблему:
Как этого избежать? Должен ли я хранить данные карты по-разному или использовать какую-либо форму шифрования?
Одним из решений для этого было бы хранение данных в базе данных, таких как дерби. Как только игра будет экспортирована в качестве файла jar, случайный игрок никогда не увидит файл, и, если они их поймают, вероятно, не будет знать, что с ним делать.
Вот хороший учебник о том, как настроить и подключиться к простой базе данных derby.
http://www.vogella.com/tutorials/ApacheDerby/article.html
удачи.
Java имеет интерфейс Serializable, который можно использовать для сохранения java-объектов.
Документы API можно найти здесь: http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html
Это не делает невозможным для людей обманывать и менять карты только сложнее.
Если вы действительно беспокоитесь об этом, вы можете использовать некоторую форму шифрования или добавить контрольную сумму для дальнейшего предотвращения несанкционированного доступа.