Un jeu de cartes à piper les une dans les autres - retour accueil
git clone git://bebou.netlib.re/pipe-game
Log | Files | Refs | README |
commit 17272ab530f49e4a674f2012c748f15c8aec427f parent 6548122e1be41a4ccfd2729523681eabce5afa07 Auteurice: Arthur Pons <arthur.pons@unistra.fr> Date: Wed, 29 Jan 2025 21:43:00 +0100 Des noms de fonctions moins à rallonge Diffstat:
M | interface.c | | | 42 | +++++++++++++++++++----------------------- |
1 file changed, 19 insertions(+), 23 deletions(-)
diff --git a/interface.c b/interface.c @@ -103,7 +103,7 @@ void removecardofpile(int cardposition, struct pile* p, struct pile **piles) { p->curline--; } -struct pile* moveselection(struct pile* p, struct pile** piles, char* direction, bool selection) { +struct pile* mvcardup(struct pile* p, struct pile** piles, char* direction, bool selection) { int step = strcmp(direction,"up")==0 ? -1 : 1 ; if (p->curline+step >= 0 && p->curline+step < p->cardCount) { if (selection) { @@ -122,7 +122,7 @@ struct pile* moveselection(struct pile* p, struct pile** piles, char* direction, return p; } -struct pile* movecardfrompiletopile(struct pile* p, struct pile** piles, bool* selection, int direction) { +struct pile* mvcardlr(struct pile* p, struct pile** piles, bool* selection, int direction) { struct pile *newcurmenu=p; if(direction) { newcurmenu=p->destleft; @@ -328,19 +328,19 @@ int main(int argc, char **argv) { switch(ev.key) { /* up */ case 65517: - curmenu=moveselection(curmenu,piles,"up",selection); + curmenu=mvcardup(curmenu,piles,"up",selection); break; /* down */ case 65516: - curmenu=moveselection(curmenu,piles,"down",selection); + curmenu=mvcardup(curmenu,piles,"down",selection); break; /* -> */ case 65514: - curmenu=movecardfrompiletopile(curmenu, piles, &selection, 0); + curmenu=mvcardlr(curmenu, piles, &selection, 0); break; /* <- */ case 65515: - curmenu=movecardfrompiletopile(curmenu, piles, &selection, 1); + curmenu=mvcardlr(curmenu, piles, &selection, 1); break; case 13: selection=!selection; @@ -379,22 +379,18 @@ int main(int argc, char **argv) { switch(ev.key) { case 65512: /*MouseLeft*/ for(int i=0;i<NB_PILES;i++) { - if( piles[i]->begin.x < ev.x && ev.x < piles[i]->end.x ) { + if( piles[i]->begin.x < ev.x && ev.x < piles[i]->end.x ) { if(ev.mod==TB_MOD_MOTION) { - selection=true; - curmenu=piles[i]; - if(curmenu!=prevcurmenu) { - if(ev.x<prevpos.x) { - curmenu=movecardfrompiletopile(prevcurmenu, piles, &selection, 1); - } else if (ev.x>prevpos.x) { - curmenu=movecardfrompiletopile(prevcurmenu, piles, &selection, 0); - } - } - if(ev.y>prevpos.y) { - curmenu=moveselection(curmenu,piles,"down",selection); - } else if (ev.y<prevpos.y) { - curmenu=moveselection(curmenu,piles,"up",selection); - } + selection=true; curmenu=piles[i]; + if(curmenu!=prevcurmenu) + if(ev.x<prevpos.x) + curmenu=mvcardlr(prevcurmenu, piles, &selection, 1); + else if (ev.x>prevpos.x) + curmenu=mvcardlr(prevcurmenu, piles, &selection, 0); + if(ev.y>prevpos.y) + curmenu=mvcardup(curmenu,piles,"down",selection); + else if (ev.y<prevpos.y) + curmenu=mvcardup(curmenu,piles,"up",selection); } else { if(piles[i]->cardCount>0) { curmenu=piles[i]; } if(curmenu==piles[HAND] && piles[ARGS]->begin.y < ev.y && ev.y < piles[ARGS]->end.y ) { curmenu=piles[ARGS]; } @@ -411,10 +407,10 @@ int main(int argc, char **argv) { selection=false; break; case 65508: /*MouseWheelUp*/ - curmenu=moveselection(curmenu,piles,"up",selection); + curmenu=mvcardup(curmenu,piles,"up",selection); break; case 65507: /*MouseWheelDown*/ - curmenu=moveselection(curmenu,piles,"down",selection); + curmenu=mvcardup(curmenu,piles,"down",selection); break; } }