le jeu des motos dans tron - retour accueil
git clone git://bebou.netlib.re/tron
Log | Files | Refs | README |
commit 6b022fa0d30bcc126c4c874821531e46533570eb parent 5389366aad896a7ed8c2ab99b3cd980b4763c349 Auteurice: Arthur Pons <arthur.pons@unistra.fr> Date: Thu, 26 Jun 2025 22:23:13 +0200 On joue plus qu'avec deux touches J'pense on peut encore factoriser Diffstat:
M | tron.c | | | 37 | ++++++++++--------------------------- |
1 file changed, 10 insertions(+), 27 deletions(-)
diff --git a/tron.c b/tron.c @@ -35,6 +35,7 @@ struct bikes { /*Helper functions*/ int rd(int min, int max) { return (rand()%(max-min+1))+min; } +int remain(int a, int b) { return ((a%b)+b)%b; } /*Display functions*/ @@ -53,9 +54,9 @@ Echap pour quitter\n\ + pour ajouter un vélo\n\ - pour retirer un vélo\n\ \n\ -Vélo 1 ↑←↓→\n\ -Vélo 2 zqsd\n\ -Vélo 3 ijkl\n"); +Vélo 1 ←→\n\ +Vélo 2 qd\n\ +Vélo 3 jl\n"); } @@ -216,29 +217,17 @@ int main(int argc, char **argv) { } } while(ev.ch!=32); break; - case 122: /*z*/ - if(bikes.list[1].direction!=DOWN) bikes.list[1].direction=UP; - break; case 100: /*d*/ - if(bikes.list[1].direction!=LEFT) bikes.list[1].direction=RIGHT; - break; - case 115: /*s*/ - if(bikes.list[1].direction!=UP) bikes.list[1].direction=DOWN; + bikes.list[1].direction=remain(bikes.list[1].direction+1,4); break; case 113: /*q*/ - if(bikes.list[1].direction!=RIGHT) bikes.list[1].direction=LEFT; - break; - case 105: /*i*/ - if(bikes.list[2].direction!=DOWN) bikes.list[2].direction=UP; + bikes.list[1].direction=remain(bikes.list[1].direction-1,4); break; case 108: /*l*/ - if(bikes.list[2].direction!=LEFT) bikes.list[2].direction=RIGHT; - break; - case 107: /*k*/ - if(bikes.list[2].direction!=UP) bikes.list[2].direction=DOWN; + bikes.list[2].direction=remain(bikes.list[2].direction+1,4); break; case 106: /*j*/ - if(bikes.list[2].direction!=RIGHT) bikes.list[2].direction=LEFT; + bikes.list[2].direction=remain(bikes.list[2].direction-1,4); break; } switch(ev.key) { @@ -247,17 +236,11 @@ int main(int argc, char **argv) { free (bikes.list); tb_shutdown(); return 0; - case 65517: /*up*/ - if(bikes.list[0].direction!=DOWN) bikes.list[0].direction=UP; - break; case 65514: /*right*/ - if(bikes.list[0].direction!=LEFT) bikes.list[0].direction=RIGHT; - break; - case 65516: /*down*/ - if(bikes.list[0].direction!=UP) bikes.list[0].direction=DOWN; + bikes.list[0].direction=remain(bikes.list[0].direction+1,4); break; case 65515: /*left*/ - if(bikes.list[0].direction!=RIGHT) bikes.list[0].direction=LEFT; + bikes.list[0].direction=remain(bikes.list[0].direction-1,4); break; default: break;