|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
22.01.2010, 11:41 | #1 |
Я еще только учусь
Форумчанин
Регистрация: 24.10.2009
Сообщений: 125
|
Чтение и запись карты.
Я создаю игру (точнее улучшаю уже). Нужно чтобы в файле было записано:
-Координата Х ячейки -Координата Y ячейки -Проходима ли ячейка или нет -Название текстуры -Название маски И из программы читались эти данные, и если надо, при изменении сохранялись. Можно ли сделать это наподобие двухмерного массива, где столбцы - координаты Y, а строки - Х?...Просто карта размером 40х30, и поэтому линейная запись слишком громоздкая будет... Заранее благодарен. Жду ответа. |
22.01.2010, 11:57 | #2 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Код:
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
22.01.2010, 11:59 | #3 |
Я еще только учусь
Форумчанин
Регистрация: 24.10.2009
Сообщений: 125
|
А в каком файле это хранить? в txt?
Я именно про файл хочу узнать...как хранить это в программе я знаю...а вот как прочесть и сохранить?... |
22.01.2010, 12:00 | #4 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Да какое хотите название придумайте! Там все зависит от того, что Вы укажете в AssignFile! Файл все равно будет содержать бинарные данные.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
22.01.2010, 13:33 | #5 | |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
У меня в игре объекты в текстовом файле хранились приблизительно в таком виде:
Цитата:
ANIMATIONID - идентификатор анимации этого объекта (анимации у меня были проиндексированы по строковым переменным) POSITION - собственно координаты объекта (у меня - его центра) SIZE - размер прямоугольника, занимаемого объектом (в игре проверялись пересечения прямоугольников главгероя и объектов) POINTS - сколько очков давалось главгерою за один бриллиант Соответственно, загружаете файл, возможно, в начале считываете данные в первой строке об игровом поле (например, его размеры). Каждую последующую строку разбираете по Фрейду на составные элементы - ищем позиции строки "TYPE=", затем позицию символа ";" - между ними заключена строка, которую и интерпретируем как строку или как число (координаты еще разбиты запятой). Вот как-то так у меня это работало.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
|
22.01.2010, 15:23 | #6 |
Участник клуба
Регистрация: 06.03.2009
Сообщений: 1,346
|
Почитай про двоичные типизированные файлы.
Также можно использовать двоичные нетипизированные файлы, только их сложнее использовать, но можно сохранять динамические данные. |
22.01.2010, 15:40 | #7 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Ckomoroh, начните с конкретики, сколько байт вам нужно на каждый тип данных. Например, у вас такая таблица:
1) Координата Х ячейки - 1 байт 2) Координата Y ячейки - 1 байт 3) Проходима ли ячейка или нет - 1 байт 4) Название текстуры - 1 байт 5) Название маски - 1 байт Считаем блок данных на одну клетку карты - 5 байт. Делаем цикл по числу клеток, цикл 2-го порядка: Код:
Перезапись через Write, режим Rewrite(MapFile).
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
22.01.2010, 19:33 | #8 |
Я еще только учусь
Форумчанин
Регистрация: 24.10.2009
Сообщений: 125
|
Я сделал так.... и файл карты весит 9 кб=( :
Код:
Код:
|
22.01.2010, 19:38 | #9 | |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Цитата:
Код:
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
|
22.01.2010, 19:52 | #10 |
Я еще только учусь
Форумчанин
Регистрация: 24.10.2009
Сообщений: 125
|
А ну да...точно...=)
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Чтение и запись в файл | deagle05 | Общие вопросы C/C++ | 3 | 22.12.2009 00:11 |
Запись....Ок. Чтение....Fail :( | Alex Cones | Общие вопросы Delphi | 9 | 20.11.2009 10:59 |
VC++ файлы(чтение\запись) | ("")(Э_Є)("") | Общие вопросы C/C++ | 3 | 16.06.2009 14:05 |
Запись и чтение файла... | Altera | Общие вопросы Delphi | 5 | 06.05.2008 20:22 |
Запись и чтение сообщений | Altera | Работа с сетью в Delphi | 6 | 13.04.2008 03:31 |