new things
This commit is contained in:
parent
2806c93173
commit
7595620092
|
@ -5,7 +5,7 @@
|
|||
|
||||
unsigned int compteur; // tourne a 15 Hz
|
||||
|
||||
unsigned int seed = 143;
|
||||
unsigned int seed=12345;
|
||||
|
||||
//char obstacles[100]; // permet d'avoir de l'aléatoire pondéré pour les obstacles/bonus
|
||||
|
||||
|
@ -42,6 +42,6 @@
|
|||
void new_frame(void);
|
||||
void generate_obstacle(char ID_corridor);
|
||||
|
||||
unsigned short rand(int min, int max);
|
||||
unsigned int rand(int min, int max);
|
||||
|
||||
#endif
|
||||
|
|
145
src/voiture.c
145
src/voiture.c
|
@ -12,14 +12,13 @@ Voiture voiture; // structure Voiture & caracteristiques
|
|||
|
||||
void init()
|
||||
{
|
||||
|
||||
voiture.corridor = 2;
|
||||
voiture.money = 0;
|
||||
voiture.essence = 20;
|
||||
voiture.distance = 0;
|
||||
voiture.life = 1;
|
||||
voiture.speed = 1;
|
||||
voiture.decalx = 35;
|
||||
voiture.decalx = 25;
|
||||
compteur = 0;
|
||||
|
||||
for(int i = 0; i<4; i++)
|
||||
|
@ -73,14 +72,11 @@ timer_start(TIMER_USER, 16, Clock_Hz, new_frame, 0);
|
|||
|
||||
while(1)
|
||||
{
|
||||
//key = getkey();
|
||||
|
||||
if (voiture.life <= 0)
|
||||
{
|
||||
key = KEY_EXIT;
|
||||
//timer_stop(TIMER_USER);
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
key = getkey();
|
||||
}
|
||||
|
@ -88,10 +84,11 @@ while(1)
|
|||
|
||||
switch(key)
|
||||
{
|
||||
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;
|
||||
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); return 1;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -133,9 +130,9 @@ if(obstacle[voiture.corridor-1].coordx < voiture.decalx - 2 && obstacle[voiture.
|
|||
{
|
||||
case 1 : voiture.life--; break;
|
||||
case 2 : voiture.speed++; break;
|
||||
case 3 : voiture.speed = (voiture.speed <= 0 ? 1 : voiture.speed + 1); break;
|
||||
case 3 : voiture.speed = (voiture.speed <= 1 ? 1 : voiture.speed -1); break;
|
||||
case 4 : voiture.life++; break;
|
||||
case 5 : voiture.decalx = 74; break;
|
||||
case 5 : voiture.decalx = (compteur%150 ? 84 : 25); break;
|
||||
case 6 : voiture.essence = 20; break;
|
||||
case 7 : voiture.money++; break;
|
||||
case 8 : voiture.money += 2; break;
|
||||
|
@ -157,7 +154,7 @@ if (voiture.life <= 0)
|
|||
{
|
||||
dclear();
|
||||
dtext(10,10,"Vous etes mort");
|
||||
dtext(1,20,"Appuyez sur une touche");
|
||||
dtext(1,20,"Appuyez sur touche");
|
||||
dupdate();
|
||||
return;
|
||||
}
|
||||
|
@ -165,7 +162,7 @@ if (voiture.life <= 0)
|
|||
// dessin des lignes
|
||||
for(i = 1; i < 4 ; i++)
|
||||
{
|
||||
for(j = compteur%3; 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);
|
||||
}
|
||||
|
@ -183,7 +180,7 @@ void generate_obstacle(char ID_corridor)
|
|||
{
|
||||
unsigned char alea = rand(0, 100);
|
||||
|
||||
unsigned char proba[9]={30,50,3,2,4,2,6,2,1};
|
||||
unsigned char proba[9]={25,57,3,2,3,2,5,2,1};
|
||||
unsigned char i, sum;
|
||||
|
||||
sum = 0;
|
||||
|
@ -201,124 +198,10 @@ obstacle[(int)ID_corridor].coordx = 128 + rand(0, 80);
|
|||
return;
|
||||
}
|
||||
|
||||
unsigned short rand(int min, int max)
|
||||
unsigned int rand(int min, int max)
|
||||
{
|
||||
seed += 200;
|
||||
seed *= seed;
|
||||
seed = (seed & 0x00FFFF00)>>8;
|
||||
seed += seed%897255;
|
||||
seed = seed*1234589 + 135897;
|
||||
|
||||
return seed%(max-min) + min;
|
||||
}
|
||||
|
||||
/*int Jeu()
|
||||
{
|
||||
|
||||
extern Image img_formel1;
|
||||
extern Image img_obstacle;
|
||||
|
||||
unsigned char decal=1;
|
||||
short decalx_car=24;
|
||||
int start_time=0;
|
||||
int speed=50;
|
||||
unsigned int i=0,j=0;
|
||||
char appuie=0;
|
||||
int score=0;
|
||||
char vie=10;
|
||||
int max=100;
|
||||
int money=0;
|
||||
short essence=100;
|
||||
|
||||
init_obstacle();
|
||||
|
||||
while(1)
|
||||
{
|
||||
dclear();
|
||||
speed=(score%5==0 ? speed+1: speed);
|
||||
draw_lines(i);
|
||||
|
||||
dimage(decalx_car-19, 11*decal, &img_formel1);
|
||||
|
||||
for(j=0;j<4;j++)
|
||||
{
|
||||
obstacle[j].coordx-=2+speed/25;
|
||||
// ML_bmp_or(*(OBSTACLES+obstacle[j].num_obst), obstacle[j].coordx, 11*(j+1), 10, 10);
|
||||
dimage_part(obstacle[j].coordx, 11*(j+1), &img_obstacle, 10*obstacle[j].num_obst, 10*obstacle[j].num_obst +10, 10, 10);
|
||||
|
||||
if(obstacle[j].coordx<0)
|
||||
{
|
||||
obstacle[j].num_obst=obstacles[rand()%100];
|
||||
obstacle[j].coordx=128+40*j;
|
||||
}
|
||||
if(obstacle[0].num_obst==1 && obstacle[1].num_obst==1 && obstacle[2].num_obst==1 && obstacle[3].num_obst==1) obstacle[0].num_obst=0;
|
||||
}
|
||||
|
||||
if(obstacle[decal-1].coordx<decalx_car && obstacle[decal-1].coordx>decalx_car-20 && obstacle[decal-1].num_obst>0)
|
||||
{
|
||||
switch(obstacle[decal-1].num_obst)
|
||||
{
|
||||
case 1 : if(vie==1)
|
||||
{
|
||||
mort(score, 0); return 1;
|
||||
}
|
||||
else vie--; break;
|
||||
case 2 : speed+=25; break;
|
||||
case 3 : speed-=25; break;
|
||||
case 4 : vie++; break;
|
||||
// case 5 : decalx_car=74; obstacle[decal-1].num_obst=0;break;
|
||||
case 6 : essence=max; break;
|
||||
case 7 : money++; break;
|
||||
case 8 : money+=2; break;
|
||||
}
|
||||
|
||||
// if(decalx_car==74 && (int)(RTC_getTicks()-start_time)>192)
|
||||
// {
|
||||
// decalx_car=24;
|
||||
// }
|
||||
|
||||
obstacle[decal-1].num_obst=0;
|
||||
}
|
||||
if(essence<=0)
|
||||
{
|
||||
mort(score, 1);
|
||||
return 1;
|
||||
}
|
||||
essence=(i%26==0 ? essence-10 : essence); //chaque seconde 10 d'essence partent
|
||||
|
||||
//dupdate();
|
||||
dprint(1, 1, "metre : %d vie : %d", score, vie);
|
||||
|
||||
dprint(1,56,"essence %d/%d Argent %d ", essence, max, money);
|
||||
|
||||
timer_start(TIMER_USER, 80, Clock_Hz, vide, 0);
|
||||
|
||||
//while(1) {
|
||||
|
||||
if(key==KEY_UP && appuie==0) // KEY_CTRL_UP
|
||||
{
|
||||
decal=(decal<=1 ? 1 : decal-1);
|
||||
appuie=1;
|
||||
break;
|
||||
}
|
||||
else if(key==KEY_DOWN && appuie==0) //KEY_CTRL_DOWN
|
||||
{
|
||||
decal=(decal>=4 ? 4 : decal+1);
|
||||
appuie=1;
|
||||
break;
|
||||
}
|
||||
else if (key==KEY_NONE) // permet de ne pas rester appuiyer sur la touche (simule le Getkey())
|
||||
{
|
||||
appuie=0;
|
||||
break;
|
||||
}
|
||||
if(key==KEY_EXIT) //KEY_CTRL_EXIT
|
||||
{
|
||||
timer_stop(TIMER_USER);
|
||||
return 1;
|
||||
}
|
||||
//}
|
||||
|
||||
i+=3;
|
||||
score=(i%4==0 ? score+2: score);
|
||||
}
|
||||
return 1;
|
||||
}*/
|
||||
|
|
Loading…
Reference in New Issue