|
Я Фоюмчанин ? дааааа)
|
||||||
Структура приложения "Спичечные головоломки"15.02.2015, 13:01. Показов 3930. Ответов 56
Метки нет (Все метки)
Всем доброго времени суток.
С самого начала: хочу реализовать приложение головоломку "спички". И так, что я пока сделал: Я могу ввести число строк и столбцов и нарисовать, а так же сразу создаю массив с точками пересечения прямых.
И тут вопрос как лучше рисовать спичку и как обрабатывать Drag And Drop? при рисовании на Canvos Плюс ко всему мне нужно обрабатывать положение спички, так, что бы она могла располагаться только от точки до точки: Как я думою: Мне нужно создать класс Квадрат и при подсчете точек создавать объекты этого класса и сохранять его координаты. т.е. наглядно будет так: Далее просто MouseMove будем бегать по всем квадратам и сравнивать координаты и положение мышки: Относительно всего поля найдем нужный квадрат, а относительно этого квадрата будем смотреть где в нем расположить спичку. Нужны комментарии, предложения, замечания и т.д. ...
0
|
||||||
| 15.02.2015, 13:01 | |
|
Ответы с готовыми решениями:
56
Структура приложения Структура приложения Структура Qt-приложения |
|
Я Фоюмчанин ? дааааа)
|
||
| 19.02.2015, 15:39 [ТС] | ||
|
0
|
||
|
Я Фоюмчанин ? дааааа)
|
|||
| 19.02.2015, 15:49 [ТС] | |||
|
Добавлено через 2 минуты Avazart, Я понимаю, что каждый раз ужимая изображение выполняются лишние и трудоемкие действия, но у меня форма по умолчанию на весь экран. А кто знает какой экран у какого пользователя? да никто вот и приходится хранить изображение большие и рисовать сжимая.
0
|
|||
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
|
||
| 19.02.2015, 16:23 | ||
|
Просчитать небольшой кусочек, отрисовать его (полностью перерисовать всю область рисования, прям на экране, все дела), просчитать еще кусочек, отрисовать, еще просчитать, отрисовать. С промежуточной отрисовкой: Просчитать кусок, отрисовать его в битмап (в памяти байтики переставить), просчитать, отрисовать... В конце отрисовать битмап на экран.
0
|
||
|
Я Фоюмчанин ? дааааа)
|
|
| 20.02.2015, 15:11 [ТС] | |
|
SatanaXIII,
![]() Я вас ни капельки не понял ![]() Добавлено через 21 час 57 минут В общем тут ничего не изменить, вся графика в приложениях обрабатывается непосредственно процессором и видеокарта ничего не делает. В Win Api, что бы снизить нагрузку сделана двойная буферизация и её я использую... Выход только 1 переключить обработку графики на видео карту, а это можно сделать только использую графические библиотеки например Open GL...
0
|
|
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
|
|
| 20.02.2015, 15:36 | |
|
0
|
|
|
Я Фоюмчанин ? дааааа)
|
|
| 20.02.2015, 15:41 [ТС] | |
|
SatanaXIII, а каким образом перерисовывать кусочек?
Скажем у меня нужно перерисовать 2 квадрата: 1 с которого я забрал спичку и 2 в который положил. И у меня есть точные координаты этих квадратов. Как мне какой то битмап с моим квадратом нарисовать на изображении в каком то месте?
0
|
|
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
|
|
| 20.02.2015, 15:57 | |
|
ivan.-94, надо уходить в винапи. Ловить WM_Paint для окна и хоть попиксельно его перерисовывать.
Я вообще к тому, что скорее всего вы лечите следствие. Плохой алгоритм отрисовки используете. Неверная организация программы вообще. Я бы в эту сторону копал. Но я уже повторяюсь.
0
|
|
|
Я Фоюмчанин ? дааааа)
|
|||||||
| 20.02.2015, 16:09 [ТС] | |||||||
|
А так получаются пустые слова, без фактов. Добавлено через 3 минуты
Вот это факт...
0
|
|||||||
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
|
|
| 20.02.2015, 16:10 | |
|
0
|
|
|
Я Фоюмчанин ? дааааа)
|
||
| 20.02.2015, 21:31 [ТС] | ||
|
SatanaXIII, я читал, проверки у меня есть. я уменьшил количество прорисовок, конечно же я проверяю положение и так далее, конечно же я проверяю изменился ли статус спички или квадрат в котором она располагается, что бы не перерисовывать когда спичка на одном месте.
Как на Image рисовать в каком то определенном месте изображение я так и не понял, но смысл того, что вы предлагали я понял. Не по теме: я вроде не грубил, не на что обижаться. Добавлено через 5 часов 9 минут Т.е. Вы имели ввиду, что можно 1 раз ужать изображение до какого то размера и потом его просто прорисовать уже сжатое? и производить масштабирование изображения только при изменении размеров квадратов? Как же тогда в TPNGGraphic ужать изображение? Нужно создать битмап нужных размеров - прорисовать в него Stretch спичку и присвоить это непосредственно спичке?
0
|
||
|
Я Фоюмчанин ? дааааа)
|
||||||
| 20.02.2015, 22:36 [ТС] | ||||||
|
А как это реализовать?
Вот загрузил я изображение.
0
|
||||||
|
0 / 0 / 0
Регистрация: 06.05.2014
Сообщений: 7
|
|
| 07.04.2015, 10:18 | |
|
здравствуйте, у меня такая проблема, мне навязали преподы курсовую со спичками в котором должно быть 30 уровней, не подскажите как сохранять уровни и как их реализовать изначально чтоб не заносить спички а менять местами с помощью мышки у меня есть форма с кнопками для открытия других форм
0
|
|
|
0 / 0 / 0
Регистрация: 24.12.2014
Сообщений: 3
|
|
| 27.12.2016, 15:30 | |
|
Добрый день.
Я можно увидеть исходник, того, что у Вас получилось
0
|
|
|
0 / 0 / 0
Регистрация: 24.12.2014
Сообщений: 3
|
|
| 28.12.2016, 15:16 | |
|
Жаль
0
|
|
| 28.12.2016, 15:16 | |
|
Структура приложения Структура приложения Структура приложения Структура приложения ООП Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал.
Оно само - говорит.
Кто слышит тот слышит.
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|