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

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

08.01.2025, 12:45. Показов 46628. Ответов 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 / 2682 / 656
Регистрация: 23.09.2014
Сообщений: 9,236
Записей в блоге: 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 / 2682 / 656
Регистрация: 23.09.2014
Сообщений: 9,236
Записей в блоге: 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
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3039 / 1055
Регистрация: 01.06.2021
Сообщений: 11,587
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
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3039 / 1055
Регистрация: 01.06.2021
Сообщений: 11,587
15.01.2025, 21:18
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Я уже в графическом редакторе всё сделал, вырезал и уменьшил. Вот результат:
minesw.zip
Это так и должно быть?
0
Just Do It!
 Аватар для XLAT
4220 / 2682 / 656
Регистрация: 23.09.2014
Сообщений: 9,236
Записей в блоге: 3
15.01.2025, 21:22  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
Каждый раз будет создаваться структура Cell
хм, надо спросить у Каллиграфера зачем в С++ изобрели ссылки?
(это подсказка)
1
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3039 / 1055
Регистрация: 01.06.2021
Сообщений: 11,587
15.01.2025, 21:22
Цитата Сообщение от XLAT Посмотреть сообщение
зачем в С++ изобрели ссылки?
одна ссылка тоже много. Это ж рандом. Вот не повезет тебе, и миллион раз сгенерируется одно неподходящее поле. То что, будет миллион ссылок?
0
Just Do It!
 Аватар для XLAT
4220 / 2682 / 656
Регистрация: 23.09.2014
Сообщений: 9,236
Записей в блоге: 3
15.01.2025, 21:29  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
Я сегодня поставил его и сейчас снова буду сносить
я два раза ставил и два раза сносил - анрил это для мамкиных кодеров - они всей толпой с юньки перебежали на анрил:
а чо? ассерт скачал и у тебя уже бегает боевик с пистолетом по сцене...

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

0
Just Do It!
 Аватар для XLAT
4220 / 2682 / 656
Регистрация: 23.09.2014
Сообщений: 9,236
Записей в блоге: 3
15.01.2025, 21:32  [ТС]
Royal_X, вот вот, даже хелловорлда анриловского достаточно, что бы стать великим программистом...
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3039 / 1055
Регистрация: 01.06.2021
Сообщений: 11,587
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
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3039 / 1055
Регистрация: 01.06.2021
Сообщений: 11,587
15.01.2025, 21:52
Цитата Сообщение от ablex Посмотреть сообщение
декомпозицию
она есть и в функциональном программировании и за это я никого не ругаю

Не по теме:

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

0
Just Do It!
 Аватар для XLAT
4220 / 2682 / 656
Регистрация: 23.09.2014
Сообщений: 9,236
Записей в блоге: 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
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3039 / 1055
Регистрация: 01.06.2021
Сообщений: 11,587
15.01.2025, 22:07
Цитата Сообщение от ablex Посмотреть сообщение
Тыж докопался, что у него классов много.
а тебе-то чё? я с XLAT могу общаться и без переговорщиков)

Добавлено через 2 минуты
Цитата Сообщение от XLAT Посмотреть сообщение
2 часа про то, как в редакторе расставить деревья, домики и проложить дороги - всё: игра готова, а ты уже программист
в магазе ассетов есть уже расставленные миры, нужно только пометить точку старта игры.
0
Just Do It!
 Аватар для XLAT
4220 / 2682 / 656
Регистрация: 23.09.2014
Сообщений: 9,236
Записей в блоге: 3
15.01.2025, 22:15  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
А в UE создание куба через С++
что обычно отвечают, когда спрашиваешь как закодить примитив в движке на япе:
https://www.cyberforum.ru/post16222851.html
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3039 / 1055
Регистрация: 01.06.2021
Сообщений: 11,587
15.01.2025, 22:22
XLAT, но Unity неплох в этом плане. Там, как и в Godot, все можно через код. Подразумеваю, что есть сцена и объект пустышка, к которому присобачен скрипт. Или синглтон.
0
Just Do It!
 Аватар для XLAT
4220 / 2682 / 656
Регистрация: 23.09.2014
Сообщений: 9,236
Записей в блоге: 3
15.01.2025, 22:40  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
Unity неплох в этом плане. Там, как и в Godot, все можно через код.
мой эксперименты с тетрисом полностью на кодогенерации:
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3039 / 1055
Регистрация: 01.06.2021
Сообщений: 11,587
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
Закрытая тема Создать тему
Новые блоги и статьи
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время? Никакой пенсии. Никакого нового. . .
сукцессия 41
anaschu 24.07.2026
Численная верификация бифуркации в агентной модели лесной сукцессии: от одного параметра к ансамблю Автор: пользователь @Shumilov_AS | Раздел: Прикладная математика / Численные методы Кратко. . .
сукцессия 40. Ансамблевая кластерная параметризаци, часть 1.
anaschu 24.07.2026
Пр# Сопровождение научной статьи ИИ-ассистентом: подготовка публикации и калибровка агентно-ориентированной модели сукцессии микоризных систем **Полевые заметки о двухнедельной совместной работе**. . .
Теория всего 12. ВГК на планете в стратегической игре "терра"
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru