This commit is contained in:
flo 2017-01-31 20:26:51 +01:00
parent b0687c8616
commit ff63605101
3 changed files with 79 additions and 38 deletions

View File

@ -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

View File

@ -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);

View File

@ -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()
{