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

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

08.01.2025, 12:45. Показов 49427. Ответов 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
Just Do It!
 Аватар для XLAT
4220 / 2684 / 656
Регистрация: 23.09.2014
Сообщений: 9,240
Записей в блоге: 3
15.01.2025, 19:24  [ТС]
Студворк — интернет-сервис помощи студентам
тут как оно смотрится:


весь код сапера в консольном клиенте:
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
    ///------------------------------------------------------------------------|
    /// Демо игра.
    ///--------------------------------------------------------------- testDemo:
    void testDemo()
    {
        mns::Config _cfg = mns::startGame();
 
        ///mns::openAll();
 
        mns::Config::eEVENT EVENT = mns::Config::E_OUT;
 
        for(bool done = true; done; )
        {
            l(_cfg.W)
            l(_cfg.H)
            l(_cfg.getNBomb())
 
            l(mns::Config::decodeEVENT2str(EVENT))
 
            log(mns::debugView(mns::getVisual()));
 
            const auto&[x,y,f] = controller::InputUser();
 
            EVENT = mns::inputPlot(x, y);
 
            switch(EVENT)
            {
 
                case mns::Config::E_BOMB:
                {
 
std::cout << R"(
    БАХХХ !!!
    ВЫ УЛЕТЕЛИ НА НЕБО ...
    ИГРА ЗАКОНЧЕНА!
)";
                    goto m;
                }
 
                case mns::Config::E_GAMEOVER:
                {
 
std::cout << R"(
    ВЫ УСПЕШНО ПРОШЛИ ИСПЫТАНИЯ!
    ИГРА ЗАКОНЧЕНА.
)" << '\a';
                    goto m;
                }
                default: ;
            }
            std::system("cls");
        }
    m:  std::cin.get();
    }
 
    void tests()
    {
    /// test_01 ();
        testDemo();
    }
}
Вложения
Тип файла: rar Сапёр[CB project]+[exe-win64]+[sources].rar (338.4 Кб, 15 просмотров)
3
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
15.01.2025, 19:50
XLAT, одно замечание. В методе geneBombs() не учитывается, что мины могут получать одинаковые координаты, и соответственно число мин будет меньше требуемого. Конечно вероятность мала, но для небольшого поля существенна.
2
Just Do It!
 Аватар для XLAT
4220 / 2684 / 656
Регистрация: 23.09.2014
Сообщений: 9,240
Записей в блоге: 3
15.01.2025, 19:59  [ТС]
Цитата Сообщение от CoderHuligan Посмотреть сообщение
В методе geneBombs() не учитывается, что мины могут получать одинаковые координаты, и соответственно число мин будет меньше требуемого. Конечно вероятность мала, но для небольшого поля существенна.
ок, в версию 0.4 я добавил комментарий:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
        ///----------------------------------------|
        /// Расставить бомбы.                      |
        ///----------------------------------------:
        void geneBombs(unsigned bombs)
        {
            while(bombs--)
            {
                unsigned w = rand()%W;
                unsigned h = rand()%H;
 
                Cell& cell = (*this)[h][w];
 
                ///--------------------------------|
                /// Если бомба уже стоит, то       |
                /// декремент счетчика отменяется. |
                ///--------------------------------:
                if(cell.isBomb()) ++bombs ;
                else        cell.setBomb();
            }
        }
1
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6329 / 3057 / 1054
Регистрация: 01.06.2021
Сообщений: 11,675
15.01.2025, 20:54
Цитата Сообщение от XLAT Посмотреть сообщение
мой сапер может, на любом клиенте запуститься, например, написанном на шарпе или питоне
попробуй запустить на UE5)
Я сегодня поставил его и сейчас снова буду сносить. Этот движок не для меня. 99% времени идет на тупые движения (компиляция кода, компиляция шейдеров, прочие фоновые процессы), а не на разработку. Проект на С++ почему-то требует еще все компоненты для разработки на C# из VS Installer. Что за мусорные зависимости, половина на C#, половина на С++. Много времени идет только чтобы создать простой куб через код. Названия в API идиотские, будто их школьник писал.
Пустая игра экспортировалась под винду за 30 мин. А сама игра весила 950 МБ.

Добавлено через 17 минут
XLAT, ну чтобы не копать весь код, возьмем этот кусок с расстановкой бомб

Цитата Сообщение от XLAT Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
while(bombs--)
     {
           unsigned w = rand()%W;
           unsigned h = rand()%H;
           Cell& cell = (*this)[h][w];
           ///--------------------------------|
           /// Если бомба уже стоит, то       |
           /// декремент счетчика отменяется. |
           ///--------------------------------:
           if(cell.isBomb()) ++bombs ;
           else        cell.setBomb();
     }
     

Ты ж понимаешь, что твое ООП вносит в код неоптимизированные штуки? Каждый раз будет создаваться структура Cell, даже если она не будет использоваться для setBomb. И её ты не можешь создать после проверки ибо она нужна для самой проверки isBomb. Полагаю, что весь твой код кишит такими ненужными созданиями объектов.
А без ООП, делается один глобальный массив со статическим выделением памяти и он же проверяется напрямую...
1
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6329 / 3057 / 1054
Регистрация: 01.06.2021
Сообщений: 11,675
15.01.2025, 21:18
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Я уже в графическом редакторе всё сделал, вырезал и уменьшил. Вот результат:
minesw.zip
Это так и должно быть?
0
Just Do It!
 Аватар для XLAT
4220 / 2684 / 656
Регистрация: 23.09.2014
Сообщений: 9,240
Записей в блоге: 3
15.01.2025, 21:22  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
Каждый раз будет создаваться структура Cell
хм, надо спросить у Каллиграфера зачем в С++ изобрели ссылки?
(это подсказка)
1
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6329 / 3057 / 1054
Регистрация: 01.06.2021
Сообщений: 11,675
15.01.2025, 21:22
Цитата Сообщение от XLAT Посмотреть сообщение
зачем в С++ изобрели ссылки?
одна ссылка тоже много. Это ж рандом. Вот не повезет тебе, и миллион раз сгенерируется одно неподходящее поле. То что, будет миллион ссылок?
0
Just Do It!
 Аватар для XLAT
4220 / 2684 / 656
Регистрация: 23.09.2014
Сообщений: 9,240
Записей в блоге: 3
15.01.2025, 21:29  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
Я сегодня поставил его и сейчас снова буду сносить
я два раза ставил и два раза сносил - анрил это для мамкиных кодеров - они всей толпой с юньки перебежали на анрил:
а чо? ассерт скачал и у тебя уже бегает боевик с пистолетом по сцене...

Добавлено через 3 минуты
Цитата Сообщение от Royal_X Посмотреть сообщение
одна ссылка тоже мног
константная ссылка - ничо там не создается, хотя от прямоты рук компиляторописателей зависит...
1
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6329 / 3057 / 1054
Регистрация: 01.06.2021
Сообщений: 11,675
15.01.2025, 21:29
Цитата Сообщение от XLAT Посмотреть сообщение
ассерт скачал и у тебя уже бегает боевик с пистолетом по сцене...

0
Just Do It!
 Аватар для XLAT
4220 / 2684 / 656
Регистрация: 23.09.2014
Сообщений: 9,240
Записей в блоге: 3
15.01.2025, 21:32  [ТС]
Royal_X, вот вот, даже хелловорлда анриловского достаточно, что бы стать великим программистом...
0
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6329 / 3057 / 1054
Регистрация: 01.06.2021
Сообщений: 11,675
15.01.2025, 21:37
Цитата Сообщение от XLAT Посмотреть сообщение
вот вот, даже хелловорлда анриловского достаточно, что бы стать великим программистом...
кстати, я сегодня только с пустыми проектами возился, не было времени стрелять из синего игрушечного пистолета. Хотя в пустых проектах уже были небо, горы, освещение, блекджек и шлю...

XLAT, я оцениваю игровой движок так. Если движок и его апи позволяют быстро и без танцев с бубном сделать все то же самое, что тыканием по панелям и вьюпорту, то значит годный движок. А в UE создание куба через С++ код целая история...
Короче, этот тест пока прошли только Unity и Godot.
0
87 / 87 / 18
Регистрация: 11.06.2018
Сообщений: 302
15.01.2025, 21:46
Royal_X, не думал, что доживу до момента, когда программистов станут ругать за декомпозицию.
Ты с дуба рухнул?
Да пусть даже у него ячейки не оптимально сделаны, у него там инкапсуляция, он реализацию Field заменит на другую и не будет проблем. А с твоим олимпиадным приколачиванием гвоздями можно только проекты однодневки писать.
Окстись, охальник.
3
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6329 / 3057 / 1054
Регистрация: 01.06.2021
Сообщений: 11,675
15.01.2025, 21:52
Цитата Сообщение от ablex Посмотреть сообщение
декомпозицию
она есть и в функциональном программировании и за это я никого не ругаю

Не по теме:

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

0
Just Do It!
 Аватар для XLAT
4220 / 2684 / 656
Регистрация: 23.09.2014
Сообщений: 9,240
Записей в блоге: 3
15.01.2025, 21:53  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
одна ссылка тоже много.
вот только что на голдболте проверил - ничо там не создается,

юзай -O2 и будет тебе счастье.

Цитата Сообщение от Royal_X Посмотреть сообщение
из синего игрушечного пистолета
на тытрубе урок по ПРОГРАММИРОВАНИЮ в анриле:
2 часа про то, как в редакторе расставить деревья, домики и проложить дороги - всё: игра готова, а ты уже программист.
1
87 / 87 / 18
Регистрация: 11.06.2018
Сообщений: 302
15.01.2025, 22:02
Цитата Сообщение от Royal_X Посмотреть сообщение
Будь я таким, я бы тут рассказывал, что такой способ генерации вообще не рабочий. Теоретически, цикл может никогда не закончиться.
Тыж докопался, что у него классов много.
Реализацию всегда можно исправить, а вот архитектуру - нет.
1
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6329 / 3057 / 1054
Регистрация: 01.06.2021
Сообщений: 11,675
15.01.2025, 22:07
Цитата Сообщение от ablex Посмотреть сообщение
Тыж докопался, что у него классов много.
а тебе-то чё? я с XLAT могу общаться и без переговорщиков)

Добавлено через 2 минуты
Цитата Сообщение от XLAT Посмотреть сообщение
2 часа про то, как в редакторе расставить деревья, домики и проложить дороги - всё: игра готова, а ты уже программист
в магазе ассетов есть уже расставленные миры, нужно только пометить точку старта игры.
0
Just Do It!
 Аватар для XLAT
4220 / 2684 / 656
Регистрация: 23.09.2014
Сообщений: 9,240
Записей в блоге: 3
15.01.2025, 22:15  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
А в UE создание куба через С++
что обычно отвечают, когда спрашиваешь как закодить примитив в движке на япе:
https://www.cyberforum.ru/post16222851.html
0
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6329 / 3057 / 1054
Регистрация: 01.06.2021
Сообщений: 11,675
15.01.2025, 22:22
XLAT, но Unity неплох в этом плане. Там, как и в Godot, все можно через код. Подразумеваю, что есть сцена и объект пустышка, к которому присобачен скрипт. Или синглтон.
0
Just Do It!
 Аватар для XLAT
4220 / 2684 / 656
Регистрация: 23.09.2014
Сообщений: 9,240
Записей в блоге: 3
15.01.2025, 22:40  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
Unity неплох в этом плане. Там, как и в Godot, все можно через код.
мой эксперименты с тетрисом полностью на кодогенерации:
0
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6329 / 3057 / 1054
Регистрация: 01.06.2021
Сообщений: 11,675
15.01.2025, 22:44
XLAT, а сейчас еще используешь Unity?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.01.2025, 22:44

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
240
Закрытая тема Создать тему
Новые блоги и статьи
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru