![]() |
Модераторы: Snowy, Alexeis, MetalFan |
![]() ![]() ![]() |
|
assFalt |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 11.5.2012 Репутация: нет Всего: нет |
Добрый день.
Суть программы такая: есть торговая площадь. Загружается карта этажа, на ней отмечается где площадь свободна, где занята, где лишние куски, где проходы и т.д. Не могу реализовать следующее: Ввожу в один из Edit площадь (Н: 50 кв.м), надо чтобы на карте все "свободные" места, в которые эта площадь влезает как-то выделились (например приобрели другой цвет или рамочку вокруг). Пример: Мне нужно поселить арендатора, которому нужна площадь 100 кв. м. Каждый квадрат на карте означает 75 кв.м., то есть, надо чтобы как-то выделились 2 квадрата с желтым цветом (причем эти квадраты должны стоять рядом друг с другом). Пыталась сделать что-то такое:
Эта процедура не работает и она плохая, ведь квадратов, которые надо выделить, может быть и 1, и 2, и 22. ![]() P.S. Вот такой зубастый курсач. |
|||
|
||||
DarkProg |
|
|||
![]() Законченный романтик ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1784 Регистрация: 11.3.2009 Где: Земля Репутация: 1 Всего: 19 |
времечно позднее и меня если честно вырубает, так что искать у себя вменяемый код не буду... попробую указать направление куда двигаться.
Главное направление - это графы. А если точнее, то это обходы графов в ширину, если я ничё не путаю. А вообще, если я правильно понял суть, то нужно для начала сформировать объекты необходимой площади(всевозможные варианты) и потом наложить эти варианты на все свободные места. Или можно пойти от обратного - выделить всю свободную площадь и с какого-то одного края(с того с которого религия не запрещает) её начать заполнять по принципу как помещается(это кажется "задача на раскраску" называется) или скажем по принципу улитки(мне щас кажется что так будет наиболее эффективно). P.S. И ещё совет, в коде где много переменных типа Form1, button1 и прочее непонятное никто разбираться не будет - это слишком долго и сложно. -------------------- "И твоя голова всегда в ответе за то куда сядет твой зад..." "Я студент - скажите с какого я ВУЗа..." ![]() ![]() ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Звук, графика и видео" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |