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

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

08.01.2025, 12:45. Показов 46615. Ответов 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
6315 / 3039 / 1054
Регистрация: 01.06.2021
Сообщений: 11,584
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
6315 / 3039 / 1054
Регистрация: 01.06.2021
Сообщений: 11,584
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
6315 / 3039 / 1054
Регистрация: 01.06.2021
Сообщений: 11,584
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
6315 / 3039 / 1054
Регистрация: 01.06.2021
Сообщений: 11,584
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
6315 / 3039 / 1054
Регистрация: 01.06.2021
Сообщений: 11,584
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 / 2681 / 656
Регистрация: 23.09.2014
Сообщений: 9,236
Записей в блоге: 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 / 2681 / 656
Регистрация: 23.09.2014
Сообщений: 9,236
Записей в блоге: 3
01.02.2025, 13:15  [ТС]
Цитата Сообщение от ablex Посмотреть сообщение
Мне показалось
не показалось.

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

но он француз - значит делаем ему скидку)
1
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3039 / 1054
Регистрация: 01.06.2021
Сообщений: 11,584
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
6315 / 3039 / 1054
Регистрация: 01.06.2021
Сообщений: 11,584
01.02.2025, 13:21
Цитата Сообщение от ablex Посмотреть сообщение
я прост думаю
не нужно тебе думать, ты прямо просто говори. Или лучше не надо, а то помню, как в последний раз твои посты были удалены модератором, поскольку ты писать по-человечески не умеешь.
0
87 / 87 / 18
Регистрация: 11.06.2018
Сообщений: 302
01.02.2025, 13:21
Цитата Сообщение от Royal_X Посмотреть сообщение
не нужно тебе думать, ты прямо просто говори
Когда я прямо говорю, то модеры удаляют. Догадывайся сам.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3039 / 1054
Регистрация: 01.06.2021
Сообщений: 11,584
01.02.2025, 13:28
Цитата Сообщение от ablex Посмотреть сообщение
Когда я прямо говорю
говори прямо по сути, только то, что касается программирования, а не офтоп типа "я думаю Royal_X 16 лет" (или сколько ты там лет говорил, не помню). Мы все делаем догадки, но держим это в голове. Например, я могу думать, что кто-то на форуме проститутка, но я же прямо не говорю.

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

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

далее,
Royal_X снял маскировку С++ кодера и выступил как ясельный Си-шкодер.
но это такое - раздел позволяет тут сишкошкодерам резвиться)
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6315 / 3039 / 1054
Регистрация: 01.06.2021
Сообщений: 11,584
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
Закрытая тема Создать тему
Новые блоги и статьи
сукцессия 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`). . .
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928 Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru