|
Just Do It!
|
||||||||
Совместное создание игры08.01.2025, 12:45. Показов 48148. Ответов 942
Метки нет (Все метки)
если ТС готов варганить со мной сапера, то я сделаю ещё одну попытку его(пожалуй 4 версию) установить и испытать. собсно что нужно: формально отображать некие графические модели на экране в нужном его месте нужного масштаба, для теста сойдут спрайты - а потом можно и анимированные модели на усмотрение геймдиза)) и больше ничаво.
0
|
||||||||
| 08.01.2025, 12:45 | |
|
Ответы с готовыми решениями:
942
Для чего создан язык С++? создан массив Теория игр, массивы |
|
Just Do It!
|
||
| 27.02.2025, 02:26 [ТС] | ||
|
я тут составил, ментальным образом, список задач на эту тему, его мя на весь энтот код хватит, задачи энти не обязательно жестко связанны с энтим пазлом, а имеют унифицированные цели...
0
|
||
|
Нарушитель
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
|
|
| 27.02.2025, 02:36 | |
|
XLAT, а мне нужно
- добавить кнопку для сохранения результата в виде изображения (реализуется за 5 мин) - улучшить временную сложность алгоритма (самая главная задача, пока размышляю и нет решения) - вычисления перевести на отдельный поток (реализуется быстро) - сделать прогресс бар (это тоже реализуется быстро, но для этого нужно реализовать многопоточность, чтобы гуй не замораживался при вычислении) - заняться самыми мелкими оптимизациями и чисткой кода (последний этап) *** Моя самая главная проблема: я работаю над проектом где-то по 10 мин в день (а иногда 0 минут), поскольку в реальной жизни много проблем и дел...
0
|
|
|
Нарушитель
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
|
|
| 27.02.2025, 16:16 | |
|
Image Assemble Tool (находится во вложении в архиве)
Представляю мою программу Что умеет программа: - удобный выбор папки с кусками - удобный выбор пропорций изображения из списка, причем, дефолтно выбрано среднее значение - отображение полезной информации в окне лога (название выбранной папки, количество загруженных кусков, разрешение куска, время старта сборки, время окончания сборки, потраченное время, разрешение полученного изображения) - отображения понятным языком всех ошибок - защита от дурака: кнопки выбора папки и старта неактивны во время процесса сборки - показ прогресса сборки в процентах - сохранение полученного изображения в PNG, JPG, BMP - реализована многопоточность, а это означает, что пользовательский интерфейс полностью активен и не фризится во время процесса сборки *** Прога без проблем собирает куски из Совместное создание игры Она также собирает 384 куска из поста Совместное создание игры, но с незначительными артефактами, учитывая, что разрешение куска 32 х 32 небольшое, что не позволяет алгоритму принимать однозначные решение. Будет время и желание, можно улучшить алгоритм сборки. Найдете баги - пишите) Для создания кусков в целях тестирования моей проги, можете использовать бесплатные сервисы в инете, например, https://imagy.app/split-image/
3
|
|
|
place status here
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,028
|
||||||
| 27.02.2025, 17:47 | ||||||
|
А я немного доработал рисование фрактала Жулиа ("случайно" задаются шаг и цвет, можно менять размеры окна и сохранять картинку в bmp с помощью ПКМ):
Некоторые картинки:
2
|
||||||
|
Нарушитель
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
|
|
| 27.02.2025, 20:42 | |
|
gunslinger, алгоритм раскраски реально хорош, это ты писал или взял? Я в теме Кто-нибудь знает, как рендерят такие красивые фракталы? (множество Мандельброта) обсуждал с Mysterious Light, мы, короче, пришли к выводу, что большая часть красоты полученного фрактала зависит от правильного выбора палитры. Вот, посмотри, что я получил в Mathematica на дефолтной палитре, и посмотри, что получил Mysterious Light в Кто-нибудь знает, как рендерят такие красивые фракталы? (множество Мандельброта).
0
|
|
|
place status here
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,028
|
|
| 27.02.2025, 21:15 | |
|
Royal_X, указанную тобой тему я видел.
Код для фрактала изначально взял чужой (как-то говорил об этом) Совместное создание игры (он у меня давно на компе был) и немного подправил (выбор исходных цветов в интервале через рандом). Возможно, вот оригинал (точно уже не помню, но скорей всего он): Вращение фрактала Жюлиа. Кстати, программа не подвисает и не глючит? У меня иногда да, если вне среды запустить. Хочу еще в поток отрисовку поместить (если нормально получится сделать, в чем не уверен - формошлепство реально сушит [оставшиеся] мозги).
0
|
|
|
Нарушитель
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
|
||
| 27.02.2025, 21:21 | ||
|
Только, тебе нужно будет расчет делать в отдельном потоке, а отрисовку в главном, потому что, полагаю, что нельзя менять форму с другого потока. Еще, не нужно выводить на окно постепенно, это неэффективно. Рисуй весь фрактал в буфере в памяти, а потом выводи на окно готовое изображение.
1
|
||
|
place status here
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,028
|
|
| 27.02.2025, 22:27 | |
|
Royal_X, я раньше в потоке только расчеты делал, но не рисование. AntiFreeze (компонент) не в счет, там "автоматика". Включил - и либо работает, либо нет.
Причем нужно тогда еще запретить изменение размеров формы, на которых много чего завязано. Насчет вывода картинки сразу, а не постепенно - нужно тогда прогрессбар прикрутить или наподобие. Мне кажется, что постепенный вывод как-то смотрится что ли лучше, но хз. Короче, надо посмотреть, что получится, а что нет. И нужно ли это.
0
|
|
|
Нарушитель
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
|
|||
| 27.02.2025, 22:47 | |||
|
я же тоже ради этого в своей программе Совместное создание игры реализовал многопоточность. Юзеры очень часто кликают по интерфейсу во время ожидания и эти зависания могут их разочаровывать. Добавлено через 2 минуты Добавлено через 4 минуты gunslinger, я не знаю, как у тебя на VCL, но вот в Qt всякие обновления сцен, прогресс бара и прочие вещи, можно осуществлять только с главного потока. Например, обновить значение прогресс бара напрямую из второстепенного потока нельзя. Как же я сделал? Все просто: передаю по сигналу новое значение прогресс бара, а сам он обновляется в главном потоке. В итоге, пользовательский интерфейс работает без зависаний, независимо от потока, в котором выполняются вычисления.
1
|
|||
|
place status here
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,028
|
|||||||||||||
| 28.02.2025, 00:16 | |||||||||||||
|
Нужно его как-то менять (хз как), или выигрыша в скорости не будет особо. Поэтому оставил постепенный вывод. Добавил один поток. Нужно было просто попиксельную отрисовку "синхронизировать". Вроде работает. Unit1.cpp:
Unit2.cpp:
1
|
|||||||||||||
|
Нарушитель
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
|
|
| 28.02.2025, 00:24 | |
|
gunslinger, сейчас норм, не зависает
Теперь осталось реализовать ввод координат, чтобы пользователь мог исследовать в любой части фрактала
0
|
|
|
place status here
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,028
|
||
| 28.02.2025, 00:43 | ||
|
Насчет координат - это можно сделать (если нужно). Изначально я делал "случайную" генерацию, но почти всегда происходило попадание в "пустоту". Шаг (step) не хочу менять - пусть продолжает выпадать в некотором диапазоне, как и цвета (так "веселее").
0
|
||
|
place status here
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,028
|
|
| 28.02.2025, 02:21 | |
|
Решил все-таки шаг добавить - так удобней будет область ограничивать.
Код мало поменялся, поэтому его не выкладываю (да и кому он нужен , главное - результат).Картинки:
1
|
|
|
place status here
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,028
|
|
| 28.02.2025, 02:52 | |
|
0
|
|
|
place status here
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,028
|
|
| 28.02.2025, 13:39 | |
|
Есть совет по оптимизации построения фрактала (даже два, но второй слишком сложный для меня - я даже с первым не справился).
Но я либо не понял, как это применить, либо руки кривые. Результат пока отсутствует. Еще хороший сайт с информацией по соответствующей тематике. Можно самостоятельно попробовать сделать свою реализацию. Кроме того, это всего лишь небольшая часть "айсберга": кроме "стандартных" фракталов вида z2 + c есть еще куча других (много их) формул, с которыми можно экспериментировать. Ну и несколько картинок:
0
|
|
|
Нарушитель
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
|
|||
| 28.02.2025, 14:00 | |||
|
gunslinger, мое мнение в этом вопросе такое, что виновник медленной генерации это не само вычисление, а механизм прорисовки. Постепенная прорисовка непосредственно на окне это очень медленно. К тому же, попробуй, например, изменить размеры окна или перетащи окно за пределы экрана и верни его обратно, ты увидишь, что картинка исчезнет, поскольку окно не обновляется.
Т.е. ты не там ищешь решение. На языке С++ совсем не проблема создать изображение из такого количества точек. Даже питон бы справился. Ты же вычисляешь цвет пикселей, которых на окне width * height штук, не так ли? Даже для самых больших окон это не так уж много пикселей. Но вот постепенное добавление этих точек на окно и обновление окна, это уже проблема. Конечно, есть версия, что ты вычисляешь больше точек, чем нужно для окна. Тогда да, нужно исправить это. Но сперва, я бы попробовал вывести изображение целиком и посмотреть, исчезла ли проблема. По идее, фрактал должен генерироваться мгновенно. Т.е. нажал на кнопку, получил картинку. Фрактал должен выводиться моментально.
1
|
|||
|
Just Do It!
|
||
| 28.02.2025, 18:32 [ТС] | ||
|
далее пошёл на трубу смотреть подкасты. вот один тут c кибердедом прямо в мою тему зашёл. в чем суть: 1. я решил добавить класс с резаком картинок, чтобы иметь тестовый материал. 2. резак, как резак, но сразу возникло несколько вопросов, один из них, как его отображать на экран. 3. речь не про юзверьский дизайн - речь про кодерский. 4. у мя уже был класс для отображения загруженного таска. 5. делать же для резак отдельный отобразитель это, ясень, не кошерно. 6. поэтому опять и снова возник вопрос об универсальных интефейсах. 7. но мы же хотим быстро за 10 минут, правда? 8. так вот тут как раз рассказывал про три языка программирования, которые создавались под проект Буран. 9. и они, вот же, ёшкинкот, были не совместимы между собой просто никак. ... цифры кончились ... короче, пришлось унифицировать уже имеющийся отобразитель код резака тут c тестом поигрался чуток: теперь думаю, куда двигать дальше - а распутье большое - тасклист == 100500 тасков)
1
|
||
|
place status here
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,028
|
|
| 28.02.2025, 18:43 | |
|
Royal_X, да пробовал я через битмап, не помогает (про это уже говорил).
Суть алгоритма еще в том, что может быть несколько итераций на каждую точку (такой принцип "фрактальной рекурсии"). Я выше ссылку на другую подобную программу кидал, там выводится картинка целиком, окно небольшое, но все равно далеко не мгновенно вывод происходит. Так что дело ясное, что дело темное. Тут, видимо, нужно делать с нуля и вникая во все детали. И не факт, что это поможет. Пока так. Будет если желание - займусь (может быть). P.S.: либо попробуй сам сделать (если интересно).
0
|
|
|
Нарушитель
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,601
|
||
| 28.02.2025, 19:07 | ||
|
А потом переименовывал куски рандомно в Total Commander. Потом вообще, начал резать в Wolfram Mathematica))) которая уже давно не система компьютерной алгебры общего назначения, а научный универсальный инструмент, который умеет делать всё что угодно. Смешно, что ни Photoshop, ни Gimp не располагают быстрым методом для обрезки, только с танцами с бубном. А вот Wolfram Mathematica вычисляет, как правильно резать, режет одной командой, а потом достаточно просто экспортирует изображения под рандомными именами.
0
|
||
| 28.02.2025, 19:24 | |
|
Не по теме: Royal_X, у меня те твои программы, что "заточены" под Win 10+, не работают на 7-ке. Так что "хнык-хнык" (смайлик).
0
|
|
| 28.02.2025, 19:24 | |
|
Решение матричных игр. Есть у кого такая программа написанная уже... Запуск приложений(старых игр) в оконном режиме Алгоритм календаря игр (например в футболе)
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|