Godot game engine: оптимизация
Различные принципы, которые должен понимать разработчик, чтобы повысить производительность игры. Многое из перечисленного касается не только движка Godot.
Различные принципы, которые должен понимать разработчик, чтобы повысить производительность игры. Многое из перечисленного касается не только движка Godot.
Познавательно, вот к вопросу о циклах. Допустим есть простые крестики нолики. Нам нужно проверить по сути два условия победа и ничья. Если ничью, на мой взгляд, проще проверить по кол-ву ходов, мол если ходов 9, а условий победы нет, то ничья. То вот проверка условий победы может быть совершенно разной.
Вариант 1: просто проверяем 8 комбинаций через if...ilif...else
Вариант 2: делаем матрицу и проверяем в каждую сторону от клетки последнего хода, Кол-во совпадающих элементов.
Какой вариант наиболее предпочтителен с точки зрения оптимизации? Если не брать во внимание простоту и лёгкость игры.
Вариант 2 конечно же лучше, чем 1. Если захочется увеличить поле на несколько клеток, то не универсальный алгоритм из варианта 1 уже не будет работать и его придётся переделывать. Да и читаться он будет лучше, чем куча if.
В вашем случае особо без разницы - как вы напишете условие, главное, чтобы оно точно определяло исход, не оставляя дыр.
Логику и внутри цикла то не всегда имеет смысл слишком оптимизировать, а уж вне цикла - одну проверку - ещё меньше поводов.