А как тогда переключаться между несколькими одинаковыми объектами, координаты которых хранятся во множестве одинаковых структур, да ещё и обрабатываются в отдельном потоке (основной занят другими делами) А так, у меня выбор объектов ссылается на значение в переменной qd.
Имеем класс QUAD qd[x].
Имеем структуру qd_s[x].
В классе несколько функций, одна из них QUAD::set_pos(float x, float y)
В структуре хранятся переменные struct qd_s {float qd_x, qd_y;}; которые хранят данные по положению элементов на координатных осях. В дальнейшем, данные будут загружаться в структуры из внешнего файла.
Встроенные в класс переменные нужны для прорисовки объекта и активно участвуют в просчётах. Всё разнесено на отдельные потоки, по этому пока использую объявление структуры, как глобальной. (она ещё юзается в других функциях) switch \ case тут не поможет, так как каждый элемент массива bool keys[256] может принимать только два вида значений, это true и false.
Читаемость - это кому как: Я для себя принял так: qd - префикс, который указывает на то, что элемент имеет прямое или косвенное отношение к классу QUAD.
qd_x - понятно, что координата X объекта QUAD. qd_y - Y координата того же объекта. qd_s - структура. qd - индекс (лучше было бы написать qd_i)
Операции не бессмысленны, так как процедуры должны отрабатываться постоянно, пока зажаты соответствующие клавиши.
Кому-то может и неудобно, но мне проще.
Там у меня ещё есть куча других самописных классов (Button, Widget, CheckBox, ProgressBar, Grid, Edit, Table, Terminal, Graphic и прочее)
Пока всё это написано так-же, через *опу, но потом, как закончу, начну думать об оптимизации и грамотном оформлении.