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

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

08.01.2025, 12:45. Показов 45879. Ответов 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
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6296 / 3018 / 1053
Регистрация: 01.06.2021
Сообщений: 11,463
31.01.2025, 13:50
Студворк — интернет-сервис помощи студентам
Хулиган, а если просто создать один класс Сапёр со всеми нужными методами. Зачем дробить на Ячейку, Поле, Бомба, Номер, Флаг и пр. Это тот случай, когда делают из мухи слона.



Более того, дробить на Поле, Ячейка, Бомба и пр. нужно, когда эти объекты можно использовать отдельно от класса Сапер, например для другой игры...
Но, блет, у вас только один Сапер, все эти отдельные классы лишний мусор.

Если стоит задача тренироваться в ООП, тогда и берите проект посложнее, а не детский сапер. А то все это выглядит, как попытки сымитировать архитектуру Нью-Йорка в песочнице на детской площадке.

Для сапера достаточного одного хидера и одного файла реализации. Можно сделать namespace для сапера. Дальше создать красивый api.
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
31.01.2025, 14:30
Цитата Сообщение от Royal_X Посмотреть сообщение
а если просто создать один класс Сапёр со всеми нужными методами. Зачем дробить
Конечно можно так сделать, и это будет быстрее! Тут даже класс Сапер не нужен! Но меня игра Сапер не интересует, у меня он есть. Можно взять любую другую игру. Весь смысл как раз разделить проект на обозримые модули или классы, и посмотреть что из этого выйдет, а заодно научиться на крестах кодить. Ну и документировать научиться, а это главное. Вот моя цель. Создам сапера, возьму посложнее задачу.
Цитата Сообщение от Royal_X Посмотреть сообщение
Более того, дробить на Поле, Ячейка, Бомба и пр. нужно, когда эти объекты можно использовать отдельно от класса Сапер, например для другой игры...
Не обязательно. ООП это не о повторном использовании кода, это для лучшей организации кода. Повторно используют библиотеки, а не программные компоненты, за редкими исключениями.

Добавлено через 7 минут
Цитата Сообщение от CoderHuligan Посмотреть сообщение
свое поведение и состояние
А под состоянием я понимаю, не текущее состояние всех переменных в объекте, а состояние, как абстракцию, как шаг алгоритма, в автомате.
1
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6296 / 3018 / 1053
Регистрация: 01.06.2021
Сообщений: 11,463
31.01.2025, 14:44
Компилятору плевать, как организован код, это нужно сделать для людей, чтобы им было все ясно и понятно. А самое главное, чтобы человек, который будет работать с api, быстро вник в процесс. Но вот, например, Xlat сделал все наоборот. Чтобы понять его код нужно потратить много времени. Чтобы подключить многочисленные заголовки, нужно снова потратить время... Кому нужно такое чудо. Хороший код это Plug & Play.
Более того, в этой теме я уже писал, что я так и не понял, как используя его api, можно создать игру и играть. Я в его апи даже механизм флажков или выставления бомб в штуках не увидел. Не знаю, может быть он уже добавил... Видимо, он для каллиграферов пишет, но я не смог за пару минут вникнуть в его API, хотя вроде я за такое время вникал в Qt, wxWidgets...
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
31.01.2025, 16:39
Цитата Сообщение от Royal_X Посмотреть сообщение
код, это нужно сделать для людей, чтобы им было все ясно и понятно.
Если бы я делал в процедурке, то, как обычно, поделил бы код на модули-файлы. Вышло бы почти то же самое. Но в ооп есть своя прелесть..
Цитата Сообщение от Royal_X Посмотреть сообщение
Xlat сделал все наоборот. Чтобы понять его код нужно потратить много времени. Чтобы подключить многочисленные заголовки, нужно снова потратить время...
"Пиши код так, как буд-то его поддержкой будет заниматься маньяк-убийца". То есть надо писать код понятный и простой. А сложные места объяснять комментами. Xlat имеет какие-то свои взгляды. Я пока сильно не пытался вникать в его код, так как пока не знаю современных фич плюсов. Скачал книжку по плюсам, там 20 стандарт объясняется. Буду просвещаться.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6296 / 3018 / 1053
Регистрация: 01.06.2021
Сообщений: 11,463
31.01.2025, 16:58
Цитата Сообщение от CoderHuligan Посмотреть сообщение
так как пока не знаю современных фич плюсов
так хлат тоже как бы их не использует, он просто крошит код на мелкие кусочки, обворачивая их потом ООП

CoderHuligan, хлат плохому учит, не слушай его
1
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
31.01.2025, 18:35
Прогнал minesweeper под Ghidra. Всё прекрасно декомпилировалось. Программа создавалась в Visual Studio с++ v 7.0. Причем на чистых api! Нашел и WinMain и wndProc. Все алгоритмы видны прекрасно.но там конечно надо разбираться,так как имена все малозначащие. Вот пример WinMain,как его декомпилировала гидра:
Кликните здесь для просмотра всего текста
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
63
64
65
66
67
68
69
70
71
72
undefined4 WinMain(HINSTANCE param_1,undefined4 param_2,undefined4 param_3,int param_4)
 
{
  ATOM AVar1;
  HACCEL hAccTable;
  int iVar2;
  BOOL BVar3;
  ushort uVar4;
  WNDCLASSW local_50;
  tagMSG local_28;
  INITCOMMONCONTROLSEX local_c;
  
  DAT_01005b30 = param_1;
  FUN_01003ab0();
  if ((param_4 == 7) || (DAT_01005b38 = 0, param_4 == 2)) {
    DAT_01005b38 = 1;
  }
  local_c.dwSize = 8;
  local_c.dwICC = 0x16fd;
  InitCommonControlsEx(&local_c);
  _DAT_01005b28 = LoadIconW(DAT_01005b30,(LPCWSTR)0x64);
  local_50.style = 0;
  local_50.lpfnWndProc = FUN_01001bc9;
  local_50.cbClsExtra = 0;
  local_50.cbWndExtra = 0;
  local_50.hInstance = DAT_01005b30;
  local_50.hIcon = _DAT_01005b28;
  local_50.hCursor = LoadCursorW((HINSTANCE)0x0,(LPCWSTR)0x7f00);
  local_50.hbrBackground = (HBRUSH)GetStockObject(1);
  local_50.lpszMenuName = (LPCWSTR)0x0;
  local_50.lpszClassName = (LPCWSTR)&DAT_01005aa0;
  AVar1 = RegisterClassW(&local_50);
  if (AVar1 != 0) {
    DAT_01005a94 = LoadMenuW(DAT_01005b30,(LPCWSTR)0x1f4);
    hAccTable = LoadAcceleratorsW(DAT_01005b30,(LPCWSTR)0x1f5);
    FUN_01002bc2();
    DAT_01005b24 = CreateWindowExW(0,(LPCWSTR)&DAT_01005aa0,(LPCWSTR)&DAT_01005aa0,0xca0000,
                                   DAT_010056b0 - DAT_01005a90,DAT_010056b4 - DAT_01005b88,
                                   DAT_01005b2c + DAT_01005a90,DAT_01005b20 + DAT_01005b88,(HWND)0x0
                                   ,(HMENU)0x0,DAT_01005b30,(LPVOID)0x0);
    if (DAT_01005b24 == (HWND)0x0) {
      uVar4 = 1000;
    }
    else {
      FUN_01001950(1);
      iVar2 = FUN_01002b14();
      if (iVar2 != 0) {
        FUN_01003ce5(DAT_010056c4);
        FUN_0100367a();
        ShowWindow(DAT_01005b24,1);
        UpdateWindow(DAT_01005b24);
        DAT_01005b38 = 0;
        while (BVar3 = GetMessageW(&local_28,(HWND)0x0,0,0), BVar3 != 0) {
          iVar2 = TranslateAcceleratorW(DAT_01005b24,hAccTable,&local_28);
          if (iVar2 == 0) {
            TranslateMessage(&local_28);
            DispatchMessageW(&local_28);
          }
        }
        FUN_0100263c();
        if (DAT_0100515c == 0) {
          return local_28.wParam;
        }
        FUN_01002dab();
        return local_28.wParam;
      }
      uVar4 = 5;
    }
    FUN_01003950(uVar4);
  }
  return 0;
}


Добавлено через 5 минут
Цитата Сообщение от CoderHuligan Посмотреть сообщение
под Ghidra
Я просто в шоке от этого инструмента, насколько там все удобно и наглядно.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6296 / 3018 / 1053
Регистрация: 01.06.2021
Сообщений: 11,463
31.01.2025, 18:39
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Я просто в шоке от этого инструмента, насколько там все удобно и наглядно.
это же инструмент, созданный в АНБ США
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
31.01.2025, 18:43
Цитата Сообщение от Royal_X Посмотреть сообщение
созданный в АНБ США
В курсе. Поэтому и боялся его ставить. Кстати у меня брандмауэр жаловался, что гидра прется в сеть. Так что если будете ставить имейте ввиду)). Но я от гидры просто в восторге и не откажусь, хай шпионит))
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6296 / 3018 / 1053
Регистрация: 01.06.2021
Сообщений: 11,463
31.01.2025, 18:49
CoderHuligan, прога с открытым исходным кодом (любой может проверить, что она делает и как работает), поверь, будь там шпион, китайцы или русские подняли бы тревогу.
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
31.01.2025, 19:06
Цитата Сообщение от Royal_X Посмотреть сообщение
поверь, будь там шпион, китайцы или русские подняли бы тревогу.
Конечно. Это реальная замена IDA pro, которая очень дорогая.

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

я же 100500 раз написал, что его и не нужно понимать!

вот как таких учить?

)))
0
87 / 87 / 18
Регистрация: 11.06.2018
Сообщений: 302
01.02.2025, 13:03
XLAT, Мне показалось, или Royal_X в этой теме ни разу свой код не постил, только бинарники? Кажется ты один тут постишь честно код.
1
Just Do It!
 Аватар для XLAT
4219 / 2680 / 656
Регистрация: 23.09.2014
Сообщений: 9,235
Записей в блоге: 3
01.02.2025, 13:15  [ТС]
Цитата Сообщение от ablex Посмотреть сообщение
Мне показалось
не показалось.

у Royal_X капитализм головного моска("все умрут, а я грейпфрукт")) - тяп-ляп и в продакшен + прокачка ЧСВ
а то что релиз экспертизу у отдела маркетинга не прошел,
так "это не мы гуаноделы - это рынок зажрался"))

но он француз - значит делаем ему скидку)
1
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6296 / 3018 / 1053
Регистрация: 01.06.2021
Сообщений: 11,463
01.02.2025, 13:16


Цитата Сообщение от ablex Посмотреть сообщение
Royal_X в этой теме ни разу свой код не постил, только бинарники?
код постят код тогда, когда есть спрос или когда ты хочешь расхвалиться. Спроса на мой код в данной теме не было, ибо писал на WinAPI и Qt... Второе тоже не по моей части.
Бинарники же были доказательствами, что я тоже что-то делал, причем я немного хвалился их размерами)
1
87 / 87 / 18
Регистрация: 11.06.2018
Сообщений: 302
01.02.2025, 13:17
XLAT, я прост думаю, что он не может твой код критиковать, пока свой не покажет.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6296 / 3018 / 1053
Регистрация: 01.06.2021
Сообщений: 11,463
01.02.2025, 13:21
Цитата Сообщение от ablex Посмотреть сообщение
я прост думаю
не нужно тебе думать, ты прямо просто говори. Или лучше не надо, а то помню, как в последний раз твои посты были удалены модератором, поскольку ты писать по-человечески не умеешь.
0
87 / 87 / 18
Регистрация: 11.06.2018
Сообщений: 302
01.02.2025, 13:21
Цитата Сообщение от Royal_X Посмотреть сообщение
не нужно тебе думать, ты прямо просто говори
Когда я прямо говорю, то модеры удаляют. Догадывайся сам.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6296 / 3018 / 1053
Регистрация: 01.06.2021
Сообщений: 11,463
01.02.2025, 13:28
Цитата Сообщение от ablex Посмотреть сообщение
Когда я прямо говорю
говори прямо по сути, только то, что касается программирования, а не офтоп типа "я думаю Royal_X 16 лет" (или сколько ты там лет говорил, не помню). Мы все делаем догадки, но держим это в голове. Например, я могу думать, что кто-то на форуме проститутка, но я же прямо не говорю.

Добавлено через 4 минуты
Цитата Сообщение от ablex Посмотреть сообщение
он не может твой код критиковать
еще как могу. Причем я критикую субъективно и XLAT это знает. И он меня тоже критикует. Не коды, конечно, поскольку он их не видел, но сами методологические подходы. И я нормально отношусь к этой критике. Потому что критика бывает здоровой, а иногда бывает крысиной, язвительной, цель которой просто обсирать (например, тролль, который постоянно кого-то преследует на форуме).
У нас с XLAT первый случай - деловые здоровые отношения, и нет никакой вражды.
0
Just Do It!
 Аватар для XLAT
4219 / 2680 / 656
Регистрация: 23.09.2014
Сообщений: 9,235
Записей в блоге: 3
01.02.2025, 13:30  [ТС]
Цитата Сообщение от ablex Посмотреть сообщение
он не может твой код критиковать, пока свой не покажет.
я видел его код в другом проекте,
но критиковать не буду, потому что он не просил и тот код не предназначался,
чтобы его читали.

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

далее,
Royal_X снял маскировку С++ кодера и выступил как ясельный Си-шкодер.
но это такое - раздел позволяет тут сишкошкодерам резвиться)
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6296 / 3018 / 1053
Регистрация: 01.06.2021
Сообщений: 11,463
01.02.2025, 13:32
Цитата Сообщение от XLAT Посмотреть сообщение
критика от ии - подделка под эмоции - не более.
ну это вообще шутка была)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.02.2025, 13:32

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
560
Закрытая тема Создать тему
Новые блоги и статьи
В чем ценность человеческого опыта в глобальном смысле?
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 на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru