Поиск:

Ответ в темуСоздание новой темы Создание опроса
> игра сокобан 
:(
    Опции темы
ratgunter
Дата 5.12.2009, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 17.11.2008

Репутация: нет
Всего: нет



Да я уже голову сломал, никак не могу редактор сделать, мож у кого-нибудь есть готовый пример....?
PM MAIL   Вверх
vikaz
Дата 5.12.2009, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 869
Регистрация: 15.2.2006

Репутация: 10
Всего: 12



сек

Добавлено через 7 минут
ни у кого под тебя готового редактора не будет



--------------------
user posted image

Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ 
PM MAIL ICQ Skype   Вверх
vikaz
Дата 5.12.2009, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 869
Регистрация: 15.2.2006

Репутация: 10
Всего: 12



Я думаю, что должно быть примерно так!

user posted image

Вот код кнопки заполнения Image:
Код

 int PosX = 0, PosY = 0, k = 0;
 TImage * Image[100];

 for (int i=1; i <= 10; i++)
 {
  for (int j = 1; j <= 10; j++)
  {
   Image [k] = new TImage (Form1);
   Image [k]->Height = 40;
   Image [k]->Width = 40;
   Image [k]->Left = PosX + ((i-1) * Image [k]->Width);
   Image [k]->Top = PosY + ((j-1) * Image [k]->Height);
   if (i == 1 || i == 10 || j == 1 || j == 10)
   {
    Image [k]->Picture->LoadFromFile("c:\\mole_2.bmp");
   }
    else Image [k]->Picture->LoadFromFile("c:\\null.bmp");

   Image [k]->PopupMenu = PopupMenu1;
   Image [k]->Parent = Form1;
   k++;
  }
 }
 Form1->AutoSize = true;


Ну и не нужно забывать очищать массив, который создали при помощи new

Это сообщение отредактировал(а) vikaz - 5.12.2009, 23:23


--------------------
user posted image

Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ 
PM MAIL ICQ Skype   Вверх
ratgunter
Дата 5.12.2009, 23:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 17.11.2008

Репутация: нет
Всего: нет



Ну вот просто нечеловеческое спасибо!!! Ща буду пробовать. кстати дизайн у меня похожий, а крот такойже(из польского мультика), только он в позе другой smile 
PM MAIL   Вверх
ratgunter
Дата 6.12.2009, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 17.11.2008

Репутация: нет
Всего: нет



Значит я пока сделал возможность создавать уровень
http://pixs.ru/showimage/eskizjpg_7439707_372125.jpg
теперь мне надо как-то прочитать мой массив из Image'ов и при нажатии на кнопку сохранить он должен записаться в файл вот в таком виде
1111111111
1000000001
1000020201
1001111001
1003111201
1000331001
1000000001
1000000001
1400000001
1111111111
где 
0-пустота
1-стена
2-ящик
3-место для ящика
4-крот
Вопрос: а как это сделать то??? 
PM MAIL   Вверх
vikaz
Дата 7.12.2009, 06:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 869
Регистрация: 15.2.2006

Репутация: 10
Всего: 12



Если честно, я почему-то был уверен, что в Image сохраняется название загруженного изображения, но вроде это не так, в общем не нашел..... Наверное надо вводить еще один строковой массив в который параллельно будешь писать все изменения при построении уровня. Других предложений пока нет! smile

Добавлено через 1 минуту и 20 секунд
ЗЫ. Фон у всех картинок сделай одинаковым, очень сильно бросается в глаза.....

Добавлено через 5 минут и 34 секунды
зы. зы А почему ты сразу не отображаешь в массиве изменения? Вот сразу как устанавливаешь картинку и пока ты знаешь, что и где ты размещаешь, сразу же и  массиве отмечай, в чем сложность? 


--------------------
user posted image

Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ 
PM MAIL ICQ Skype   Вверх
ratgunter
Дата 7.12.2009, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 17.11.2008

Репутация: нет
Всего: нет



Действительно, надо сразу записывать в массив smile А вот мой самый нелюбимый момент в билдере. Чтобы сохранить мой массив(кстати его делать int'овским или char'овским?) что использовать: fprintf или что??? И как сделать чтобы при нажатии на мою кнопку "Сохранить" текстовый файл создавался автоматически???
PM MAIL   Вверх
vikaz
Дата 7.12.2009, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 869
Регистрация: 15.2.2006

Репутация: 10
Всего: 12



Цитата(ratgunter @  7.12.2009,  12:58 Найти цитируемый пост)
Действительно, надо сразу записывать в массив smile А вот мой самый нелюбимый момент в билдере. Чтобы сохранить мой массив(кстати его делать int'овским или char'овским?) что использовать: fprintf или что??? И как сделать чтобы при нажатии на мою кнопку "Сохранить" текстовый файл создавался автоматически??? 


Конечно int [i][j]; Автоматически ничего не бывает, пока не напишешь или кто-то не напишет! smile
Тебе надо сохранять не только сам массив, но и доп. информацию: Имя создателя (автора),  и название уровня. Я бы порекомендовал создать структуру, в ней описать все типы и сохранять саму структуру. Ну а при чтении уровня, все записываем в структуру, а потом уже и визуализируем на форме, все что было в файле! Извини, весь механизм описать не могу, нет у меня этого под рукой, а так не помню.
Код

struct 
{
  int [10][10];
  String Name_Level;
  String Name_Autрor;
};

Вроде как-то так!
После чего открываешь файл на запись как двоичный и записываешь всю структуру целиком. 

ЗЫ. Делал такое очень давно, и не все помню... Только идея!



--------------------
user posted image

Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ 
PM MAIL ICQ Skype   Вверх
ratgunter
Дата 7.12.2009, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 17.11.2008

Репутация: нет
Всего: нет



Дело в том что структуры я не знаю((((
PM MAIL   Вверх
vikaz
Дата 7.12.2009, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 869
Регистрация: 15.2.2006

Репутация: 10
Всего: 12



А там нет ничего сложного. ИМХО так будет правильнее... Ну тогда через printf выводи посимвольно в файл.

Добавлено через 1 минуту и 23 секунды
ЗЫ. Как в мультфильме: "...Лучше день потерять, а потом за 5 минут долететь....."


--------------------
user posted image

Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ 
PM MAIL ICQ Skype   Вверх
xvr
Дата 7.12.2009, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 48
Всего: 223



Цитата(ratgunter @ 6.12.2009,  22:19)
теперь мне надо как-то прочитать мой массив из Image'ов и при нажатии на кнопку сохранить он должен записаться в файл 

Вопрос: а как это сделать то???

Я тебе уже писал как, вплоть до функций чтения и записи - http://forum.vingrad.ru/index.php?showtopi...t&p=2038552


PM MAIL   Вверх
ratgunter
Дата 7.12.2009, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 17.11.2008

Репутация: нет
Всего: нет



Да я это помню, а как массив то записать?
PM MAIL   Вверх
xvr
Дата 7.12.2009, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 48
Всего: 223



Цитата(ratgunter @ 7.12.2009,  16:43)
Да я это помню, а как массив то записать?

Функция SaveLevelToFile в моем посте

PM MAIL   Вверх
ratgunter
Дата 7.12.2009, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 17.11.2008

Репутация: нет
Всего: нет



а можно показать пример как массив через printf записать в файл, а тоя делаю а у меня только одна цифра записывается(((
PM MAIL   Вверх
xvr
Дата 7.12.2009, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 48
Всего: 223



Цитата(ratgunter @ 7.12.2009,  18:46)
а можно показать пример как массив через printf записать в файл, а тоя делаю а у меня только одна цифра записывается(((

Массив - только поэлементно, в цикле. Сразу весь можно ТОЛЬКО в том случае, если этот массив есть символьная строка (т.е. массив char'ов, содержащий только печатаемые символы и завершенный кодом 0)

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0567 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.