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 e420cc68502a97c461933421f7fc24c01d65469a parent 0c7372d8db1c6aab7e7dd093ed176ae08315c3fe Auteurice: Arthur Pons <arthur.pons@unistra.fr> Date: Sat, 25 Jan 2025 13:29:55 +0100 interface lit les cartes depuis stdin Et plus depuis hand Diffstat:
M | game | | | 3 | +-- |
M | interface.c | | | 8 | ++++---- |
2 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/game b/game @@ -4,7 +4,6 @@ sources=$(find cards/sources -type f | shuf | head -n2 | sort) filters=$(find cards/filters -type f | shuf | head -n7 | sort) cardnames=$(echo "$sources\n$filters" | xargs -n1 basename) echo "$sources\n$filters" | xargs -I {} cp {} . -printf "%s\n" "$cardnames" > hand -./interface +printf "%s\n" "$cardnames" | ./interface rm $cardnames diff --git a/interface.c b/interface.c @@ -138,8 +138,7 @@ void updateres(char *res, const char *cmd, FILE *fp) { strcat(res, line); } -void file2pile(char* filename, pile *p, pile **piles) { - FILE *fp = fopen(filename, "r"); +void file2pile(FILE* fp, pile *p, pile **piles) { char line[CARD_NAME_SIZE]; while (fgets(line, sizeof(line), fp)) { /* Retire le retour à la ligne à la fin de line */ @@ -172,7 +171,7 @@ int displaytextblock(char *text, int rowoffset, int lineoffset) { return nbl+1; } -void debug(int l, pile curmenu,struct tb_event ev) { +int debug(int l, pile curmenu,struct tb_event ev) { tb_printf(0,l++,TB_DEFAULT,TB_DEFAULT,curmenu.name); char str[100];sprintf(str,"%d",curmenu.cardCount); tb_printf(0,l++,TB_DEFAULT,TB_DEFAULT,str); @@ -181,6 +180,7 @@ void debug(int l, pile curmenu,struct tb_event ev) { tb_printf(0,l++,TB_DEFAULT,TB_DEFAULT,str2); tb_printf(0,l++,TB_DEFAULT,TB_DEFAULT,"touche %d, char %d, x %d, y %d\n",ev.key,ev.ch,ev.x,ev.y); tb_printf(0,l++,TB_DEFAULT,TB_DEFAULT,"type %d",ev.type); + return l; } int display(pile** piles, pile curmenu, bool selection, char* cmd, char* res, char* intern) { @@ -230,7 +230,7 @@ int main(int argc, char **argv) { pile playedargs=createpile("playedargs"); piles[HAND]=&hand;piles[PLAYED]=&played; piles[ARGS]=&args;piles[PLAYEDARGS]=&playedargs; - file2pile("hand", &hand, piles); + file2pile(stdin, &hand, piles); bool selection=false; bool quit=false;