
if (mouse.buttons & SDL_BUTTON_LEFT) { for (i = 0; i < data->numIcons; i ++) { if ((mouse.x >= data->iconList[i].position.x) && (mouse.y >= data->iconList[i].position.y) && (mouse.x <= (data->iconList[i].position.x + data->iconList[i].position.w - 1)) && (mouse.y <= (data->iconList[i].position.y + data->iconList[i].position.h - 1))) data->iconList[i].execOnClick((struct MODULE_DATA*) data); } }
while (1) { if(SDL_GetMouseState(NULL, NULL)&SDL_BUTTON_LEFT) printf("Mouse Button 1(left) is pressed.\n"); else break; }
bool key_state; // Défini quelque part
// […]
void machin_truc_chose()
{
bool new_key_state = get_key_state(<key>);
bool key_up = key_state & ~new_key_state;
bool key_down = new_key_state & ~key_state;
bool key_toggled = key_state ^ new_key_state; // key_up | key_down
key_state = new_key_state;
}
GoldenCrystal (./1446) :...qui ferait quoi ? Le XOR est un opérateur binaire (au sens "2 opérandes" du terme).
domage qu'il n'existe pas d'opérateur ^^ en C !
Folco (./1427) :
Comme ce n'était qu'un workaround pour éviter un warning, je n'y ai pas pensé. Merci bien.
GoldenCrystal (./1449) :
Ben comme le && et le ||, sans la fonction court-circuitage (le xor est obligé d'évaluer les deux côtés donc bon…)
À savoir <a> ^^ <b> <=> ((<a>) != 0) ^ ((<b>) != 0)
Kevin Kofler (./1451) :
Vouloir virer les warnings, c'est bien, essayer de le faire en changeant n'importe quoi sans comprendre, c'est très mal…
Kevin Kofler (./1457) :
pouvoir éditer les commentaires en même temps que le code, ou pouvoir les retrouver facilement quand tu veux te servir de ces fonctions ailleurs?
Folco (./1455) :Je mets toute la documentation dans les headers (je parle de la documentation Doxygen), et tous les commentaires propres au code, bah dans le code...
Les commentaires de fonctions, vous les mettez dans les sources, ou dans les headers ? Qu'est-ce qui est le plus commode ?
Folco (./1458) :Kevin Kofler (./1457) :
pouvoir éditer les commentaires en même temps que le code, ou pouvoir les retrouver facilement quand tu veux te servir de ces fonctions ailleurs?
C'est exactement el dileme que je me suis posé :
- d'un côté, si tes fonctions sont parfaitement fixées, elles ne changeront pas, donc un coup d'oeil dans le header te montrera plus facilement la fonction dont tu as besoin
- d'un autre côté, si tu veux changer la spec à un moment donné, ou pour faciliter le code, les commentaires dans les sources sont bien