Beruflich Dokumente
Kultur Dokumente
/********************************************************
*********************************************************/
#include <allegro.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <sound.h>
#include <math.h>
#include <fixed.h>
#define ERREUR (msg){\
set_gfx_mode(GFX_TEXT,0,0,0,0);\
allegro_message("erreur ligne %d,fichier %s: %s\n",_LINE_,_FILE_,msg);\
allegro_exit();\
exit(EXIT_FAILURE);\
}
#define ECARTX=1;
#define ECARTY=1;
int main(int argc, char *argv[])
{
//variables environnement
//declaration variables
int personnage,vie,carte,rocherx[19],rochery[19],diamantx[19],diamanty[19],
seinx[10],seiny[10],seq_anim2[20],seq_anim3,seq_anim4,seq_anim5,seq_anim6,
seq_anim7[10],seq_anim8,seq_anim9,seq_anim10,seq_anim11,seq_anim12,
seq_anim13[100],seq_anim14[20],seq_anim15[10],seq_anim16,
artefact,case_terrex[20],case_terrey[20],ct[20],parcheminx,zoom,portail,monde,
reponse,retour,argent,
starx[100],stary[100],S1,S2,S3,S4,S5,S6,S7,S8,size,splattx[100],splatty[100],d
ecalx,decaly;
//compteurs
long int
t,tps,temp,temps,tp,b,c,ch,cp,f,g[10],ii,jj,k,l,m,mm,mn,n,nn,nb,r,s[10],
sp[100],tt,error,j[500];
long long int i;
long int
H1[100],H2[100],B1[100],B2[100],G1[100],G2[100],D1[100],D2[100],robothg,
robothd,robotbg,robotbd,robotgh,robotgb,robotdh,robotdb,asteroidhg,
asteroidhd,asteroidbg,asteroidbd,asteroidgh,asteroidgb,asteroiddh,asteroiddb;
float balle1x[100],balle1y[100],ecartx[100],ecarty[100],pasx[3],pasy,
robotx[3],roboty[3],asteroidx[3],asteroidy[3],deltax[3],deltay[3],rapport;
//variables armes
long int armex[500],armey[500],image2[500],seq_anim[500],pente[100];
long int H11,H22,B11,B22,G11,G22,D11,D22;
int posx,posy,bonusx[100],bonusy[100],bonus[100],DEBLOC[100],munition,tir,
chargeurx,chargeury;
//initialisation variables
decalx=0;
decaly=0;
IMAGE=0;
IMAGE2=1;
b=1;
c=0;
ch=1;
cp=0;
f=1;
for(i=8;i<=10;i++)
{
g[i]=1;
}
for(i=1;i<=10;i++)
{
s[i]=1;
}
for(i=1;i<=20;i++)
{
ct[i]=0;
}
i=0;
ii=0;
jj=-1;
error=0;
R=100;
initial=0;
invincible=0;
explosion=0;
tx=32;
ty=32;
for(i=1;i<501;i++)
{
j[i]=1;
}
for(i=1;i<501;i++)
{
seq_anim[i]=0;
}
for(i=1;i<21;i++)
{
seq_anim2[i]=0;
}
seq_anim3=0;
seq_anim4=0;
seq_anim5=0;
seq_anim6=0;
for(i=1;i<11;i++)
{
seq_anim7[i]=0;
}
seq_anim8=0;
seq_anim9=0;
seq_anim10=0;
seq_anim11=0;
seq_anim12=0;
for(i=1;i<101;i++)
{
seq_anim13[i]=0;
}
for(i=1;i<=20;i++)
{
seq_anim14[i]=0;
}
for(i=8;i<=10;i++)
{
seq_anim15[i]=0;
}
seq_anim16=0;
k=1;
l=1;
m=0;
mm=0;
n=0;
nn=6;
mn=1;
r=1;
for(i=1;i<=100;i++)
{
sp[i]=0;
}
t=0;
tps=0;
temp=0;
tp=0;
temps=0;
tt=1;
reponse=0;
retour=0;
bonus[1]=0;//s�lecteur arme (bonus[1]=1 ou 2 ou..)
bonus[0]=0;//am�lioration arme(bonus[0]=1 ou 2 ou..)
for(i=1;i<101;i++)
{
DEBLOC[i]=0;
MEMO[100]=0;
starx[i]=0;
stary[i]=0;
}
nb=0;
nb_ennemis=0;
touch=0;
personnage=0;
vie=10;
carte=0;
artefact=19;
for(i=1;i<=20;i++)
{
case_terrex[i]=1;
}
parcheminx=1;
zoom=1;
monde=2;
portail=1;
pas=0.1;
px=2;
py=2;
ppx=2;
ecartx[i]=1;
ecarty[i]=1;
pasx[1]=1;
pasx[2]=1;
pasy=1;
for(i=1;i<501;i++)
{
armex[i]=0;
armey[i]=0;
}
munition=100;
tir=0;
for(i=1;i<101;i++)
{
pente[i]=0;
}
deltax[1]=1;
deltay[1]=1;
deltax[2]=1;
deltay[2]=1;
deltax[3]=1;
deltay[3]=1;
taillex[1]=30;
tailley[1]=30;
taillex[2]=20;
tailley[2]=20;
taillex[3]=10;
tailley[3]=10;
for(i=1;i<101;i++)
{
PH[i]=0;
PB[i]=0;
PG[i]=0;
PD[i]=0;
X1[i]=0;
X2[i]=0;
Y1[i]=0;
Y2[i]=0;
haut[i]=1;
bas[i]=1;
gauche[i]=1;
droit[i]=1;
testH[i]=0;
testB[i]=0;
testG[i]=0;
testD[i]=0;
H1[i]=0; H11=0;
H2[i]=0; H22=0;
B1[i]=0; B11=0;
B2[i]=0; B22=0;
G1[i]=0; G11=0;
G2[i]=0; G22=0;
D1[i]=0; D11=0;
D2[i]=0; D22=0;
}
error=0;
argent=0;
size=1;
//initialisation bitmaps
BITMAP*page;
BITMAP*terrain[10];
BITMAP*fond;
BITMAP*ile;
BITMAP*ennemi[9];
BITMAP*dino[12];
BITMAP*smile[8];
BITMAP*arme[10];
BITMAP*plomb[6];
BITMAP*bouledefeu[17];
BITMAP*bomb[7];
BITMAP*bombe[12];
BITMAP*robot[10];
BITMAP*flamme[12];
BITMAP*papillon[2];
BITMAP*oiseau[2];
BITMAP*asteroid[35];
BITMAP*oeil[12];
BITMAP*charbonardent[2];
BITMAP*plante[12];
BITMAP*rocher[18];
BITMAP*mur[20];
BITMAP*fumee[3];
BITMAP*cristal[5];
BITMAP*bellerouge[2];
BITMAP*main[22];
BITMAP*tete[12];
//BITMAP*missile;
BITMAP*parchemin;
BITMAP*case_terre[11];
BITMAP*fin;
BITMAP*ghost[20];
BITMAP*nichon[64];
BITMAP*etoile;
BITMAP*ready;
BITMAP*over;
BITMAP*mitraillette;
BITMAP*chargeur[8];
BITMAP*pistolet;
BITMAP*life;
BITMAP*colle;
BITMAP*tetedemort;
BITMAP*stop;
BITMAP*star;
BITMAP*munitions;
BITMAP*splatt[12];
BITMAP*number[10];
//initialisation allegro
set_uformat(U_ASCII);
allegro_init();
install_keyboard();
srand(time(NULL));
install_mouse();
set_color_depth(32);
//contr�le erreur
if(!page)
{
allegro_message(allegro_error);
destroy_bitmap(page);
return 0;
while(!key[KEY_ESC]){}
}
//affichage bitmaps
page=load_bitmap("personnage.bmp",NULL);
fond=load_bitmap("fond.bmp",NULL);
ile=load_bitmap("ile.bmp",NULL);
//missile=load_bitmap("bonus1.bmp",NULL);
parchemin=load_bitmap("parchemin.bmp",NULL);
etoile=load_bitmap("etoile.bmp",NULL);
ready=load_bitmap("ready.bmp",NULL);
mitraillette=load_bitmap("mitraillette.bmp",NULL);
pistolet=load_bitmap("pistolet.bmp",NULL);
life=load_bitmap("life.bmp",NULL);
colle=load_bitmap("colle.bmp",NULL);
tetedemort=load_bitmap("tete de mort.bmp",NULL);
stop=load_bitmap("stop.bmp",NULL);
star=load_bitmap("star.bmp",NULL);
over=load_bitmap("over.bmp",NULL);
i=0;
////////////////////////////////////////////////////////////////////////////////
while(!key[KEY_RIGHT])
{
if(i==4)
{
i=0;
}
rest(150);
i=i+1;
page=load_bitmap("personnage.bmp",NULL);
stretch_sprite(page,smile[i],33,341,32,32);
stretch_sprite(page,dino[i],33,172,32,32);
stretch_sprite(screen,page,0,0,640,480);
if(keypressed)
{
if(key[KEY_1])
{
personnage=1;
}
else if(key[KEY_2])
{
personnage=2;
}
}
}
while(!key[KEY_ENTER])
{
//s�lection carte
clear(page);
page=load_bitmap("carte.bmp",NULL);
stretch_sprite(screen,page,0,0,640,480);
if(keypressed)
{
if(key[KEY_1])
{
carte=1;
}
else if(key[KEY_2])
{
carte=2;
}
else if(key[KEY_3])
{
carte=3;
}
else if(key[KEY_4])
{
carte=4;
}
}
}
//affichage terrain
if(carte==1)
{
blit(terrain[1],page,0,0,0,0,640,480);
}
if(carte==2)
{
blit(terrain[2],page,0,0,0,0,640,480);
}
if(carte==3)
{
stretch_sprite(page,fond,0,0,640,480);
masked_blit(terrain[3],page,0,0,0,0,640,480);
}
if(carte==4)
{
stretch_sprite(page,ile,0,0,640,480);
masked_blit(terrain[4],page,0,0,0,0,640,480);
}
while(!key[KEY_SPACE])
{
//combien d'ennemis?
textout(page,font,"choisissez votre niveau de difficult�:",80,10,250);
textout(page,font,"novice-->1 initi�-->2 exp�riment�-->3",80,30,250);
textout(page,font,"choisissez taille image:",80,70,makecol(100,100,100));
textout(page,font,"rapport 1:1-->4 rapport 4/3-->5",80,90,makecol(100,100,100));
textout(page,font,"appuyer sur ESPACE pour commencer",100,300,175);
stretch_sprite(page,ready,200,200,300,50);
blit(page,screen,0,0,0,0,640,480);
if(keypressed)
{
if(key[KEY_1])
{
//nb de boucles � effectuer
nb_ennemis=2;
}
if(key[KEY_2])
{
//nb de boucles � effectuer
nb_ennemis=3;
}
if(key[KEY_3])
{
//nb de boucles � effectuer
nb_ennemis=5;
}
if(key[KEY_4])
{
//rapport image taille r�elle
rapport=1;
}
if(key[KEY_5])
{
//rapport image 4/3: image agrandie!
rapport=1.6;
}
}
}
mainx[1]=267*rapport;
mainy[1]=415*rapport;
mainx[2]=308*rapport;
mainy[2]=415*rapport;
tetex=285*rapport;
tetey=435*rapport;
robotx[1]=388*rapport;
roboty[1]=323*rapport;
robotx[2]=61*rapport;
roboty[2]=323*rapport;
robotx[3]=300*rapport;
roboty[3]=220*rapport;
asteroidx[1]=286*rapport;
asteroidy[1]=66*rapport;
asteroidx[2]=60*rapport;
asteroidy[2]=398*rapport;
asteroidx[3]=63*rapport;
asteroidy[3]=324*rapport;
plombx[1]=77*rapport;
plomby[1]=428*rapport;
plombx[2]=93*rapport;
plomby[2]=251*rapport;
plantex[1]=79*rapport;
plantey[1]=428*rapport;
plantex[2]=90*rapport;
plantey[2]=251*rapport;
plantex[3]=175*rapport;
plantey[3]=180*rapport;
plantex[4]=182*rapport;
plantey[4]=325*rapport;
plantex[5]=385*rapport;
plantey[5]=254*rapport;
plantex[6]=585*rapport;
plantey[6]=326*rapport;
plantex[7]=421*rapport;
plantey[7]=433*rapport;
plantex[8]=22*rapport;
plantey[8]=290*rapport;
plantex[9]=585*rapport;
plantey[9]=400*rapport;
plantex[10]=585*rapport;
plantey[10]=430*rapport;
plantex[11]=60*rapport;
plantey[11]=105*rapport;
rocherx[1]=59*rapport;
rochery[1]=97*rapport;
rocherx[2]=82*rapport;
rochery[2]=174*rapport;
rocherx[3]=19*rapport;
rochery[3]=393*rapport;
rocherx[4]=221*rapport;
rochery[4]=394*rapport;
rocherx[5]=22*rapport;
rochery[5]=174*rapport;
rocherx[6]=170*rapport;
rochery[6]=175*rapport;
rocherx[7]=20*rapport;
rochery[7]=284*rapport;
rocherx[8]=300*rapport;
rochery[8]=394*rapport;
rocherx[9]=301*rapport;
rochery[9]=320*rapport;
rocherx[10]=380*rapport;
rochery[10]=393*rapport;
rocherx[11]=580*rapport;
rochery[11]=395*rapport;
rocherx[12]=579*rapport;
rochery[12]=428*rapport;
rocherx[13]=579*rapport;
rochery[13]=321*rapport;
rocherx[14]=502*rapport;
rochery[14]=281*rapport;
rocherx[15]=462*rapport;
rochery[15]=247*rapport;
rocherx[16]=538*rapport;
rochery[16]=246*rapport;
rocherx[17]=382*rapport;
rochery[17]=175*rapport;
rocherx[18]=382*rapport;
rochery[18]=249*rapport;
rocherx[19]=539*rapport;
rochery[19]=98*rapport;
seinx[1]=140*rapport;
seiny[1]=425*rapport;
seinx[2]=225*rapport;
seiny[2]=425*rapport;
seinx[3]=315*rapport;
seiny[3]=425*rapport;
seinx[4]=405*rapport;
seiny[4]=425*rapport;
seinx[5]=495*rapport;
seiny[5]=425*rapport;
seinx[6]=48*rapport;
seiny[6]=425*rapport;
seinx[7]=583*rapport;
seiny[7]=425*rapport;
bonusx[1]=107*rapport;
bonusy[1]=248*rapport;
chargeurx=320*rapport;
chargeury=120*rapport;
dinox=40*rapport;
dinoy=100*rapport;
for(i=1;i<=nb_ennemis;i++)
{
ERROR[i]=1;
balle1x[i]=rand()%500*rapport;
balle1y[i]=rand()%300*rapport;
}
////////////////////////////////////////////////////////////////////////////////
while(!key[KEY_ESC])
{
gris=getpixel(terrain[carte],1,1);
noir=getpixel(terrain[carte],2,2);
if(monde==2)
{
gris=getpixel(terrain[8],1,1);
noir=getpixel(terrain[8],2,2);
}
if(carte==3)
{
violet=getpixel(terrain[carte],183,167);
}
if(carte==4)
{
bleu=getpixel(terrain[carte],146,86);
}
clear(page);
//ALLEGRO_SOUND_H("its not unusual");
if(seq_anim9==1)
{
ecartx[i]=ecartx[i]/2;
ecarty[i]=ecarty[i]/2;
}
if(seq_anim12==1)
{
ecartx[i]=0;
ecarty[i]=0;
}
}
}
//Ri.variables dino
if(seq_anim4==0)
{
if(seq_anim5==0)
{
py=2;
}
if(seq_anim6==0)
{
px=2;
}
}
if(monde==0)
{
//affichage terrain
if(carte==1)
{
stretch_sprite(page,terrain[1],0+decalx,0+decaly,640*rapport,480*rapport);
}
if(carte==2)
{
stretch_sprite(page,terrain[2],0+decalx,0+decaly,640*rapport,480*rapport);
}
if(carte==3)
{
stretch_sprite(page,fond,decalx,decaly,640*rapport,480*rapport);
stretch_sprite(page,terrain[3],decalx,decaly,640*rapport,480*rapport);
}
if(carte==4)
{
stretch_sprite(page,ile,decalx,decaly,640*rapport,480*rapport);
stretch_sprite(page,terrain[4],decalx,decaly,640*rapport,480*rapport);
}
}
if(monde==1)
{
stretch_sprite(page,fond,decalx,decaly,640*rapport,480*rapport);
stretch_sprite(page,terrain[6],decalx,decaly,640*rapport,480*rapport);
}
if(monde==2)
{
stretch_sprite(page,terrain[8],decalx,decaly,640*rapport,480*rapport);
stretch_sprite(page,terrain[9],decalx+640*rapport-
(20*rapport),decaly,640*rapport,480*rapport);
}
////////////////////////////////////////////////////////////////////////////////
// controle personnage(dino);
//et
//contr�le collision dino-d�cor (dino-murs et blocs rocheux).
dinohg=getpixel(page,dinox,dinoy-fabs(py));
dinohd=getpixel(page,dinox+32,dinoy-fabs(py));
dinobd=getpixel(page,dinox+32,dinoy+fabs(py)+32);
dinobg=getpixel(page,dinox,dinoy+fabs(py)+32);
dinogh=getpixel(page,dinox-fabs(px),dinoy);
dinogb=getpixel(page,dinox-fabs(px),dinoy+32);
dinodh=getpixel(page,dinox+fabs(px)+32,dinoy);
dinodb=getpixel(page,dinox+fabs(px)+32,dinoy+32);
for(i=1;i<20;i++)
{
if(dinohg==gris||dinohd==gris|| ((dinox+32>=rocherx[i]) &&
(dinox<=rocherx[i]+32*rapport) && (dinoy-fabs(py)<=rochery[i]+32*rapport) &&
(dinoy-fabs(py)+32>=rochery[i]) && rocherx[i]!=0 && rochery[i]!=0 &&
monde==0)
||((dinox+32>=case_terrex[i]) && (dinox<=case_terrex[i]+42*rapport) &&
(dinoy-fabs(py)<=case_terrey[i]+42*rapport) && (dinoy+32-
fabs(py)>=case_terrey[i])&&
case_terrex[i]!=0 && monde==2))
{
py=0;
}
}
dinoy=dinoy-py;
}
if(rapport>1)
{
decaly=decaly+py;
}
}
////////////////////////////////////////////////////////////////////////////////
if(dinox+px>640-32)
{
if(key[KEY_RIGHT])
{
dinox=dinox;
}
}
if(dinox+px<0)
{
if(key[KEY_LEFT])
{
dinox=dinox;
}
}
if(dinoy+py>480-32)
{
if(key[KEY_DOWN])
{
dinoy=dinoy;
}
}
if(dinoy+py<0)
{
if(key[KEY_UP])
{
dinoy=dinoy;
}
}
////////////////////////////////////////////////////////////////////////////////
if(seq_anim6==1)
{
if(rapport>1)
{
decalx=decalx-px;
}
}
if(seq_anim5==1)
{
if(rapport>1)
{
decaly=decaly-py;
}
}
if (seq_anim16==1)
{
if(IMAGE2==6)
{
decalx=decalx-px;
dinox=dinox-px;
}
if(IMAGE2==5)
{
decalx=decalx+px;
dinox=dinox+px;
}
}
////////////////////////////////////////////////////////////////////////////////
tetex=tetex+decalx;
tetey=tetey+decaly;
bonusx[1]=bonusx[1]+decalx;
bonusy[1]=bonusy[1]+decaly;
chargeurx=chargeurx+decalx;
chargeury=chargeury+decaly;
for(i=1;i<=nb_ennemis;i++)
{
balle1x[i]=balle1x[i]+decalx;
balle1y[i]=balle1y[i]+decaly;
splattx[i]=splattx[i]+decalx;
splatty[i]=splatty[i]+decaly;
}
for(i=1;i<=2;i++)
{
plombx[i]=plombx[i]+decalx;
plomby[i]=plomby[i]+decaly;
mainx[i]=mainx[i]+decalx;
mainy[i]=mainy[i]+decaly;
}
for(i=1;i<=3;i++)
{
robotx[i]=robotx[i]+decalx;
roboty[i]=roboty[i]+decaly;
asteroidx[i]=asteroidx[i]+decalx;
asteroidy[i]=asteroidy[i]+decaly;
}
if(monde==1)
{
for(i=1;i<=7;i++)
{
seinx[i]=seinx[i]+decalx;
seiny[i]=seiny[i]+decaly;
}
}
if(monde==2)
{
for(i=1;i<=8;i++)
{
seinx[i]=seinx[i]+decalx;
seiny[i]=seiny[i]+decaly;
}
}
for(i=1;i<=10;i++)
{
if(case_terrex[i]!=0)
{
case_terrex[i]=case_terrex[i]+decalx;
case_terrey[i]=case_terrey[i]+decaly;
}
}
for(i=1;i<=11;i++)
{
plantex[i]=plantex[i]+decalx;
plantey[i]=plantey[i]+decaly;
}
for(i=1;i<20;i++)
{
if(rocherx[i]!=0 && rochery[i]!=0)
{
rocherx[i]=rocherx[i]+decalx;
rochery[i]=rochery[i]+decaly;
}
if(diamantx[i]!=0)
{
diamantx[i]=diamantx[i]+decalx;
diamanty[i]=diamanty[i]+decaly;
}
}
////////////////////////////////////////////////////////////////////////////////
if(monde==0||monde==2)
{
for(i=1;i<=nb_ennemis;i++)
{
////////////////////////////////////////////////////////////////////////////////
//les ennemis ne doivent pas s'encastrer les uns dans les autres!
for(ii=1;ii<=nb_ennemis;ii++)
{
// "l'op�rateur >" �vite que les indices ne soient comptabilis�s deux fois
//sinon les ennemis s'immobiliseraient!
if(fabs(balle1x[i]-balle1x[ii])<=32 && fabs(balle1y[i]-balle1y[ii])<=32 && i>ii
&& i!=ii)
{
ecartx[i]=-ecartx[i];
ecarty[i]=-ecarty[i];
}
}
////////////////////////////////////////////////////////////////////////////////
//contr�le ennemis
//et
//contr�le collision ennemis-d�cor
//ennemis un et deux
//perception de leur environnement= recherche de "gris".
// haut
H1[i]=getpixel(page,balle1x[i],balle1y[i]-1);
H2[i]=getpixel(page,balle1x[i]+32,balle1y[i]-1);
// bas
B1[i]=getpixel(page,balle1x[i],balle1y[i]+32+1);
B2[i]=getpixel(page,balle1x[i]+32,balle1y[i]+1+32);
// gauche
G1[i]=getpixel(page,balle1x[i]-1,balle1y[i]);
G2[i]=getpixel(page,balle1x[i]-1,balle1y[i]+32);
// droit
D1[i]=getpixel(page,balle1x[i]+1+32,balle1y[i]);
D2[i]=getpixel(page,balle1x[i]+1+32,balle1y[i]+32);
////////////////////////////////////////////////////////////////////////////////
//ennemis principaux: fant�mes ou autres. Sur ces derniers,
//l'intelligence artificielle est la plus �labor�e.En effet
//ils peuvent s'en sortir dans la plupart des situations,et
//cela m�me quand l'environnement ne s'y pr�te pas.
//ex:un ennemi bloqu� cherche toujours une porte de sortie,pour cela
//il envisage toutes les possiblit�s et si cela s'av�rait �tre inutile
//il modifie sa fa�on de proc�der.(�laboration d'un algorithme de profondeur).
////////////////////////////////////////////////////////////////////////////////
//ennemis un et deux
if(dinoy==balle1y[i])
{
//contournement=0;
if((balle1x[i]<dinox) && (D2[i]!=gris) && (D1[i]!=gris))
{
balle1x[i]=balle1x[i]+ecartx[i];
IMAGE=4;
}
//r�troaction
//ennemis un et deux
//cas o� balle/goofy et dino sont sur une meme ordonn�e
else if(testH[i]==1)
{
PH[i]=1;
PB[i]=0;
}
else if(testB[i]==1)
{
PB[i]=1;
PH[i]=0;
}
PD[i]=0;
PG[i]=0;
////////////////////////////////////////////////////////////////////////////////
//ennemis un et deux
if((balle1y[i]>dinoy && PB[i]==0) || (PH[i]==1))
{
testH[i]=1;
testB[i]=0;
//vers la droite
else if((D1[i]!=gris) && (D2[i]!=gris) && (droit[i]==1))
{
//si direction balle/goofy vers la droite autoris�e
balle1x[i]=balle1x[i]+ecartx[i];
X2[i]=balle1x[i];
//PH[i]=0;
IMAGE=4;
//vers le bas
else if((B1[i]!=gris) && (B2[i]!=gris))
{
balle1y[i]=balle1y[i]+ecarty[i];
haut[i]=0;
Y2[i]=balle1y[i];
X1[i]=balle1x[i];
IMAGE=2;
if(Y2[i]!=Y1[i])
{
droit[i]=1;
}
else{
ERROR[i]=1;
haut[i]=1;
droit[i]=1;
}
}
if(X2[i]!=X1[i])
{
haut[i]=1;
}
if(Y2[i]!=Y1[i])
{
gauche[i]=1;
}
else{
ERROR[i]=1;
haut[i]=1;
gauche[i]=1;
}
}
}
////////////////////////////////////////////////////////////////////////////////
//ennemis un et deux
if((balle1y[i]<dinoy && PH[i]==0) || (PB[i]==1))
{
testB[i]=1;
testH[i]=0;
if(X2[i]!=X1[i])
{
bas[i]=1;
}
if(Y2[i]!=Y1[i])
{
droit[i]=1;
}
else{
ERROR[i]=1;
bas[i]=1;
droit[i]=1;
}
}
if(X2[i]!=X1[i])
{
bas[i]=1;
}
else{
ERROR[i]=1;
bas[i]=1;
gauche[i]=1;
}
}
}
////////////////////////////////////////////////////////////////////////////////
//r�troaction
if(testG[i]==1)
{
if((balle1x[i]==dinox) && (G1[i]!=gris) && (G2[i]!=gris))
{
PG[i]=1;// priorit� gauche
PB[i]=0;
PH[i]=0;
}
////////////////////////////////////////////////////////////////////////////////
if(balle1y[i]>=460*rapport+decaly ||balle1y[i]<=50*rapport+decaly)
{
ERROR[i]=1;
}
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
if(IMAGE==2)
{
stretch_sprite(page,ennemi[2],balle1x[i],balle1y[i],32,32);
}
if(IMAGE==3)
{
stretch_sprite(page,ennemi[3],balle1x[i],balle1y[i],32,32);
}
if(IMAGE==4)
{
stretch_sprite(page,ennemi[4],balle1x[i],balle1y[i],32,32);
}
if(balle1x[i]==dinox && balle1y[i]==dinoy)
{
textout(page,font," vous avez accroch� votre balle!",200,300,200);
}
}
////////////////////////////////////////////////////////////////////////////////
if(IMAGE==2)
{
stretch_sprite(page,ennemi[6],balle1x[i],balle1y[i],32,32);
}
if(IMAGE==3)
{
stretch_sprite(page,ennemi[7],balle1x[i],balle1y[i],32,32);
}
if(IMAGE==4)
{
stretch_sprite(page,ennemi[8],balle1x[i],balle1y[i],32,32);
}
}
}
////////////////////////////////////////////////////////////////////////////////
//ennemi(s) suppl�mentaire(s):on peut ajouter autant de robots que l'on souhaite
//(choix du joueur-->niveau facile,moyen,difficile)
//mode de d�placement du robot: 2types de robot: mouvements lin�aires horizontal
et vertical.
//si personnage � port�e du robot ce dernier s'oriente vers lui et acc�l�re.
//am�lioration: changement al�atoire du sens de marche du robot,
//possibilit� de tir comme les nombreux autres ennemis.
////////////////////////////////////////////////////////////////////////////////
if(monde==0)
{
for(i=1;i<4;i++)
{
// haut
robothg=getpixel(page,robotx[i],roboty[i]-1);
robothd=getpixel(page,robotx[i]+25,roboty[i]-1);
// bas
robotbg=getpixel(page,robotx[i],roboty[i]+25+1);
robotbd=getpixel(page,robotx[i]+25,roboty[i]+1+25);
// gauche
robotgh=getpixel(page,robotx[i]-1,roboty[i]);
robotgb=getpixel(page,robotx[i]-1,roboty[i]+25);
// droit
robotdh=getpixel(page,robotx[i]+1+25,roboty[i]);
robotdb=getpixel(page,robotx[i]+1+25,roboty[i]+25);
if((robotgh==gris||robotgb==gris||(fabs(roboty[i]-dinoy)<=10 &&
robotx[i]<=dinox && robotdh!=gris && robotdb!=gris)) && i!=3)
{
pasx[i]=1;
}
if((robotdh==gris||robotdb==gris||(fabs(roboty[i]-dinoy)<=10 &&
robotx[i]>=dinox && robotgh!=gris && robotgb!=gris )) && i!=3)
{
pasx[i]=-1;
}
if((robothg==gris||robothd==gris||(fabs(robotx[3]-dinox)<=10 &&
roboty[3]<=dinoy)) && i==3)
{
pasy=1;
}
if((robotbg==gris||robotbd==gris||(fabs(robotx[3]-dinox)<=10 &&
roboty[3]>=dinoy)) && i==3)
{
pasy=-1;
}
if(seq_anim9==1)
{
for(i=1;i<=2;i++)
{
if(fabs(pasx[i])>=1)
{
pasx[i]=pasx[i]/2;
}
}
if(fabs(pasy)>=1)
{
pasy=pasy/2;
}
}
if(seq_anim12==1)
{
pasx[1]=pasx[2]=pasy=0;
}
robotx[1]=robotx[1]+pasx[1];
robotx[2]=robotx[2]+pasx[2];
roboty[3]=roboty[3]+pasy;
}
////////////////////////////////////////////////////////////////////////////////
//ast�roide: disponible uniquement pour la carte espace.
//d�placement et vitesse al�atoire,�volue au gr�s des collisions avec son
environnement.
//ne peut �tre contr�l� par le joueur.
////////////////////////////////////////////////////////////////////////////////
if(monde==0)
{
if(carte==3)
{
for(i=1;i<4;i++)
{
// haut
asteroidhg=getpixel(page,asteroidx[i],asteroidy[i]-1);
asteroidhd=getpixel(page,asteroidx[i]+taillex[i],asteroidy[i]-1);
// bas
asteroidbg=getpixel(page,asteroidx[i],asteroidy[i]+taillex[i]+1);
asteroidbd=getpixel(page,asteroidx[i]+taillex[i],asteroidy[i]+1+tailley[i]);
// gauche
asteroidgh=getpixel(page,asteroidx[i]-1,asteroidy[i]);
asteroidgb=getpixel(page,asteroidx[i]-1,asteroidy[i]+tailley[i]);
// droit
asteroiddh=getpixel(page,asteroidx[i]+1+taillex[i],asteroidy[i]);
asteroiddb=getpixel(page,asteroidx[i]+1+taillex[i],asteroidy[i]+tailley[i]);
if(asteroidhg==gris||asteroidhd==gris)
{
deltay[i]=1+rand()%2;
}
if(asteroidbg==gris||asteroidbd==gris)
{
deltay[i]=-1-rand()%2;
}
if(asteroidgh==gris||asteroidgb==gris)
{
deltax[i]=1+rand()%2;
}
if(asteroiddh==gris||asteroiddb==gris)
{
deltax[i]=-1-rand()%2;
}
if(seq_anim9==1)
{
if(fabs(deltay[i])>=1)
{
deltay[i]=deltay[i]/2;
}
if(fabs(deltax[i])>=1)
{
deltax[i]=deltax[i]/2;
}
}
if(seq_anim12==1)
{
for(i=1;i<4;i++)
{
deltax[i]=deltay[i]=0;
}
}
}
if(l==25)
{
l=0;
}
//compteur d'images
l=l+1;
}
}
////////////////////////////////////////////////////////////////////////////////
//r�initialisation chargeur
if(munition==0)
{
if(seq_anim8==0)
{
stretch_sprite(page,etoile,320,120,32,32);
if(temp==10)
{
seq_anim8=1;
}
}
if(fabs(dinox-chargeurx)<=10 && fabs(dinoy-chargeury)<=10 && seq_anim3==0)
{
munition=500;
seq_anim8=0;
}
}
////////////////////////////////////////////////////////////////////////////////
//mode mitraillette!
if(fabs(dinox-bonusx[1])<=50 && fabs(dinoy-bonusy[1])<=30 && DEBLOC[1]==0 &&
monde==0)
{
bonus[1]=1;
if(temp==10)
{
DEBLOC[1]=1;
}
stretch_sprite(page,pistolet,100,100,400,300);
}
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
if(keypressed)
{
if(key[KEY_ENTER] && seq_anim3==0 && munition>0)
{
//r�initialisation du compteur
if(nb>=500 || (armex[nb]==0 && armey[nb]==0))
{
nb=0;
}
//�a fume!
seq_anim11=1;
if(image2[nb]==1||image2[nb]==2)
{
armex[nb]=dinox;
armey[nb]=dinoy-20;
//�tincelle lors du tir
draw_sprite(page,etoile,dinox,dinoy-20);
}
else if(image2[nb]==3||image2[nb]==4)
{
armex[nb]=dinox;
armey[nb]=dinoy+20;
//�tincelle lors du tir
draw_sprite(page,etoile,dinox,dinoy+20);
}
else if(image2[nb]==5)
{
armex[nb]=dinox-20;
armey[nb]=dinoy;
//�tincelle lors du tir
draw_sprite(page,etoile,dinox-20,dinoy);
}
else if(image2[nb]==6)
{
armex[nb]=dinox+20;
armey[nb]=dinoy;
//�tincelle lors du tir
draw_sprite(page,etoile,dinox+20,dinoy);
}
if(balle1x[(i%nb_ennemis)+1]!=armex[i])
{
pente[i]=(balle1y[(i%nb_ennemis)+1]-armey[i])/(balle1x[(i%nb_ennemis)+1]-
armex[i]);
}
}
}
if(bonus[1]==0)
{
//mode mitraillette ou non
while(key[KEY_ENTER])
{
}
}
}
////////////////////////////////////////////////////////////////////////////////
for(i=1;i<(nb+1);i++)
{
// haut
H11=getpixel(page,armex[i]+13,armey[i]+14-posy);
H22=getpixel(page,armex[i]+16,armey[i]+14-posy);
// bas
B11=getpixel(page,armex[i]+13,armey[i]+17+posy);
B22=getpixel(page,armex[i]+16,armey[i]+posy+17);
// gauche
G11=getpixel(page,armex[i]+13-posx,armey[i]+14);
G22=getpixel(page,armex[i]+13-posx,armey[i]+17);
// droit
D11=getpixel(page,armex[i]+posx+16,armey[i]+14);
D22=getpixel(page,armex[i]+posx+16,armey[i]+17);
for(c=1;c<20;c++)
{
if((armex[i]+16>=rocherx[c]) && (armex[i]+13<=rocherx[c]+40*rapport) &&
(armey[i]+14<=rochery[c]+35*rapport) && (armey[i]+17>=rochery[c]) && armex[i]!=0
&&
armey[i]!=0 && r==1 && monde==0)
{
seq_anim2[c]=1;
seq_anim[i]=1;
}
}
for(c=1;c<=nb_ennemis;c++)
{
//si la balle d�tecte le d�cor ou un ennemi...
if((H11==gris||H22==gris||B11==gris||B22==gris||G11==gris||G22==gris||D11==gris
||D22==gris||(armex[i]+16>=balle1x[c] && armex[i]+13<=balle1x[c]+32 &&
armey[i]+14<=balle1y[c]+32 && armey[i]+17>=balle1y[c]))&& armex[i]!=0 &&
armey[i]!=0)
{
seq_anim[i]=1;
}
}
for(c=1;c<=nb_ennemis;c++)
{
//splatt!
if(seq_anim13[c]==0 && monde!=1)
{
stretch_sprite(page,splatt[12],splattx[c],splatty[c],32,32);
}
seq_anim13[c]=1;
splattx[c]=balle1x[c];
splatty[c]=balle1y[c];
if(carte==1||carte==2||monde==2)
{
do
{
balle1x[c]=rand()%600*rapport+decalx;
balle1y[c]=rand()%(450+50)*rapport+decaly;
H1[c]=getpixel(page,balle1x[c],balle1y[c]-1);
H2[c]=getpixel(page,balle1x[c]+32,balle1y[c]-1);
B1[c]=getpixel(page,balle1x[c],balle1y[c]+32+1);
B2[c]=getpixel(page,balle1x[c]+32,balle1y[c]+1+32);
G1[c]=getpixel(page,balle1x[c]-1,balle1y[c]);
G2[c]=getpixel(page,balle1x[c]-1,balle1y[c]+32);
D1[c]=getpixel(page,balle1x[c]+1+32,balle1y[c]);
D2[c]=getpixel(page,balle1x[c]+1+32,balle1y[c]+32);
error=error+1;
}while((H1[c]!=noir||H2[c]!=noir||B1[c]!=noir||B2[c]!=noir||
G1[c]!=noir||G2[c]!=noir||D1[c]!=noir||D2[c]!=noir||
(fabs(balle1x[c]-dinox)<=50 && fabs(balle1y[c]-dinoy)<=50)) &&
error<=100);
}
if(carte==3)
{
do
{
balle1x[c]=rand()%600*rapport+decalx;
balle1y[c]=rand()%(450+50)*rapport+decaly;
H1[c]=getpixel(page,balle1x[c],balle1y[c]-1);
H2[c]=getpixel(page,balle1x[c]+32,balle1y[c]-1);
B1[c]=getpixel(page,balle1x[c],balle1y[c]+32+1);
B2[c]=getpixel(page,balle1x[c]+32,balle1y[c]+1+32);
G1[c]=getpixel(page,balle1x[c]-1,balle1y[c]);
G2[c]=getpixel(page,balle1x[c]-1,balle1y[c]+32);
D1[c]=getpixel(page,balle1x[c]+1+32,balle1y[c]);
D2[c]=getpixel(page,balle1x[c]+1+32,balle1y[c]+32);
error=error+1;
}while((H1[c]==violet||H2[c]==violet||B1[c]==violet||B2[c]==violet||
G1[c]==violet||G2[c]==violet||D1[c]==violet||D2[c]==violet||
(fabs(balle1x[c]-dinox)<=50 && fabs(balle1y[c]-dinoy)<=50))&&error<=100);
if(carte==4)
{
do
{
balle1x[c]=rand()%600*rapport+decalx;
balle1y[c]=rand()%(450+50)*rapport+decaly;
H1[c]=getpixel(page,balle1x[c],balle1y[c]-1);
H2[c]=getpixel(page,balle1x[c]+32,balle1y[c]-1);
B1[c]=getpixel(page,balle1x[c],balle1y[c]+32+1);
B2[c]=getpixel(page,balle1x[c]+32,balle1y[c]+1+32);
G1[c]=getpixel(page,balle1x[c]-1,balle1y[c]);
G2[c]=getpixel(page,balle1x[c]-1,balle1y[c]+32);
D1[c]=getpixel(page,balle1x[c]+1+32,balle1y[c]);
D2[c]=getpixel(page,balle1x[c]+1+32,balle1y[c]+32);
error=error+1;
}while((H1[c]==bleu||H2[c]==bleu||B1[c]==bleu||B2[c]==bleu||
G1[c]==bleu||G2[c]==bleu||D1[c]==bleu||D2[c]==bleu||
(fabs(balle1x[c]-dinox)<=50 && fabs(balle1y[c]-dinoy)<=50))
&&error<=100);
}
}
}
error=0;
//sinon incr�mentation des variables de position..
//uniquement si la variable est encore valable.
if(seq_anim[i]==0 && armex[i]!=0 && armey[i]!=0)
{
//�tat initial: si bonus ==0;
if(bonus[1]==0 || bonus[1]==1)
{
if(image2[i]==1||image2[i]==2)
{
armey[i]=armey[i]-posy;
}
else if(image2[i]==3||image2[i]==4)
{
armey[i]=armey[i]+posy;
}
else if(image2[i]==5)
{
armex[i]=armex[i]-posx;
}
else if(image2[i]==6)
{
armex[i]=armex[i]+posx;
}
}
if(i%2==0)
{
armex[i]=armex[i]+posx;
armey[i]=(jj*posx)+armey[i];
}
if(i%2==1)
{
armex[i]=armex[i]-posx;
armey[i]=(jj*posx)+armey[i];
}
jj=jj+1;
if(jj==5)
{
jj=-4;
}
if(bonus[0]==2)
{
DEBLOC[11]=1;
if(balle1x[(i%nb_ennemis)+1]-armex[i]>0)
{
armey[i]=(pente[i]*posx)+armey[i];
armex[i]=armex[i]+posx;
}
else if(balle1x[(i%nb_ennemis)+1]-armex[i]<0)
{
armey[i]=(pente[i]*(-posx))+armey[i];
armex[i]=armex[i]-posx;
}
else if(balle1x[(i%nb_ennemis)+1]==armex[i])
{
if(balle1y[(i%nb_ennemis)+1]-armey[i]>0)
{
armey[i]=armey[i]+posy;
}
else if(balle1y[(i%nb_ennemis)+1]-armey[i]<0)
{
armey[i]=armey[i]-posy;
}
}
}
////////////////////////////////////////////////////////////////////////////////
//tir r�ussi!
if(munition%100==0)
{
if(temp==10)
{
tir=0;
}
}
////////////////////////////////////////////////////////////////////////////////
if(carte==1)
{
stretch_sprite(page,arme[1],armex[i],armey[i],32,32);
}
if(carte==2)
{
stretch_sprite(page,bouledefeu[1],armex[i],armey[i],32,32);
}
if(carte==3)
{
draw_sprite(page,plomb[3],armex[i],armey[i]);
}
if(carte==4)
{
stretch_sprite(page,bombe[1],armex[i],armey[i],15,15);
}
}
}
////////////////////////////////////////////////////////////////////////////////
//choix de l'arme
if(keypressed)
{
if(key[KEY_0])
{
bonus[1]=0;
}
else if(key[KEY_1] && DEBLOC[1]==1)
{
bonus[1]=1;
}
else if(key[KEY_2] && DEBLOC[2]==1)
{
bonus[1]=2;
}
////////////////////////////////////////////////////////////////////////////////
for(c=1;c<=nb_ennemis;c++)
{
if(ERROR[c]==1)
{
ERROR[c]=0;
PD[c]=0;
PG[c]=0;
PH[c]=0;
PB[c]=0;
if(carte==1||carte==2||monde==2)
{
do
{
balle1x[c]=rand()%600*rapport+decalx;
balle1y[c]=rand()%(450+50)*rapport+decaly;
H1[c]=getpixel(page,balle1x[c],balle1y[c]-1);
H2[c]=getpixel(page,balle1x[c]+32,balle1y[c]-1);
B1[c]=getpixel(page,balle1x[c],balle1y[c]+32+1);
B2[c]=getpixel(page,balle1x[c]+32,balle1y[c]+1+32);
G1[c]=getpixel(page,balle1x[c]-1,balle1y[c]);
G2[c]=getpixel(page,balle1x[c]-1,balle1y[c]+32);
D1[c]=getpixel(page,balle1x[c]+1+32,balle1y[c]);
D2[c]=getpixel(page,balle1x[c]+1+32,balle1y[c]+32);
error=error+1;
}while((H1[c]!=noir||H2[c]!=noir||B1[c]!=noir||B2[c]!=noir||
G1[c]!=noir||G2[c]!=noir||D1[c]!=noir||D2[c]!=noir||
(fabs(balle1x[c]-dinox)<=30||fabs(balle1y[c]-dinoy)<=50)) &&error<=100);
}
if(carte==3)
{
do
{
balle1x[c]=rand()%600*rapport+decalx;
balle1y[c]=rand()%(450+50)*rapport+decaly;
H1[c]=getpixel(page,balle1x[c],balle1y[c]-1);
H2[c]=getpixel(page,balle1x[c]+32,balle1y[c]-1);
B1[c]=getpixel(page,balle1x[c],balle1y[c]+32+1);
B2[c]=getpixel(page,balle1x[c]+32,balle1y[c]+1+32);
G1[c]=getpixel(page,balle1x[c]-1,balle1y[c]);
G2[c]=getpixel(page,balle1x[c]-1,balle1y[c]+32);
D1[c]=getpixel(page,balle1x[c]+1+32,balle1y[c]);
D2[c]=getpixel(page,balle1x[c]+1+32,balle1y[c]+32);
error=error+1;
}while((H1[c]==violet||H2[c]==violet||B1[c]==violet||B2[c]==violet||
G1[c]==violet||G2[c]==violet||D1[c]==violet||D2[c]==violet||
(fabs(balle1x[c]-dinox)<=50 && fabs(balle1y[c]-dinoy)<=50))
&&error<=100);
}
if(carte==4)
{
do
{
balle1x[c]=rand()%600*rapport+decalx;
balle1y[c]=rand()%(450+50)*rapport+decaly;
H1[c]=getpixel(page,balle1x[c],balle1y[c]-1);
H2[c]=getpixel(page,balle1x[c]+32,balle1y[c]-1);
B1[c]=getpixel(page,balle1x[c],balle1y[c]+32+1);
B2[c]=getpixel(page,balle1x[c]+32,balle1y[c]+1+32);
G1[c]=getpixel(page,balle1x[c]-1,balle1y[c]);
G2[c]=getpixel(page,balle1x[c]-1,balle1y[c]+32);
D1[c]=getpixel(page,balle1x[c]+1+32,balle1y[c]);
D2[c]=getpixel(page,balle1x[c]+1+32,balle1y[c]+32);
error=error+1;
}while((H1[c]==bleu||H2[c]==bleu||B1[c]==bleu||B2[c]==bleu||
G1[c]==bleu||G2[c]==bleu||D1[c]==bleu||D2[c]==bleu||
(fabs(balle1x[c]-dinox)<=50 && fabs(balle1y[c]-dinoy)<=50))
&&error<=100);
}
textout(page,font,"cherche emplacement!",230,240,240);
}
}
error=0;
////////////////////////////////////////////////////////////////////////////////
if(monde==0)
{
if(plomby[1]==251*rapport+decaly)
{
reponse=1;
plomby[1]=428*rapport+decaly;
}
if(plomby[2]==428*rapport+decaly)
{
reponse=0;
plomby[2]=251*rapport+decaly;
}
for(i=1;i<3;i++)
{
if(plombx[i]+20>=dinox && plombx[i]+10<=dinox+32 && plomby[i]+10<=dinoy+32 &&
plomby[i]+22>=dinoy && invincible==0)
{
touch=1;
}
}
}
////////////////////////////////////////////////////////////////////////////////
if(personnage==2)
{
stretch_sprite(page,smile[1],dinox,dinoy,tx,ty);
}
if(touch==1)
{
if(personnage==1)
{
stretch_sprite(page,dino[5],dinox,dinoy,tx,ty);
}
if(personnage==2)
{
stretch_sprite(page,smile[5],dinox,dinoy,tx,ty);
}
}
}
if(personnage==2)
{
stretch_sprite(page,smile[1],dinox,dinoy,tx,ty);
}
if(touch==1)
{
if(personnage==1)
{
stretch_sprite(page,dino[12],dinox,dinoy,tx,ty);
}
if(personnage==2)
{
stretch_sprite(page,smile[5],dinox,dinoy,tx,ty);
}
}
}
if(personnage==2)
{
stretch_sprite(page,smile[3],dinox,dinoy,tx,ty);
}
if(touch==1)
{
if(personnage==1)
{
stretch_sprite(page,dino[6],dinox,dinoy,tx,ty);
}
if(personnage==2)
{
stretch_sprite(page,smile[6],dinox,dinoy,tx,ty);
}
}
}
if(personnage==2)
{
stretch_sprite(page,smile[3],dinox,dinoy,tx,ty);
}
if(touch==1)
{
if(personnage==1)
{
stretch_sprite(page,dino[11],dinox,dinoy,tx,ty);
}
if(personnage==2)
{
stretch_sprite(page,smile[6],dinox,dinoy,tx,ty);
}
}
}
if(personnage==2)
{
stretch_sprite(page,smile[4],dinox,dinoy,tx,ty);
}
if(touch==1)
{
if(personnage==1)
{
stretch_sprite(page,dino[7],dinox,dinoy,tx,ty);
}
if(personnage==2)
{
stretch_sprite(page,smile[7],dinox,dinoy,tx,ty);
}
}
if(personnage==1)
{
stretch_sprite(page,dino[2],dinox,dinoy,tx,ty);
}
if(personnage==2)
{
stretch_sprite(page,smile[2],dinox,dinoy,tx,ty);
}
if(touch==1)
{
if(personnage==1)
{
stretch_sprite(page,dino[8],dinox,dinoy,tx,ty);
}
if(personnage==2)
{
stretch_sprite(page,smile[8],dinox,dinoy,tx,ty);
}
}
}
////////////////////////////////////////////////////////////////////////////////
if(monde==0)
{
if((balle1x[1]==dinox) && (balle1y[1]==dinoy)&&(balle1x[2]==dinox) &&
(balle1y[2]==dinoy))
{
textout(page,font,"f�licitations! vous vous �tes fait dissoudre par
l'ennemi!",100,300,230);
}
}
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
if(monde==0)
{
if(carte==1)
{
if(k==12)
{
k=1;
}
if(nn==8)
{
nn=6;
}
if(mn==22)
{
mn=1;
}
if(tt==12)
{
tt=1;
}
if(pasy<0)
{
m=1;
}
if(pasy>0)
{
m=2;
}
if(pasx[1]<0)
{
mm=3;
}
if(pasx[1]>0)
{
mm=4;
}
if(n==4)
{
n=0;
}
}
if(carte==2)
{
if(pasx[1]>=0 && (k==12||k<=6))
{
k=7;
}
if(pasx[2]<0)
{
m=1;
}
if(pasx[2]>0)
{
m=2;
}
if(n==4)
{
n=0;
}
}
if(carte==3)
{
if(k==10)
{
k=1;
}
if(n==4)
{
n=0;
}
}
if(carte==4)
{
if(n==12)
{
n=8;
}
if(pasx[2]<0)
{
m=1;
}
if(pasx[2]>0)
{
m=2;
}
if(pasy<0)
{
mm=1;
}
if(pasy>0)
{
mm=2;
}
}
}
//conditions valables pour toutes les cartes!
if(ch==8)
{
ch=1;
}
if(f==3)
{
f=1;
seq_anim11=0;
}
////////////////////////////////////////////////////////////////////////////////
if(monde==0)
{
if(carte==1)
{
stretch_sprite(page,ennemi[mm],robotx[1],roboty[1],25,25);
stretch_sprite(page,oeil[k],robotx[2],roboty[2],35,35);
stretch_sprite(page,ennemi[m],robotx[3],roboty[3],25,25);
stretch_sprite(page,main[mn],mainx[1],mainy[1],40*rapport,50*rapport);
stretch_sprite(page,main[mn],mainx[2],mainy[2],40*rapport,50*rapport);
stretch_sprite(page,tete[tt],tetex,tetey,32*rapport,32*rapport);
for(i=1;i<3;i++)
{
n=n+1;
stretch_sprite(page,plante[n],plantex[i],plantey[i],32,32);
}
for(i=3;i<=11;i++)
{
stretch_sprite(page,plante[nn],plantex[i],plantey[i],32*rapport,32*rapport);
}
if(reponse==0)
{
plomby[1]=plomby[1]-1;
draw_sprite(page,plomb[1],plombx[1],plomby[1]);
}
if(reponse==1)
{
plomby[2]=plomby[2]+1;
draw_sprite(page,plomb[2],plombx[2],plomby[2]);
}
if(carte==2)
{
stretch_sprite(page,flamme[k],robotx[1],roboty[1],25,25);
draw_sprite(page,charbonardent[m],robotx[2],roboty[2]);
stretch_sprite(page,flamme[k],robotx[3],roboty[3],25,25);
for(i=1;i<3;i++)
{
n=n+1;
draw_sprite(page,plante[n],plantex[i],plantey[i]);
}
if(reponse==0)
{
plomby[1]=plomby[1]-1;
stretch_sprite(page,bellerouge[1],plombx[1],plomby[1],10,15);
}
if(reponse==1)
{
plomby[2]=plomby[2]+1;
stretch_sprite(page,bellerouge[2],plombx[2],plomby[2],10,15);
}
if(carte==3)
{
stretch_sprite(page,robot[k],robotx[1],roboty[1],25,25);
stretch_sprite(page,robot[k],robotx[2],roboty[2],25,25);
stretch_sprite(page,robot[k],robotx[3],roboty[3],25,25);
for(i=1;i<3;i++)
{
n=n+1;
draw_sprite(page,plante[n],plantex[i],plantey[i]);
}
if(reponse==0)
{
plomby[1]=plomby[1]-1;
draw_sprite(page,plomb[3],plombx[1],plomby[1]);
}
if(reponse==1)
{
plomby[2]=plomby[2]+1;
draw_sprite(page,plomb[3],plombx[2],plomby[2]);
}
if(carte==4)
{
stretch_sprite(page,oiseau[m],robotx[1],roboty[1],25+size,25+size);
stretch_sprite(page,oiseau[m],robotx[2],roboty[2],25+size,25+size);
stretch_sprite(page,papillon[mm],robotx[3],roboty[3],25+size,25+size);
for(i=1;i<3;i++)
{
n=n+1;
draw_sprite(page,plante[n],plantex[i],plantey[i]);
}
if(reponse==0)
{
plomby[1]=plomby[1]-1;
stretch_sprite(page,plomb[5],plombx[1],plomby[1],30,30);
}
if(reponse==1)
{
plomby[2]=plomby[2]+1;
stretch_sprite(page,plomb[6],plombx[2],plomby[2],30,30);
}
}
////////////////////////////////////////////////////////////////////////////////
for(i=1;i<(nb+1);i++)
{
if(seq_anim[i]==1)
{
//ralentissement explosion
//rest(5);
if(carte==1)
{
stretch_sprite(page,arme[j[i]],armex[i],armey[i],32,32);
if(j[i]==9)
{
j[i]=1;
//la variable est libre: on peut l'�craser!
armex[i]=0;
armey[i]=0;
seq_anim[i]=0;
}
}
if(carte==2)
{
stretch_sprite(page,bouledefeu[j[i]],armex[i],armey[i],32,32);
if(j[i]==9)
{
j[i]=1;
//la variable est libre: on peut l'�craser!
armex[i]=0;
armey[i]=0;
seq_anim[i]=0;
}
if(carte==3)
{
draw_sprite(page,bomb[j[i]],armex[i],armey[i]);
if(j[i]==7)
{
j[i]=1;
//la variable est libre: on peut l'�craser!
armex[i]=0;
armey[i]=0;
seq_anim[i]=0;
}
if(carte==4)
{
stretch_sprite(page,bombe[j[i]],armex[i],armey[i],25,25);
if(j[i]==12)
{
j[i]=1;
//la variable est libre: on peut l'�craser!
armex[i]=0;
armey[i]=0;
seq_anim[i]=0;
}
}
//condition pour que le compteur d'images avance: s�quence=on;
j[i]=j[i]+1;
}
}
////////////////////////////////////////////////////////////////////////////////
if(monde==0)
{
for(i=1;i<20;i++)
{
if(seq_anim2[i]==1)
{
if(carte==1||carte==2||carte==3)
{
if(r<=10)
{
stretch_sprite(page,rocher[r],rocherx[i]+size*rapport,rochery[i]+size*rapport,40*r
apport,34*rapport);
}
if(r>10)
{
stretch_sprite(page,rocher[r],rocherx[i]+size*rapport,rochery[i]+size*rapport,80*r
apport,80*rapport);
}
}
if(carte==4)
{
if(r<=10)
{
stretch_sprite(page,mur[10+r],rocherx[i]+size*rapport,rochery[i]+size*rapport,38*r
apport,38*rapport);
}
if(r>10)
{
stretch_sprite(page,rocher[r],rocherx[i],rochery[i],80*rapport,80*rapport);
}
}
if(r<=3)
{
stretch_sprite(page,fumee[f],rocherx[i]+20,rochery[i]+20,32,32);
}
diamantx[i]=rocherx[i];
diamanty[i]=rochery[i];
if(r==18)
{
r=1;
seq_anim2[i]=0;
rocherx[i]=0;
rochery[i]=0;
}
}
if(seq_anim2[i]==0 && rocherx[i]!=0 && rochery[i]!=0)
{
if(carte==1 || carte==2 || carte==3)
{
stretch_sprite(page,rocher[1],rocherx[i],rochery[i],40*rapport,34*rapport);
}
if(carte==4)
{
stretch_sprite(page,mur[11],rocherx[i],rochery[i],38*rapport,38*rapport);
}
}
size=-size;
}
////////////////////////////////////////////////////////////////////////////////
if(seq_anim3==1)
{
invincible=1;
if(R>0)
{
if(dinox<=-R)
{
R=R-10;
tx=tx-3.5;
ty=ty-3.5;
dinox=-R;
}
if(dinox<=-R)
{
ppx=20;
}
if(dinox>=R)
{
ppx=-20;
}
dinox=dinox+ppx;
if(ppx==20)
{
dinoy=sqrt(R*R-dinox*dinox);
}
if(ppx==-20)
{
dinoy=-sqrt(R*R-dinox*dinox);
}
if(personnage==1)
{
stretch_sprite(page,dino[2],dinox+320*rapport,dinoy+230*rapport,tx,ty);
}
if(personnage==2)
{
stretch_sprite(page,smile[2],dinox+320*rapport,dinoy+230*rapport,tx,ty);
}
}
else if(R<=0)
{
if(monde==0)
{
dinox=40*rapport;
dinoy=60*rapport;
}
if(monde==2)
{
dinox=63*rapport;
dinoy=113*rapport;
}
explosion=1;
seq_anim3=0;
}
}
////////////////////////////////////////////////////////////////////////////////
if(explosion==1)
{
draw_sprite(page,bomb[b],dinox+240*rapport,dinoy+160*rapport);
if(b==7)
{
tps=0;
explosion=0;
b=1;
tx=32;
ty=32;
}
b=b+1;
}
////////////////////////////////////////////////////////////////////////////////
if(monde==0)
{
if(artefact==1)
{
if(case_terrex[1]==1)
{
stretch_sprite(page,case_terre[1],502,283,36,36);
if(armex[nb]>502 && armex[nb]<539 && armey[nb]<319 && armey[nb]>283)
{
case_terrex[1]=0;
}
}
//if(monde==1)
//{
//stretch_sprite(page,missile,548,84,70,10);//missile
//stretch_sprite(page,bonus[3],20,452,70,10);//invincible
//}
////////////////////////////////////////////////////////////////////////////////
if(seq_anim4==1)
{
tps=0;
invincible=1;
dinoy=dinoy+py;
py=-py;
tx=tx-pas;
ty=ty-pas;
////////////////////////////////////////////////////////////////////////////////
if(seq_anim5==1)
{
if(dinohg==gris || dinohd==gris)
{
py=2;
}
dinoy=dinoy+py;
py=py+pas;
if(pas==-0.1)
{
if(py<=0)
{
seq_anim5=0;
}
}
if(dinobg==gris || dinobd==gris)
{
seq_anim5=0;
}
if(keypressed)
{
if(key[KEY_UP] && py>=-5 && py<=0)
{
py=py-0.05;
}
else if(key[KEY_DOWN] && py<=0)
{
py=py+0.05;
}
}
}
////////////////////////////////////////////////////////////////////////////////
if(seq_anim6==1)
{
pas=0.03;
if(dinodh==gris || dinodb==gris)
{
px=-2;
}
dinox=dinox+px;
px=px-pas;
if(px<=0)
{
seq_anim6=0;
}
if(keypressed)
{
if(key[KEY_LEFT] && px>0)
{
px=px-0.02;
}
////////////////////////////////////////////////////////////////////////////////
for(i=1;i<=8;i++)
{
if(seq_anim7[i]==1)
{
stretch_sprite(page,nichon[s[i]],seinx[i],seiny[i],35*rapport,35*rapport);
if(pas==0.03)
{
if(s[i]==32)
{
s[i]=17;
seq_anim7[i]=0;
}
}
else if(pas==0.1)
{
if(s[i]==16)
{
s[i]=1;
seq_anim7[i]=0;
}
}
else if(pas==-0.1)
{
if(s[i]==64)
{
s[i]=49;
seq_anim7[i]=0;
}
}
s[i]=s[i]+1;
}
}
////////////////////////////////////////////////////////////////////////////////
if(seq_anim8==1)
{
stretch_sprite(page,chargeur[ch],chargeurx,chargeury,32,32);
}
////////////////////////////////////////////////////////////////////////////////
if(seq_anim10==1)
{
stretch_sprite(page,tetedemort,200,100,200,200);
}
////////////////////////////////////////////////////////////////////////////////
if(seq_anim11==1)
{
stretch_sprite(page,fumee[f],dinox+30,dinoy-20,30,30);
}
////////////////////////////////////////////////////////////////////////////////
if(monde!=1)
{
//splatt!
for(c=1;c<=nb_ennemis;c++)
{
if(seq_anim13[c]==1)
{
sp[c]=sp[c]+1;
stretch_sprite(page,splatt[sp[c]],splattx[c],splatty[c],32,32);
if(sp[c]==12)
{
sp[c]=0;
seq_anim13[c]=0;
}
}
}
}
////////////////////////////////////////////////////////////////////////////////
for(i=1;i<=10;i++)
{
if(seq_anim14[i]==1)
{
stretch_sprite(page,case_terre[ct[i]],case_terrex[i],case_terrey[i],42*rapport,4
2*rapport);
if(ct[i]==5)
{
ct[i]=1;
seq_anim14[i]=0;
diamantx[i]=case_terrex[i];
diamanty[i]=case_terrey[i];
case_terrex[i]=0;
}
if(ct[i]==11)
{
ct[i]=6;
seq_anim14[i]=0;
balle1x[nb_ennemis]=case_terrex[i];
balle1y[nb_ennemis]=case_terrey[i];
case_terrex[i]=0;
nb_ennemis=nb_ennemis+1;
}
}
}
////////////////////////////////////////////////////////////////////////////////
for(i=8;i<=10;i++)
{
if(seq_anim15[i]==1)
{
if(g[i]==12)
{
g[i]=9;
}
if(g[i]==20)
{
g[i]=17;
}
}
}
////////////////////////////////////////////////////////////////////////////////
if(monde==1)
{
for(i=1;i<101;i++)
{
if(starx[i]==0 && stary[i]==0)
{
stretch_sprite(page,terrain[5],decalx,decaly,640*rapport,480*rapport);
do{
starx[i]=rand()%600;
stary[i]=rand()%400;
S1=getpixel(page,starx[i],stary[i]-1);
S2=getpixel(page,starx[i]+20+size,stary[i]-1);
S3=getpixel(page,starx[i],stary[i]+20+size+1);
S4=getpixel(page,starx[i]+20+size,stary[i]+1+20+size);
S5=getpixel(page,starx[i]-1,stary[i]);
S6=getpixel(page,starx[i]-1,stary[i]+20+size);
S7=getpixel(page,starx[i]+1+20+size,stary[i]);
S8=getpixel(page,starx[i]+1+20+size,stary[i]+20+size);
} while(S1!=noir||S2!=noir||S3!=noir||S4!=noir||
S5!=noir||S6!=noir||S7!=noir||S8!=noir);
}
if(dinox+32>=starx[i] && dinox<=starx[i]+20+size && dinoy<=stary[i]+20+size &&
dinoy+32>=stary[i] && starx[i]!=1 && stary[i]!=1)
{
starx[i]=1;
stary[i]=1;
artefact=artefact+1;
argent=argent+100;
}
if(starx[i]!=1 && stary[i]!=1)
{
stretch_sprite(page,star,starx[i],stary[i],20+size,20+size);
}
}
size=-size;
}
////////////////////////////////////////////////////////////////////////////////
if(py>0)
{
py=-5;
}
}
}
if(seq_anim7[i]==0)
{
stretch_sprite(page,nichon[1],seinx[i],seiny[i],35*rapport,35*rapport);
}
}
if(dinobg==gris || dinobd==gris)
{
seq_anim5=0;
}
////////////////////////////////////////////////////////////////////////////////
if(monde==2)
{
if(decalx==0 && decaly==0)
{
seinx[1]=21*rapport;
seiny[1]=111*rapport;
seinx[2]=21*rapport;
seiny[2]=200*rapport;
seinx[3]=21*rapport;
seiny[3]=287*rapport;
seinx[4]=21*rapport;
seiny[4]=381*rapport;
seinx[5]=408*rapport;
seiny[5]=288*rapport;
seinx[6]=493*rapport;
seiny[6]=383*rapport;
seinx[7]=579*rapport;
seiny[7]=425*rapport;
seinx[8]=190*rapport;
seiny[8]=67*rapport;
}
if(bonus[0]!=2)
{
bonusx[1]=188*rapport;
bonusy[1]=324*rapport;
}
//d'autres mondes vous seront accessibles par la suite � l'aide des nombreux
//portails diss�min�s sur la carte!
for(i=1;i<=4;i++)
{
if(seq_anim7[i]==0)
{
stretch_sprite(page,nichon[17],seinx[i],seiny[i],35*rapport,35*rapport);
}
for(i=5;i<=7;i++)
{
if(seq_anim7[i]==0)
{
stretch_sprite(page,nichon[1],seinx[i],seiny[i],35*rapport,35*rapport);
}
for(i=8;i<=8;i++)
{
if(seq_anim7[i]==0)
{
stretch_sprite(page,nichon[49],seinx[i],seiny[i],35*rapport,35*rapport);
}
if(bonusx[1]!=0)
{
stretch_sprite(page,plomb[4],bonusx[1]*rapport,bonusy[1]*rapport,32,32);
}
for(i=1;i<=7;i++)
{
if(seq_anim14[i]==0 && case_terrex[i]!=0)
{
stretch_sprite(page,case_terre[1],case_terrex[i],case_terrey[i],42*rapport,42*r
apport);
}
if(fabs(dinox-case_terrex[i])<=20*rapport && fabs(dinoy-
case_terrey[i])<=20*rapport && (px>2||py>2)
&& case_terrex[i]!=0)
{
ct[i]=1;
seq_anim14[i]=1;
}
////////////////////////////////////////////////////////////////////////////////
if(monde==0 || monde==2)
{
if(artefact==0 && seq_anim4==0)
{
textout(page,font,"F�licitations! Vous avez gagn�!",163,5,140);
textout(page,font,"appuyez sur espace pour passer au niveau
suivant!",163,300,140);
blit(page,screen,0,0,0,0,640,480);
if(monde!=0)
{
artefact=19;
}
seq_anim4=1;
while(!key[KEY_SPACE])
{
}
}
textprintf(page,font,437,22,makecol(255,255,255),"%d artefacts
restants",artefact);
for(i=1;i<=9;i++)
{
if(tp>=100*i)
{
stretch_sprite(page,number[10-i],300,0,50,50);
}
}
textprintf(page,font,437,22,makecol(255,255,255),"%d etoiles",artefact);
if(tp==1000)
{
stretch_sprite(page,number[0],300,0,50,50);
artefact=19;
seq_anim4=1;
seq_anim5=0;
textout(page,font,"appuyez sur espace pour passer au niveau
suivant!",163,300,140);
blit(page,screen,0,0,0,0,640,480);
while(!key[KEY_SPACE])
{
}
}
if(munition%100==0)
{
textprintf(page,font,437,42,makecol(255,255,255),"%d pourcent de tirs
r�ussis",tir);
}
textprintf(page,font,237,52,makecol(255,255,255),"%d munitions
restantes",munition);
textprintf(page,font,137,52,makecol(255,255,255),"%d $",argent);
textout(page,font,"F3:boutique",80,5,140);
while(key[KEY_F3])
{
textout(screen,font,"1: acheter 1 vie pour 10.000 dollars (touche F3
appuy�e)",50,100,190);
textout(screen,font,"2: acheter 1 tube de colle pour 5.000 dollars (touche F3
appuy�e)",50,120,190);
textout(screen,font,"3: acheter 1 timefix pour 10.000 dollars (touche F3
appuy�e)",50,140,190);
if(key[KEY_1] && argent>=10000)
{
vie=vie+1;
argent=argent-10000;
stretch_sprite(screen,life,100,100,200,200);
textprintf(screen,font,250,200,makecol(200,200,50),"%d vies!",vie);
while(key[KEY_1])
{
}
}
else if(key[KEY_2] && argent>=5000)
{
argent=argent-5000;
stretch_sprite(screen,colle,100,150,200,200);
textout(screen,font,"�a colle!",350,250,250);
seq_anim9=1;
tp=0;
while(key[KEY_2])
{
}
}
else if(key[KEY_3] && argent>=10000)
{
argent=argent-10000;
stretch_sprite(screen,stop,100,150,200,250);
textout(screen,font,"temps suspendu!",350,250,250);
seq_anim12=1;
tp=0;
MEMO[1]=pasx[1];
MEMO[2]=pasx[2];
MEMO[3]=pasy;
if(carte==3)
{
MEMO[4]=deltax[1];
MEMO[5]=deltay[1];
MEMO[6]=deltax[2];
MEMO[7]=deltay[2];
MEMO[8]=deltax[3];
MEMO[9]=deltay[3];
}
while(key[KEY_3])
{
}
}
}
////////////////////////////////////////////////////////////////////////////////
draw_sprite(screen,page,0,0);
stretch_sprite(screen,page,0,0,80,60);//ecran de contr�le
////////////////////////////////////////////////////////////////////////////////
tetex=tetex-decalx;
tetey=tetey-decaly;
bonusx[1]=bonusx[1]-decalx;
bonusy[1]=bonusy[1]-decaly;
chargeurx=chargeurx-decalx;
chargeury=chargeury-decaly;
for(i=1;i<=nb_ennemis;i++)
{
balle1x[i]=balle1x[i]-decalx;
balle1y[i]=balle1y[i]-decaly;
splattx[i]=splattx[i]-decalx;
splatty[i]=splatty[i]-decaly;
}
for(i=1;i<=2;i++)
{
plombx[i]=plombx[i]-decalx;
plomby[i]=plomby[i]-decaly;
mainx[i]=mainx[i]-decalx;
mainy[i]=mainy[i]-decaly;
}
for(i=1;i<=3;i++)
{
robotx[i]=robotx[i]-decalx;
roboty[i]=roboty[i]-decaly;
asteroidx[i]=asteroidx[i]-decalx;
asteroidy[i]=asteroidy[i]-decaly;
}
if(monde==1)
{
for(i=1;i<=7;i++)
{
seinx[i]=seinx[i]-decalx;
seiny[i]=seiny[i]-decaly;
}
}
if(monde==2)
{
for(i=1;i<=8;i++)
{
seinx[i]=seinx[i]-decalx;
seiny[i]=seiny[i]-decaly;
}
}
for(i=1;i<=10;i++)
{
if(case_terrex[i]!=0)
{
case_terrex[i]=case_terrex[i]-decalx;
case_terrey[i]=case_terrey[i]-decaly;
}
}
for(i=1;i<=11;i++)
{
plantex[i]=plantex[i]-decalx;
plantey[i]=plantey[i]-decaly;
}
for(i=1;i<20;i++)
{
if(rocherx[i]!=0 && rochery[i]!=0)
{
rocherx[i]=rocherx[i]-decalx;
rochery[i]=rochery[i]-decaly;
}
if(diamantx[i]!=0)
{
diamantx[i]=diamantx[i]-decalx;
diamanty[i]=diamanty[i]-decaly;
}
}
if (fabs(dinox-(580*rapport+decalx))<=px)
{
temps=0;
seq_anim16=1;
}
////////////////////////////////////////////////////////////////////////////////
if(touch==1)
{
seq_anim10=1;
}
////////////////////////////////////////////////////////////////////////////////
if(t==10)
{
t=0;
if(monde==0)
{
k=k+1;
mn=mn+1;
f=f+1;
tt=tt+1;
nn=nn+1;
ch=ch+1;
for(i=1;i<20;i++)
{
if(seq_anim2[i]==1 && r<10)
{
r=r+1;
}
}
}
if(monde==2)
{
for(i=8;i<=10;i++)
{
if(seq_anim15[i]==1)
{
g[i]=g[i]+1;
}
}
for(i=1;i<=10;i++)
{
if(seq_anim14[i]==1)
{
ct[i]=ct[i]+1;
}
}
f=f+1;
}
} //fin t
if(t==2)
{
if(monde==0)
{
for(i=1;i<20;i++)
{
if(seq_anim2[i]==1 && r>=10)
{
t=0;
r=r+1;
}
}
}
}
if(tps==100)
{
tps=0;
invincible=0;
if(monde==0)
{
if(artefact==1 && parcheminx==0)
{
zoom=0;
}
}
}
if(temp==10)
{
temp=0;
seq_anim10=0;
}
if(tp==1000)
{
tp=0;
seq_anim9=0;
if(seq_anim12==1)
{
pasx[1]=MEMO[1];
pasx[2]=MEMO[2];
pasy=MEMO[3];
if(carte==3)
{
deltax[1]=MEMO[4];
deltay[1]=MEMO[5];
deltax[2]=MEMO[6];
deltay[2]=MEMO[7];
deltax[3]=MEMO[8];
deltay[3]=MEMO[9];
}
seq_anim12=0;
}
}
if(temps==300)
{
temps=0;
seq_anim16=0;
}
////////////////////////////////////////////////////////////////////////////////
t=t+1;
tp=tp+1;
tps=tps+1;
temp=temp+1;
temps=temps+1;
////////////////////////////////////////////////////////////////////////////////
if(key[KEY_DEL])
{
if(key[KEY_RIGHT])
{
dinox=dinox+0.1;
}
if(key[KEY_LEFT])
{
dinox=dinox-0.1;
}
}
////////////////////////////////////////////////////////////////////////////////
//menu PAUSE
if(keypressed)
{
if(key[KEY_F1])
{
//pause coquine!!!
page=load_bitmap("zen.bmp",NULL);
//page=load_bitmap("zen2.bmp",NULL);
textout(page,font,"vous faites une pause!",230,240,240);
textout(page,font,"(appuyez sur F2 pour reprendre le jeu)",0,0,100);
while(!key[KEY_F2])
{
stretch_sprite(screen,page,-300,-180,1024,768);
//blit(page,screen,0,0,0,0,640,480);
}
}
}
/*int detect_digi_driver(int driver_id);
int detect_midi_driver(int driver_id);
void reserve_voices(int digi_voices, int midi_voices);
void set_volume_per_voice(int scale);
void get_volume(int *digi_volume, int *midi_volume);
void get_hardware_volume(int *digi_volume, int *midi_volume);
int install_sound(int digi, int midi, const char *cfg_path);
void set_volume(int digi_volume, int midi_volume);
void set_hardware_volume(int digi_volume, int midi_volume);*/
}
}
END_OF_MAIN();
/*
//NOMBRE DE BUGS//
//A CORRIGER!!!
//IDEES//
*/