Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/1: Рейтинг темы: голосов - 1, средняя оценка - 5.00
Just Do It!
 Аватар для XLAT
4219 / 2680 / 656
Регистрация: 23.09.2014
Сообщений: 9,235
Записей в блоге: 3

Совместное создание игры

08.01.2025, 12:45. Показов 45935. Ответов 942
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
 Комментарий администратора 
Обсуждение вынесено из темы Ищу человека для совместного изучения программирования


Цитата Сообщение от Royal_X Посмотреть сообщение
Вот на моем неигровом ноуте последний UE без проблем запускается и не тормозит даже.
ок.
если ТС готов варганить со мной сапера, то я сделаю ещё одну попытку его(пожалуй 4 версию) установить и испытать.

собсно что нужно: формально отображать некие графические модели на экране в нужном его месте нужного масштаба,
для теста сойдут спрайты - а потом можно и анимированные модели голых девочек,
на усмотрение геймдиза))

и больше ничаво.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.01.2025, 12:45
Ответы с готовыми решениями:

Для чего создан язык С++?
Для чего создан язык С++????

создан массив
создан массив автовладельцев, для каждого известны Ф.И.О., номер, адрес...,Выяснить есть ли автовладельцы у которых имеются больше 1-ой...

Теория игр, массивы
Есть задание (прикрепил его в виде файла к сообщению). Есть решение для 12-ого варианта на BORLANDC, у меня 2-ой. Я изменил в начале...

942
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
19.02.2025, 15:38
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Royal_X Посмотреть сообщение
не давай готовую картинку
И дать 16 разноцветных квадратов)
1
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
19.02.2025, 16:04
Создаем фирму "Simple little programs". У неё не будет конкурентов.
1
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
19.02.2025, 19:13
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Создаем фирму "Simple little programs".
Такого я не придумаю точно.
В видео присутствуют ненормативная лексика.
Super Bunny Man
1
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6302 / 3024 / 1053
Регистрация: 01.06.2021
Сообщений: 11,478
19.02.2025, 19:52
SmallEvil, любая говно-игра прикольна, если это мультиплеер. Но одиночная игра была бы скучной.
1
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6302 / 3024 / 1053
Регистрация: 01.06.2021
Сообщений: 11,478
20.02.2025, 23:31
gunslinger, XLAT, SmallEvil, CoderHuligan, я взял картинку и раздробил её на куски 32 х 32. Высота и ширина оригинальной картинки делились на 32, поэтому без проблем создал куски. Получилось 384 куска, которые во вложении. Куски я не вращал. Названия кусков рандомные.

Задание: склеить куски, восстановить оригинальную картинку и выложить ее на форуме.

Разрешено использовать что угодно, WinAPI, Qt, wxWidgets, SFML, SDL, OpenCV, VCL и т.д.
Вложения
Тип файла: zip images.zip (829.1 Кб, 27 просмотров)
1
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6302 / 3024 / 1053
Регистрация: 01.06.2021
Сообщений: 11,478
21.02.2025, 22:42
Цитата Сообщение от Royal_X Посмотреть сообщение
Получилось 384 куска
кажется, склеивать столько маленьких кусков будет сложновато. По крайней мере, у меня не получилось. Вот 96 кусков 160х150 смог склеить, но вот куски 32х32 слишком малы.
Написал прогу для склеивания, но есть несколько проблем.
Во-первых, тайл, который должен быть в верхнем левом углу нужно указать вручную. Сколько не попытался вычислить данный тайл автоматически, не получилось.
Во-вторых, с квадратными сетками проблем нет, но если оригинальное изображение были разделено по прямоугольной сетке (когда количество столбцов и рядов отличается), то иногда прога берет неверное количество столбцов...

Одним словом, задача оказалась нелегкой. Не знаю, будут ли у вас интересные идеи.
0
Just Do It!
 Аватар для XLAT
4219 / 2680 / 656
Регистрация: 23.09.2014
Сообщений: 9,235
Записей в блоге: 3
22.02.2025, 01:39  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
будут ли у вас интересные идеи.
1.
зоны кусочка пазла:
- левая
- правая
- верхняя
- нижняя

2.
каждая зона это матрица W x S
- S сторона квадрата
- W толщина зоны, где W >= 1 пиксель

