|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
26.06.2009, 12:06 | #1 |
Пользователь
Регистрация: 28.05.2009
Сообщений: 22
|
Как сохранить текущую игру ?
У меня есть игра меморина.Нужно чтобы при закрытии формы сохранялась текущая игра.И при следующем запуске была сохранённая игра.
меморина.rar |
26.06.2009, 14:39 | #2 |
Linux C++ Qt ARM
Старожил
Регистрация: 30.11.2008
Сообщений: 3,030
|
Моя точка зрения такова:
1. Обрабатываем закрытие формы (не помню как, но это можно сделать) 2. В обработке события (1) вызываем функцию сохранения (ну вобщем как-нибудь сохраняем). 3. Так же программе понадобится файл-напоминалка, в который мы запишем имя файла с сохранением из пункта 2. 4. При запуске программы открываем файл-напоминалку. Если его не существует, либо он не содержит информации об последней сохраненной игре, то не будет вам сохраененной игры при запуске. Если там указана сохраненная игра, то просто ее загружаем. Альтернатива пунктам 3 и 4: Никаких напоминалок, при запуске игра ищет в папке с сохранениями файл с самой поздней датой создания и запускает его (если нету сохранений, то небудет и старой игры)
Дилетант широкого профиля.
"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс |
26.06.2009, 15:35 | #3 |
Участник клуба
Регистрация: 12.08.2008
Сообщений: 1,977
|
Не очень понятен смысл игры.
Для начала дам один важный совет: если хотите, что бы Вам помогли, уважайте чужое время, трафик и дисковое пространство.Старайтесь во вложениях оставлять только необходимую информацию.Убирайте из вложений .exe -шник, файлы .dcu ( они появятся все равно при компиляции проекта), и все не нужные файлы, которые не используются непосредственно в проекте.(Вместо никому не интересного Word -овского файла "Отчет", в котором повторяются коды всех Unit, и бессмысленных скриншотов - и все это объемом более 3 Мб, лучше бы прикрепили маленькое пояснение к игре). Непосредственно по вопросу - конкретно, что в игре Вы хотите сохранить и в каком виде эта информация находится в проекте?.Проект объемный и вряд ли кому то охота сидеть и разбирать дотошно всю игру, что бы понять смысл. Так что старайтесь задавать вопросы более конкретно.
И не сомневайся даже ... отдых - кайф, работа - лажа!
|
26.06.2009, 18:36 | #4 |
Пользователь
Регистрация: 28.05.2009
Сообщений: 22
|
Нужно чтобы сохранилось игровое поле,точнее его состояние.
Это должно быть буквально строчки 3-4 написать Или ввести новую процедуру P.S.Спасибо за информацию. |
26.06.2009, 22:06 | #5 |
Участник клуба
Регистрация: 12.08.2008
Сообщений: 1,977
|
В похожих играх обычно игровое поле привязано к двухмерному массиву, элементы которого хранят значения каждого поля (т.н. индексы), которые соответствуют состоянию поля (или ячейки).
Например - mas_index[0,1]:= 1 (соответствует, скажем цвету Red), mas_index[2,1]:= 3 (Green) и т.д. Получим численный массив (типа byte или integer).Перед выходом из игры записываем этот масив в файл (можно текстовый), а при запуске игры считываем массив из файла и передаем эти значения в программу.
И не сомневайся даже ... отдых - кайф, работа - лажа!
|
27.06.2009, 16:38 | #6 |
Пользователь
Регистрация: 28.05.2009
Сообщений: 22
|
Ну в принципе нужный алгоритм. Но как реализовать запись массива в файл?Ну и считываине тоже
|
27.06.2009, 19:03 | #7 |
Участник клуба
Регистрация: 12.08.2008
Сообщений: 1,977
|
Запись:
Код:
Код:
И не сомневайся даже ... отдых - кайф, работа - лажа!
|
27.06.2009, 23:35 | #8 |
Пользователь
Регистрация: 28.05.2009
Сообщений: 22
|
А как правильно объявить процедуры?!
Вроде самое,то ) |
27.06.2009, 23:51 | #9 |
Участник клуба
Регистрация: 12.08.2008
Сообщений: 1,977
|
Создайте глобально массив, в который заносите состояние полей (ячеек) игрового поля.(В выше приведенных примерах masWI и masRI -это по сути один и тот же массив).Введите в проект компонент(кнопку или меню) "Сохранить игру", по которому сохраняется игра.В обработчике этого компонента и вызывайте процедуру WriteIndex.При запуске игры аналогично введите компонент "Загрузить сохраненную игру" и в обработчике вызывайте ReadIndex.
Cами процедуры описываются в начале раздела implementation.
И не сомневайся даже ... отдых - кайф, работа - лажа!
|
28.06.2009, 14:43 | #10 |
Пользователь
Регистрация: 28.05.2009
Сообщений: 22
|
Спасибс)посмотрим что получится)
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как сделать текущую форму главной? | TaTT DoGG | Общие вопросы .NET | 2 | 10.06.2009 15:34 |
как добавить в имя файла текущую дату? | Markan | Microsoft Office Excel | 3 | 27.05.2009 13:19 |
Как мне узнать текущую строку в БД (InterBase) | Edward | БД в Delphi | 2 | 05.03.2009 17:09 |
Как получить текущую дату из SQL запроса? | _ozzy_ | SQL, базы данных | 2 | 09.09.2008 21:15 |
как в мемо добавить в текущую строчку символ из переменной | Kukkk | Общие вопросы Delphi | 6 | 01.09.2007 16:48 |