Я бы добавил это к ответу шестиугольника, но пока не могу редактировать сообщения.
int valuex=0;
void SetValue(bool &R,bool &L,bool &D,bool &U,bool &T,bool &S,bool &B,bool &A
,bool &Y,bool &X,bool &W,bool &E,bool &G, bool &F)
{
bool* bools[] = { &R, &L, &D, &U, &T, &S, &B, &A, &Y, &X, &W, &E, &G, &F };
bool value[4] = {true, false, true, false};
bool currentbutton;
for (int i=0; i<12 && i < ARRAYSIZE(bools); i++) {
currentbutton=valuestruct.button(i);
if(currentbutton) {
*bools[i]=value[valuex];
valuex++;
if(valuex>ARRAYSIZE(value))
valuex=0;
}
}
}
Хотя я не понимаю, откуда, по-вашему, вы будете читать только значения bool, вы не можете установить все из них.