3.
далее как в шахматах - комбинаторика.

4.
делаем оценку каждой пары зон
- одна к 383 * 4

5.
сортируем оценки

6.
стыкуем в том месте, где они самые высокие.

7.
готово.

8.
для самых хитрожопых вычислителей всегда найдется такой рисунок в "горошек", который не вычисляется.

9.
итого, рисунок должен иметь качество "вычисляемости".
1
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6302 / 3024 / 1053
Регистрация: 01.06.2021
Сообщений: 11,478
22.02.2025, 02:40
XLAT, не все так просто, как кажется. Попробуй написать прогу, поймёшь, что всё не так уж легко.

Сравнить края кусков несложно. Я написал код для этого за 10 мин где-то.
Например, допустим нужно сравнить восточный край одного куска с западным краем второго куска. Тут просто вычисляется среднее арифметическое квадратов расстояний цветов пикселей (смысла вычислять квадратные корни нет). Таким образом, идеальное совпадение это 0, полное несовпадение это 4*255^2 (умножаем на 4 канала rgba).
Это все отлично работает.

У меня проблемы с определением левого верхнего куска. Когда он известен, остальные куски собирать не сложно. Я пытался его найти, путем перебора всех кусков, выбирая тот, у которого не находится ни северный, ни западный сосед с хорошим совпадением, но не всегда работает этот метод.

Также проблема с определением размеров сетки. Если она квадратная, то все просто. Но допустим, 384 куска это 24 * 12. Как это определить, что именно там 24 * 16, а не 32 * 12, например? Использую я один способ, но он зависит от константной величины - порога соответствия, который я ввел в коде. Но для разных изображений этот порог должен быть разным, поэтому не всегда работает.
1
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
22.02.2025, 09:47
У меня пока голова другими задачами забита, а то бы подключился. Может быть потом. Тут, думаю, не важно с какого тайла начать. Сравниваем по сторонам с оценкой граничных пикселей в каком-то диапазоне "весов". Когда все тайлы склеены, то первый угловой тайл найдется сам.
0
Just Do It!
 Аватар для XLAT
4219 / 2680 / 656
Регистрация: 23.09.2014
Сообщений: 9,235
Записей в блоге: 3
22.02.2025, 13:21  [ТС]
3
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6302 / 3024 / 1053
Регистрация: 01.06.2021
Сообщений: 11,478
22.02.2025, 14:37
XLAT, у меня несколько вопросов:
- какое предназначение верхней левой консольки? Показывает команды, но не пишет от кого идут. Тем более, в левой правой консольке все это уже есть, но реализовано получше - там уже показывает принадлежность команд к конкретным клиентам.
- всё работает на одном ПК или оно может работать по всей LAN сети или даже через инет?
- может ли сервер вырубать клиентов?

Добавлено через 31 минуту
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Тут, думаю, не важно с какого тайла начать.
Да, не важно, с какого начать. Но если начать с верхнего левого, то будет удобнее при создании массива. Поэтому начинаю в левого верхнего угла. Но я сам понимаю, что такой подход неверный. Потому что нужно вручную задать, какой тайл соответствует верхнему левому куску.

