|
0 / 0 / 0
Регистрация: 02.11.2023
Сообщений: 22
|
|
Цикл внутри цикла17.03.2024, 02:55. Показов 1822. Ответов 3
Я пытаюсь сделать пошаговую RPG игру на SFML и все идет круто, но пока я не знаю как поступить с самым главным-боевкой. Проблема(скорее вопрос) возник в начале. Стоит ли бой обрабатывать в отдельном цикле, который работает, пока не закончится бой или можно поступить иначе и лучше? Для меня кажется это самым простым способом, так как мне не нужно будет кучу раз прописывать, что бы что то выводилось или работало, только тогда, когда игрок не в бою. А внутри этого цикла будет уже своя очистка , рисование и вывод. Единственная проблема, это области видимости(не помню уже в чем была проблема, но была связанно с этой ошибкой). Я просто хочу узнать, может это говнокод или вообще глупо?
0
|
|
| 17.03.2024, 02:55 | |
|
Ответы с готовыми решениями:
3
Цикл внутри цикла
|
|
Злостный нарушитель
10298 / 5721 / 1268
Регистрация: 12.03.2015
Сообщений: 26,496
|
||
| 17.03.2024, 03:06 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 02.11.2023
Сообщений: 22
|
|
| 17.03.2024, 15:44 [ТС] | |
|
0
|
|
|
Just Do It!
|
|||
| 19.03.2024, 13:07 | |||
|
лучше так: сцена внутри сцены. цикл - это изначально низкоуровневая хрень, доступная на всех япах, но не отображающая на понимание участвующих в действе кодерских сущностей. игры, имхо, это как раз то место, куда адекватно укладывается ооп-парадигма. знам, лучше писать код игры в терминах самой игры. собсно, сцена боя, эта сцена или объект сцены боя. она может быть присутствовать отдельно или быть интегрированной/скомбинированной с другой сценой. начался бой? создаем сцену из готового, заранее написанного, класса сцены. бой кончился? сцена удаляется, предварительно сохраняем результаты сцены(боя). время жизни объекта в динамических сценах это то что должны изучить и понять все школьники уже на этапе написания хеллоуворлда. 1. Ни каких глобалов! 2. Вдумчивое проектирование иерархии вашей программы. второму, т.е. проектированию я не видел, чтобы учили. "не видел" - тут на форуме вопросов по проектированию всего ~0.001% или меньше, ну и это ясно, потому что мало кто тут пишет прожекты на >100'000 строк заканчивающихся на ';'(...) + (далее применительно к си-подобным япам) первичный признак гавнокодинга - это "презрительное" отношение к фигурным скобочкам: https://www.cyberforum.ru/post17246216.html а как раз именно фигурные скобочки отвечают за иерархию или порядок создание и уничтожении ваших переменных, т.е. то самое время жизни переменных объектов. ...
1
|
|||
| 19.03.2024, 13:07 | |
|
Помогаю со студенческими работами здесь
4
Остановиться внутри цикла
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|