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 9a229081cbf013382d8f0be41ca817ad20bf11ac parent f3256edc0bcfe863732e4743113a14049ce6477e Auteurice: Arthur Pons <arthur.pons@unistra.fr> Date: Sun, 2 Feb 2025 12:48:16 +0100 Vérifier si y'a un arg avant de le selec par clic Diffstat:
M | interface.c | | | 23 | +++++++++++++---------- |
1 file changed, 13 insertions(+), 10 deletions(-)
diff --git a/interface.c b/interface.c @@ -220,10 +220,11 @@ coord displaypile(struct pile *p, struct pile *curmenu, int coloffset, int lineo return end; } -coord displaytextblock(char *text, int coloffset, int lineoffset) { +coord displaytextblock(char* title, char *text, int coloffset, int lineoffset) { + coloffset++;lineoffset++; coord p; int nbl=nblines(text), w=CARD_NAME_SIZE+2; p.y=nbl+lineoffset; p.x=w+coloffset; - displaybox(NULL,coloffset,lineoffset,w,nbl,false); + displaybox(title,coloffset,lineoffset,w,nbl,false); coloffset++; lineoffset++; tb_printf(coloffset, lineoffset, TB_DEFAULT, TB_DEFAULT, text); return p; @@ -255,19 +256,19 @@ int display(struct pile** piles, struct pile *curmenu, bool selection, char* cmd coord p6=displaypile(piles[PLAYEDENNEMYARGS], curmenu, p5.x, 0, selection); int m=max(max(p2.y,p4.y),p5.y); - p=displaytextblock(res,CARD_NAME_SIZE/2,m+2); - p=displaytextblock(intern,CARD_NAME_SIZE/2,p.y); - p=displaytextblock(cmd,CARD_NAME_SIZE/2,p.y); + p=displaytextblock("result",res,CARD_NAME_SIZE/2,m+2); + p=displaytextblock("sh commands",intern,CARD_NAME_SIZE/2,p.y); + p=displaytextblock("command",cmd,CARD_NAME_SIZE/2,p.y); - p=displaytextblock("\ + p=displaytextblock(NULL,"\ * enter to select card\n\ * arrows to move selection\n\ * m to create arg \n\ * e to end turn\n",p2.x+1,m+2); - coord p7=displaytextblock(resennemy,p3.x+CARD_NAME_SIZE/2,m+2); - p=displaytextblock(internennemy,p3.x+CARD_NAME_SIZE/2,p7.y); - p=displaytextblock(cmdennemy,p3.x+CARD_NAME_SIZE/2,p.y); + coord p7=displaytextblock("result",resennemy,p3.x+CARD_NAME_SIZE/2,m+2); + p=displaytextblock("sh commands",internennemy,p3.x+CARD_NAME_SIZE/2,p7.y); + p=displaytextblock("command",cmdennemy,p3.x+CARD_NAME_SIZE/2,p.y); return p.y+4; } @@ -400,7 +401,9 @@ int main(int argc, char **argv) { prevpos.x=ev.x, prevpos.y=ev.y; } else { destmenu = piles[i]->cardcount>0 ? piles[i] : curmenu; - if(destmenu==piles[HAND] && piles[ARGS]->begin.y < ev.y && ev.y < piles[ARGS]->end.y ) { destmenu=piles[ARGS]; } + if(destmenu==piles[HAND] \ + && piles[ARGS]->begin.y < ev.y && ev.y < piles[ARGS]->end.y \ + && piles[ARGS]->cardcount>0 ) { destmenu=piles[ARGS]; } destmenu->curline = destmenu==piles[ARGS] ? ev.y-1-piles[HAND]->end.y : min(ev.y-1,destmenu->cardcount-1); selection=false; curmenu=destmenu; srcmenu=destmenu;