diff --git a/Makefile b/Makefile index 84d8d9f..0696538 100644 --- a/Makefile +++ b/Makefile @@ -55,10 +55,9 @@ re: fclean all ## Send to calc send: - @if [ ! -f $(NAME).g1a ]; then \ - echo "Please make before sending."; \ - else $(SENDR) send $(NAME).g1a \ - fi + $(SENDR) send $(NAME).g1a -f + + ## Phuneral phuture ? .PHONY: all clean fclean mrproper re send # END OF FILE diff --git a/include/voiture.h b/include/voiture.h index cc544ed..f2733a7 100644 --- a/include/voiture.h +++ b/include/voiture.h @@ -1,19 +1,30 @@ #ifndef _VOITURE #define _VOITURE - unsigned int key; - char decal=1; - char anim=0; + unsigned int key; // touche pressee + + unsigned int compteur; // tourne a 15 Hz + unsigned int RTC_id; + char obstacles[100]; // permet d'avoir de l'aléatoire pondéré pour les obstacles/bonus - - typedef struct Obstacles - { - char num_obst; - short coordx; - } Obstacles; + { + char num_obst; + short coordx; + } Obstacles; + + typedef struct Voiture + { + char corridor; + unsigned short money; + unsigned short essence; + unsigned int distance; + unsigned int life; + unsigned char speed; + unsigned char decal_x; + } Voiture; int Menu(void); int Jeu(void); diff --git a/src/voiture.c b/src/voiture.c index 8d8c4df..8c1631e 100644 --- a/src/voiture.c +++ b/src/voiture.c @@ -1,12 +1,31 @@ #include "voiture.h" #include "display.h" +#include "tales.h" #include "keyboard.h" #include "stdio.h" #include "clock.h" #include "timer.h" Obstacles obstacle[4]; +Voiture voiture; + +void init() +{ +voiture.corridor = 2; +voiture.money = 0; +voiture.essence = 100; +voiture.distance = 0; +voiture.life = 1; +voiture.speed = 50; +voiture.decal_x = 24; +compteur = 0; +} + +void update_essence() +{ + voiture.essence -= 10; +} void new_frame() { @@ -16,41 +35,54 @@ extern Image img_obstacle; int i,j; dclear(); + +dimage(19, 11*voiture.corridor, &img_formel1); +dprint(1, 1, "%d", compteur); +dprint(57, 1, "e : %d", voiture.essence); +dprint(1, 57, "%d", RTC_id); +//dimage_part(1, 1, &img_obstacle, 10*7, 0, 10, 10); + + +if (voiture.essence == 0 || voiture.life == 0) + { + timer_stop(TIMER_USER); return; + } + + // dessin des lignes for(i=1;i<4;i++) { - for(j=anim;j<128;j+=4) + for(j=compteur%2;j<128;j+=4) { dline(2*j, i*11+10, 2*j+3, i*11+10, Color_Black); } } -anim=(anim==0 ? 1 : 0); - dline(1, 10, 128, 10, Color_Black); dline(1, 54, 128, 54, Color_Black); -dimage(19, 11*decal, &img_formel1); - -dimage_part(1, 1, &img_obstacle, 10*7, 0, 10, 10); - dupdate(); +compteur++; } int Jeu() { +init(); // initialisation du Jeu + while(1) { timer_start(TIMER_USER, 15, Clock_Hz, new_frame, 0); + RTC_id = rtc_cb_add(RTCFreq_1Hz, update_essence, 0); + while(1) { key = getkey(); switch(key) { - case KEY_UP : decal=(decal<=1 ? 1 : decal-1); break; - case KEY_DOWN : decal=(decal>=4 ? 4 : decal+1); break; - case KEY_EXIT : timer_stop(TIMER_USER); return 1; + case KEY_UP : voiture.corridor=(voiture.corridor<=1 ? 1 : voiture.corridor-1); break; + case KEY_DOWN : voiture.corridor=(voiture.corridor>=4 ? 4 : voiture.corridor+1); break; + case KEY_EXIT : /*timer_stop(TIMER_USER);*/ rtc_cb_end(RTC_id); return 1; } } } @@ -249,21 +281,20 @@ score=(i%4==0 ? score+2: score); return 1; }*/ -void mort(int score , int type) -{ -int key=0; - -dclear(); - -while(key == KEY_NONE) - { - dtext(10,10,"Vous etes mort"); - - key = getkey(); - } - - return; -} +// void mort() +// { +// +// dclear(); +// +// while(key == KEY_NONE) +// { +// dtext(10,10,"Vous etes mort"); +// +// key = getkey(); +// } +// +// return; +// } void init_obstacle() {