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 f3393ef5e78986a0f1ed3e416a33486d14e3f047 parent 524e3c3b1a8a90092eb1010d61870a7b17517156 Auteurice: Arthur Pons <arthur.pons@unistra.fr> Date: Tue, 28 Jan 2025 18:41:42 +0100 Modification de l'interface La main est au milieu, la pile joueureuse à gauche, l'ennemi à droite On a donc inversé les commandes Affichage un peu plus dynamique et propre, par contre prend beaucoup de place Ca rentre dans mon terminal en plein écran mais c'est entre autre parce qu'il est très dézoomé Diffstat:
M | interface.c | | | 58 | +++++++++++++++++++++++++++++----------------------------- |
1 file changed, 29 insertions(+), 29 deletions(-)
diff --git a/interface.c b/interface.c @@ -29,12 +29,13 @@ int nblines(char *str) { return l; } -void hr(int rowoffset, int lineoffset, int length) { +int hr(int rowoffset, int lineoffset, int length) { char ruler[length+1]; for(int i=0;i<length;i++) ruler[i]='-'; ruler[length]='\0'; tb_printf(rowoffset, lineoffset, TB_DEFAULT, TB_DEFAULT, ruler); + return lineoffset+1; } void vr(int rowoffset, int lineoffset, int length) { @@ -189,42 +190,41 @@ int debug(int l, pile curmenu,struct tb_event ev) { } int display(pile** piles, pile curmenu, bool selection, char* cmd, char* res, char* intern, char* cmdennemy, char* resennemy, char* internennemy) { - int lineoffset=0; + int lineoffset1=0, lineoffset2=0; tb_clear(); - lineoffset=displaypile(*piles[HAND], curmenu, 0, 0, selection); - lineoffset=displaypile(*piles[ARGS], curmenu, 0, lineoffset, selection); - - vr(CARD_NAME_SIZE,0,lineoffset); - - int lo=displaypile(*piles[PLAYED], curmenu, CARD_NAME_SIZE+2, 0, selection); - - vr(CARD_NAME_SIZE*2,0,max(lineoffset,lo)); - - displaypile(*piles[PLAYEDARGS], curmenu, CARD_NAME_SIZE*2+2, 0, selection); - - vr(CARD_NAME_SIZE*3,0,max(lineoffset,lo)); + displaypile(*piles[PLAYEDARGS], curmenu, 0, 0, selection); + displaypile(*piles[PLAYED], curmenu, CARD_NAME_SIZE+2, 0, selection); + lineoffset1=displaypile(*piles[HAND], curmenu, CARD_NAME_SIZE*2+2, 0, selection); + lineoffset1=displaypile(*piles[ARGS], curmenu, CARD_NAME_SIZE*2+2, lineoffset1, selection); + lineoffset2=displaypile(*piles[PLAYEDENNEMY], curmenu, CARD_NAME_SIZE*3+2, 0, selection); + displaypile(*piles[PLAYEDENNEMYARGS], curmenu, CARD_NAME_SIZE*4+2, 0, selection); - lo=displaypile(*piles[PLAYEDENNEMY], curmenu, CARD_NAME_SIZE*3+2, 0, selection); + vr(CARD_NAME_SIZE,0,lineoffset1); + vr(CARD_NAME_SIZE*2,0,max(lineoffset1,lineoffset2)); + vr(CARD_NAME_SIZE*3,0,max(lineoffset1,lineoffset2)); + vr(CARD_NAME_SIZE*4,0,max(lineoffset1,lineoffset2)); + lineoffset1=hr(0,max(lineoffset1,lineoffset2),CARD_NAME_SIZE*5); + int lo=lineoffset1; - vr(CARD_NAME_SIZE*4,0,max(lineoffset,lo)); + lineoffset1=displaytextblock(res,0,lo); + lineoffset1=displaytextblock(intern,0,lineoffset1); + lineoffset1=displaytextblock(cmd,0,lineoffset1); - displaypile(*piles[PLAYEDENNEMYARGS], curmenu, CARD_NAME_SIZE*4+2, 0, selection); + lineoffset2=displaytextblock(resennemy,CARD_NAME_SIZE*3+2,lo); + lineoffset2=displaytextblock(internennemy,CARD_NAME_SIZE*3+2,lineoffset2); + lineoffset2=displaytextblock(cmdennemy,CARD_NAME_SIZE*3+2,lineoffset2); + lo=max(lineoffset1,lineoffset2); - lo=displaytextblock(resennemy,CARD_NAME_SIZE*3+2,lo); - lo=displaytextblock(internennemy,CARD_NAME_SIZE*3+2,lo); - lo=displaytextblock(cmdennemy,CARD_NAME_SIZE*3+2,lo); - - lineoffset=displaytextblock(res,0,lineoffset); - lineoffset=displaytextblock(intern,0,lineoffset); - lineoffset=displaytextblock(cmd,0,lineoffset); - lineoffset=displaytextblock("\ + lo=displaytextblock("\ * enter to select card\n\ * arrows to move selection\n\ * m to create arg (if no whitespace)\n\ - * e to end turn and output res\n",0,lineoffset+2); + * e to end turn and output res\n",0,lo); + + lo=hr(0,lo,CARD_NAME_SIZE*5); - return lineoffset; + return lo; } @@ -284,7 +284,7 @@ int main(int argc, char **argv) { curmenu=moveselection(curmenu,piles,"down",selection); break; /* <- */ - case 65515: + case 65514: if (strcmp(curmenu->name,"played")==0) { if (selection) { addcardtopile(played.cards[played.curline],&hand,piles); @@ -311,7 +311,7 @@ int main(int argc, char **argv) { } break; /* -> */ - case 65514: + case 65515: if (strcmp(curmenu->name,"hand")==0) { if (selection) { addcardtopile(hand.cards[hand.curline],&played,piles);