Сейчас у меня такой код. Но, очевидно, его нужно полностью поменять. Мне этот код не нравится. Нужно придумать что-то получше.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
// Определяем размеры сетки. Количество стобцов и рядов берем по максимуму.
    int gridCols = images.size(); 
    int gridRows = images.size();
 
    // Создаем карту расположения изображений
    QList<QList<int>> imageGrid(gridRows, QList<int>(gridCols, -1));
 
    QList<int> usedIndices;
 
    // Первое изображение помещаем в левый верхний угол и начинаем именно с него.
    imageGrid[0][0] = 0;
    usedIndices.push_back(0);
 
    // Заполняем карту
    for (int i = 0; i < gridRows; ++i)
        for (int j = 0; j < gridCols; ++j)
        {
            if (i == 0 && j == 0) continue; // Пропускаем первый элемент
 
            // Ищем изображение, которое лучше всего подходит для текущей позиции
            int bestFit = -1;
            double bestScore = std::numeric_limits<double>::max();
 
            for (int k = 0; k < images.size(); ++k)
            {
                if (usedIndices.contains(k)) continue; // Пропускаем уже использованные изображения
 
                double score = 0;
 
                // Сравниваем с верхним соседом (N)
                if (i > 0 && imageGrid[i-1][j] != -1)
                    score += averageN(images[k], images[imageGrid[i-1][j]]);
 
                // Сравниваем с левым соседом (W)
                if (j > 0 && imageGrid[i][j-1] != -1)
                    score += averageW(images[k], images[imageGrid[i][j-1]]);
 
                // Сравниваем с нижним соседом (S), если он уже заполнен
                if (i < gridRows - 1 && imageGrid[i+1][j] != -1)
                    score += averageS(images[k], images[imageGrid[i+1][j]]);
 
                // Сравниваем с правым соседом (E), если он уже заполнен
                if (j < gridCols - 1 && imageGrid[i][j+1] != -1)
                    score += averageE(images[k], images[imageGrid[i][j+1]]);
 
                if (score < bestScore)
                {
                    bestScore = score;
                    bestFit = k;
                }
            }
 
            if (i == 0 && bestScore > 3000.0)
            {
                gridCols = j;
                gridRows /= j;
                break;
            }
 
            imageGrid[i][j] = bestFit;
            usedIndices.push_back(bestFit);
        }
Проблема в том, что этот код начинает постепенно размещать куски, начиная с верхнего левого. Но, наверное, нужно создать граф, а потом уже заниматься размещением.
1
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
22.02.2025, 15:58
Насколько понял, все куски перемешаны и надо определить что к чему подходит.
Такая идея. Создаем массив структур. В структуре есть 4 массива. Первый массив содержит верхнюю скан-линию пикселей изображения, 2 массив нижнюю, 3 - левый столбец, 4 - правый. И для каждого массива определяем bool что данная сторона обработана. Это чтобы не обрабатывать изображения целиком. То есть сперва подготавливаем и заполняем структуры. Потом заполняем ими массив. Ну и соответственно затем взяв первую структуру проходим по массиву и ищем похожие скан линии и столбцы. Если нашли подходящую, склеиваем оба изображения и отмечаем, что стороны обработаны. Далее ищем следующую сторону первого изображения и так до 4 стороны. Далее переходим к следующему изображению.
После того как прошли весь массив проверяем все ли стороны всех фрагментов обработаны, и прямоугольное ли изображение получилось, если всё ок, то заканчиваем.
1
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
22.02.2025, 18:06
Цитата Сообщение от Royal_X Посмотреть сообщение
Не знаю, будут ли у вас интересные идеи.
Технически не вижу никаких трудностей.
Сравнивать смежные части(край в один пиксель) и сортировать их по схожести(разница в цвете RGB).
Писать код, как то лень.
1
Just Do It!
 Аватар для XLAT
4219 / 2680 / 656
Регистрация: 23.09.2014
Сообщений: 9,235
Записей в блоге: 3
22.02.2025, 18:09  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
какое предназначение верхней левой консольки?
верхнюю консолька это рудимент, который можно отключить -mwindows
в данном месте выполняет роль окна логов от пула потоков с играми.

Цитата Сообщение от Royal_X Посмотреть сообщение
Показывает команды, но не пишет от кого идут
у меня дела пошли в гору, когда я вышел подумать, а что я хочу видеть в логе...
можно в логе вывести такое кол-во инфы, которое даже Айнштайн своим моском не переварит.

Цитата Сообщение от Royal_X Посмотреть сообщение
не пишет от кого идут
тест не отражает игровую среду - на одном компе обычно будет запущен только один клиент.
по идее тестировщику без разницы что от кого идет - главное чтобы не было индикаций ошибок.

Цитата Сообщение от Royal_X Посмотреть сообщение
всё работает на одном ПК или оно может работать по всей LAN сети или даже через инет?
больше, чем на одном пк, пока не тестировал.

Цитата Сообщение от Royal_X Посмотреть сообщение
может ли сервер вырубать клиентов?
клиент может посылать на сервер любые команды,
здесь я воображаю хацкерский клиент, желающий угробить сервер, но задача сервера выжить...

сервер может посылать на клиент любые команды, клиент их будет принимать все
и далее либо игнорить, либо фильтровать и выполнять...

сервер не может заставить клиент выполнить команду(и наоборот), которая не прописана в holderRPC.

выше правило можно расширить на исполняемые текстовые скрипты ...

