All streams
Search
Write a publication
Pull to refresh

Comments 14

Про сам паттерн Команда не сказано ни слова.

-funroll-all-loops

Это псевдооптимизаторский флаг, который обычно ухудшает производительность, поверьте гентушникам.

Генту очень хороший дистрибутив, верю

в примере и если так применить в игре с известным количеством элементов до 100 вроде разворачивается если смотреть на ассемблер

https://developers.redhat.com/blog/2018/03/21/compiler-and-linker-flags-gcc#recommended_build_flags

можно еще тут посмотреть, в своё время смотрел

ValidRules - вектор, который хранит общие нюансы игровые - т.к. в данном случае мы рассматриваем 2Д, то это я считаю очень удобно, например какие-то общие правила. Например как на доске двигаются фигуры и т.д.

ValidQuests - вектор, который хранит уже частные квесты - то есть то что уже ближе к персонализации игрока, банально какой-то квест задание в игре например прокликать 3 раза.

По кнопке Влево мы наполняем наши 2 вектора числами. По кнопке Вправо переносим из конца первого вектора в конец второго. По кнопке Вниз отменяем последнее перемещение числа.

Объясните плиз, что вы делаете? И зачем здесь нужна команда?
Очень прошу пояснительную бригаду, для моего случая непонимания:)

В этой статье есть некая проблема в том, что ты сразу описываешь полученные результаты. Самого квеста, который ты прошел, здесь нет - он есть только в твоей голове. Ты говоришь - пришел к некоторым вопросам про использование C++, и где эти вопросы? Есть только ответы.

В основном, в таких статьях интересен набор решений, которые ты делал, когда кодил. Почему результат, которого ты достиг, интересный и уникальный. Попробуй в следующий раз написать более лучше)

Например, для олдов, можно напомнить, что SDL теперь работает на лицензии zlib, а не GPL как раньше. По сравнению с MIT, zlib понятней, легче читается, и позволяет изменять способ информирования о ее наличии: "This notice may not be removed or altered from any source distribution." Это значит, его действительно можно использовать в чем-то, что дальше ты будешь продавать. Без этого весь этот код можно было бы сразу выкинуть в помойку и писать на чем-то совершенно другом.

спасибо учту, простите квест действительно есть. просто я слаб в простоту такого он даже подготовлен и по рандому я сам честно его даже 1 раз проделал)

ValidRules - общие правила что где находится или что как двигается или откуда берется

ValidQuests - конкретика достижения

я начинал с хаотичной разработки без паттернов, пробовал 3Д, сделал пару приложений для себя, на некой итерации второго приложения 2Д, пошли сдвиги что я не на правильном пути. Сначала был прототип который я написал сразу за 1 час, далее просто группировка, и потом осознание что для функционала конкретно уже нужны паттерны действительно (тоесть в хаотичной разработке нет желания переизобретать паттерны)

Можно не только про лицензию, в SDL3 теперь добавилась куча новых фич.

Например, можно определять функции обратного вызова (main callbacks) вместо main() (см. обзор из документации), которые возвращают/принимают значение SDL_AppResult:

  • SDL_AppInit() - инициализирует приложение в начале

  • SDL_AppIterate() - главная функция (выполняется на каждой итерации)

  • SDL_AppEvent() - работает в поступающими в приложение событиями

  • SDL_AppQuit() - завершает работу

Т.е. на самом высоком уровне можно совершенно по-другому описать программу без использования стандартной точки входа.

Еще появился переносимый GPU API, т.е. может и в 3D c аппаратным ускорением.

Даже отрисовка текста теперь из коробки есть, правда, только для дебага.

Меня впечатлил их пример игры Змейка, 350 строк кода на Си, при этом можно собрать даже для запуска в браузере.

змейка интересная да, делал, у них не смотрел реализацию - она же простейшая )

Я так и не понял, что делает этот паттерн, чего нельзя было сделать без него?

Sign up to leave a comment.

Articles