Цитата Сообщение от Royal_X Посмотреть сообщение
может ли сервер вырубать клиентов?
т.е. такая команда должна быть прописана в holderRPC.

Цитата Сообщение от Royal_X Посмотреть сообщение
у меня несколько вопросов:
у меня щас вопрос такой,
можно ли запустить 2000 клиентов на одном ПК,
разумеется, облегчив их от всякого огл и т.п.?
и в связи с этим - какой лог мне будет нужен?
1
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6302 / 3024 / 1053
Регистрация: 01.06.2021
Сообщений: 11,478
22.02.2025, 19:25
SmallEvil, ты пишешь как CoderHuligan, а именно, абстрактными терминами, которые мне ничем не помогут. Я же написал, что я столкнулся с конкретной проблемой. Даже не то чтобы столкнулся с проблемой, но дошел до того момента, что нужно найти самое верное решение и только потом продолжить.

Внимательно прочтите это: никаких проблем со сравнениями пикселей у меня нет, я все это уже написал, причем в первый же день, когда решил начать этот проект. Написал всё это за 10 мин (потратил столько времени на настройку проекта, реализацию загрузки изображений с папки и все прочее). А сейчас даже реализован процесс склеивания и отображения цельного изображения.
Т.е. для каждого куска я могу без проблем определить, какой кусок ему больше подходит слева, справа, сверху и снизу.

Вопрос: ну а дальше-то что?

1. Как определить, сколько кусков должно быть в ширину, и сколько кусков в высоту? Если известно, что оригинальное изображение квадратное, то тогда проблем нет. Но ведь первоначальное изображение может быть прямоугольным.
2. Как составить двумерный массив с индексами кусков, расположенных в правильном порядке? Потому что я уже написал код, который берет такой массив и выводит цельное изображение на экран.

Примечание: ответы на эти вопросы у меня есть, и даже написан код по этим проблемам. Но он мне не устраивает, из-за того, что работает коряво. Поэтому хочу услышать разные мнения.

Цитата Сообщение от XLAT Посмотреть сообщение
можно ли запустить 2000 клиентов на одном ПК
мне кажется, можно запустить столько клиентов, сколько серверный ПК выдержит
1
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
22.02.2025, 20:22
Цитата Сообщение от Royal_X Посмотреть сообщение
SmallEvil, ты пишешь как CoderHuligan, а именно, абстрактными терминами, которые мне ничем не помогут
Так где абстрактность? В скобочках вполне не абстрактные разъяснения.

Цитата Сообщение от Royal_X Посмотреть сообщение
Т.е. для каждого куска я могу без проблем определить, какой кусок ему больше подходит слева, справа, сверху и снизу.
Отлично.

Цитата Сообщение от Royal_X Посмотреть сообщение
1. Как определить, сколько кусков должно быть в ширину, и сколько кусков в высоту? Если известно, что оригинальное изображение квадратное, то тогда проблем нет. Но ведь первоначальное изображение может быть прямоугольным.
2. Как составить двумерный массив с индексами кусков, расположенных в правильном порядке? Потому что я уже написал код, который берет такой массив и выводит цельное изображение на экран.
Не понял вопроса, если есть совпадение по стороне, то "клеишь две части".
Первой присваиваешь парный индекс, (0, 0), следующей, которую "клеишь" в зависимости к какому краю, допустим к верхнему (-1,0).
using index_type = unsigned; // индексы наших кусочков [0, N-1], N - количество кусочков
set<<pair<int,int>, index_type>> map_of_parts;
Сортировать по сначала по X, потом по Y.
Так в наборе будут идти кусочки ряд за рядом.
Сколько будет в ряду кусочков, ты и сам можешь узнать.

Добавлено через 3 минуты
С X и Y, разберешься. Я тут напутал в примере.
Первый индекс у меня отвечает за строки, то есть за Y.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6302 / 3024 / 1053
Регистрация: 01.06.2021
Сообщений: 11,478
22.02.2025, 20:48
Цитата Сообщение от SmallEvil Посмотреть сообщение
Не понял вопроса, если есть совпадение по стороне, то "клеишь две части".
например, есть 384 куска, полученных путем разделения изображения сеткой 16 * 24 (16 кусков в ширину и 24 куска в высоту). Но как определить, что именно 16 * 24, а не:
1 384
2 192
3 128
4 96
6 64
8 48
12 32
24 16
32 12
48 8
64 6
96 4
128 3
192 2
384 1

Цитата Сообщение от SmallEvil Посмотреть сообщение
если есть совпадение по стороне
для каждой стороны одного куска всегда находится какая-нибудь сторона другого куска. Напиши поподробней о совпадении.

В моей реализации, идеальное совпадение это 0 (прям когда все пиксели совпадают), а худшее совпадение это 260100.
Я вот перебираю и ищу, с какой стороной это значение меньше всего.
Конечно, можно представить переменную Порог и если значение выше этого порога, то значит считаем, что эта сторона не должна ни с кем склеиваться. Именно это я и делал в своем коде. Но данный подход корявый, потому что для одного изображения значение порога норм, но для другого - нет, и нужно брать другой порог...
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6302 / 3024 / 1053
Регистрация: 01.06.2021
Сообщений: 11,478
22.02.2025, 21:02
Цитата Сообщение от SmallEvil Посмотреть сообщение
если есть совпадение по стороне, то "клеишь две части".
Более того, делать выводы по двум сторонам - это неправильно. Нужно и остальные стороны проверять.
Например, представь, что есть такое изображение



И допустим мы проверяем верхний левый кусок, а именно его правую сторону, на соответствие. Если мы будем искать всего по двум сторонам, то может быть так, что мы во время проверки столкнемся с куском, который сейчас отображен в верхнем правом углу. Проверка покажет, что правая сторона нашего куска идеально совпадает с левой стороной верхнего правого куска. Однако, правильный кусок это верхний посередине. Т.е. я это к тому, что проверять нужно все стороны и только потом делать выводы.
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
22.02.2025, 21:22
Цитата Сообщение от Royal_X Посмотреть сообщение
Если мы будем искать всего по двум сторонам, то может быть так, что мы во время проверки столкнемся с куском, который сейчас отображен в верхнем правом углу.
Да, и будет несколько идеальных или хороших совпадения по той стороне.
И где то будет ""косяк".
Значит нужно подбирать до тех пор, пока косяков не будет.
Сколько может быть вариантов? В плохом случае, наверное много.

Добавлено через 1 минуту
Вообще, на пазлах пишется сколько кусков 200*80, например.

Добавлено через 2 минуты
А может и нет)) Но там есть картинка.

Добавлено через 1 минуту
Цитата Сообщение от Royal_X Посмотреть сообщение
Т.е. я это к тому, что проверять нужно все стороны и только потом делать выводы.
Да. Всем возможным парам сторон нужно дать характеристику и по ней отсортировать.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6302 / 3024 / 1053
Регистрация: 01.06.2021
Сообщений: 11,478
22.02.2025, 22:03
Цитата Сообщение от SmallEvil Посмотреть сообщение
Вообще, на пазлах пишется сколько кусков 200*80, например.
Если сделать так, то это очень упростит задачу.
Но ведь с автоматическим определением было бы интереснее. Я вчера даже написал код для авто определения, но опять же все зависит от некой магической константы для порога совпадения, поэтому не всегда размер определяется правильно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.02.2025, 22:03

Решение матричных игр. Есть у кого такая программа написанная уже...
Требуется программа по решению матричных игр... С выбором размера матрицы и выдачей решения... Может кто смогёт такую сбатцать?

Запуск приложений(старых игр) в оконном режиме
День добрый, подскажите, хотелось бы реализовать свое желание запуска старых игр windo`вых(типа StarCraft) в оконном режиме, с чего начать,...

Алгоритм календаря игр (например в футболе)
необходимо составить календарь футбольных матчей, допустим есть 6 команд char *teams = {&quot;TEAM A&quot;,&quot;TEAM B&quot;,&quot;TEAM...

Движок для игр
Всем привет!!!, хотел узнать возможно ли создать движок на C++ чтобы экспортировать модели из 3ds max а после в самом движке можно было...

Выбор IDE для создания 2D игр
Здравствуйте. Задача сделать пака 2ух – мерные драчки загружая в проект анимацию-как удар(ы) и реакция на удар...(лучше всего секвенцию...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
800
Закрытая тема Создать тему
Новые блоги и статьи
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,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru