Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
draw.h
- Committer:
- guibouu
- Date:
- 2022-03-28
- Revision:
- 11:0b85a680ad28
- Parent:
- 10:6f9340af7926
File content as of revision 11:0b85a680ad28:
int ext;
int temps=0;
int effet[2]={14,14};
int effet1[2]={14,14};
int effet2[2]={14,14};
int effet3[2]={14,14};
int effet4[2]={14,14};
//tir
int tir=0;
int tir2=0;
int tirx;
int tirx2;
int autoritir1=1;
int autoritir2=1;
//menu variable
int menubleu=0;
int menub=0;
int menurouge=0;
int menur=0;
int zeno=1;
//mob
int mvie =100;
int xmob1 =20;
int ymob1=20;
int xdepm=0;
int ydepm=0;
//mob 2
int mvie2=100;
int xmob2=13;
int ymob2=25;
int xdepm2=6;
int ydepm2=0;
//deplacement mob
int timedep=0;
int timetab=0;
int tabdep[18]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18};
//menu
void draw() // ici vous exprimez vos dessins (jamais de delai dans cette boucle)
{ // DEBUT de vos dessins
if(zeno==1)
{
if(ccy*1.4>=3 && ccx<4 && ccx>-4 && ccy*1.4<11)
{
menubleu=menubleu+1;
if(menubleu>=20)
{
menubleu=menubleu-20;
menub=menub+1;
}
}
//bleu moins
if(ccy<=0)
{
menubleu=menubleu+1;
if(menubleu>=10&&menub>0)
{
menubleu=menubleu-10;
menub=menub+-1;
}
}
//rouge plus
if(ccy*1.4<=-4 && ccx<4 && ccx>-4 && ccy*1.4>-11)
{
menurouge=menurouge+1;
if(menurouge>=20)
{
menurouge=menurouge-20;
menur=menur+1;
}
}
//bleu moins
if(ccy>=0)
{
menurouge=menurouge+1;
if(menurouge>=10&&menur>0)
{
menurouge=menurouge-10;
menur=menur+-1;
}
}
carre(0,16,menub,16,1,0,0);
carre(0,0,menur,16,0,0,1);
carre(13,6,7,7,1,1,1);
carre(15,18,3,7,1,1,1);
carre(13,20,7,3,1,1,1);
carre(14,19,5,5,1,1,1);
if(menub>=35)
{
zeno=0;
}
pix(16+ccx,15+ccy*1.4,1,1,0);
pix(16+ccx,14+ccy*1.4,0,1,0);
pix(16+ccx,16+ccy*1.4,0,1,0);
pix(15+ccx,15+ccy*1.4,0,1,0);
pix(17+ccx,15+ccy*1.4,0,1,0);
}
//variables
int ccxx=ccx*1.3;
int ccyy=ccy*1.3;
int vaisseaux = 15;
int vaisseauy =10;//lieu de base du vaisseau
if(zeno==0)
{
//mob
mob(xmob1,ymob1,mvie);
mob(xmob2,ymob2,mvie2);
//dégats mobs
hitmob(xmob1,ymob1,mvie,15+vaisseauy+ccyy+tir2/4,vaisseauy+ccyy+tir/4,tirx2,tirx,autoritir2,autoritir1);
hitmob2(xmob2,ymob2,mvie2,15+vaisseauy+ccyy+tir2/4,vaisseauy+ccyy+tir/4,tirx2,tirx,autoritir2,autoritir1);
//déplacement
timedep=timedep+1;
timetab=timetab+1;
if(timetab>17)
{
timetab=timetab-17;
}
//mouvement
if(timedep>15)
{
timedep=timedep-15;
//mob1
if(xdepm>0)
{
xmob1=xmob1+1;
xdepm=xdepm-1;
}
if(xdepm<0)
{
xmob1=xmob1-1;
xdepm=xdepm+1;
}
//mob2
if(xdepm2>0)
{
xmob2=xmob2+1;
xdepm2=xdepm2-1;
}
if(xdepm2<0)
{
xmob2=xmob2-1;
xdepm2=xdepm2+1;
}
}
//deplacement incrementation
//mob1
if(xdepm==0)
{
if (xmob1>=15)
{
xdepm=xdepm-tabdep[timetab];
}
else
{
xdepm=xdepm+tabdep[timetab];
}
}
//mob2
if(xdepm2==0)
{
if (xmob2>=15)
{
xdepm2=xdepm2-tabdep[timetab];
}
else
{
xdepm2=xdepm2+tabdep[timetab];
}
}
//effets vaisseau
temps=temps+1;
if(temps>=30)
{
temps=temps-30;
effet[0]=vaisseaux+ccxx;
effet[1]=vaisseauy+ccyy;
}
if(temps==5)
{
effet1[0]=vaisseaux+ccxx;
effet1[1]=vaisseauy+ccyy;
}
if(temps==10)
{
effet2[0]=vaisseaux+ccxx;
effet2[1]=vaisseauy+ccyy;
}
if(temps==15)
{
effet3[0]=vaisseaux+ccxx;
effet3[1]=vaisseauy+ccyy;
}
if(temps==20)
{
effet4[0]=vaisseaux+ccxx;
effet4[1]=vaisseauy+ccyy;
}
pix ( effet[0], effet[1],0,0,1);
pix ( effet1[0], effet1[1],0,0,1);
pix ( effet2[0], effet2[1],0,0,1);
pix ( effet3[0], effet3[1],0,0,1);
pix ( effet4[0], effet4[1],0,0,1);
//tir1
tir=tir+1;
if(tir>=120)
{
tir=tir-120;
tirx=vaisseaux+ccxx;
autoritir1=1;
}
if(vaisseauy+ccyy+tir/4<=32 && autoritir1==1)
{
pix(tirx,vaisseauy+ccyy+tir/4,1,0,1);
}
//tir2
tir2=tir2+1;
if(tir2>=60)
{
tir2=tir2-120;
tirx2=vaisseaux+ccxx;
autoritir2=1;
}
if(15+vaisseauy+ccyy+tir2/4<=32 && autoritir2==1)
{
pix(tirx2,15+vaisseauy+ccyy+tir2/4,1,0,1);
}
//vaisseau
pix ( vaisseaux+ccxx, vaisseauy+ccyy,1,1,1);
pix ( vaisseaux+ccxx, vaisseauy+1+ccyy,1,1,1);
pix ( vaisseaux+ccxx, vaisseauy-1+ccyy,1,1,1);
pix ( vaisseaux+1+ccxx, vaisseauy-1+ccyy,1,1,1);
pix ( vaisseaux-1+ccxx, vaisseauy-1+ccyy,1,1,1);
}
/*
serie.printf("D%dX \r\n",ccxx+15) ; // envoyer un texte en liaison serie
serie.printf("D%dY \r\n",ccyy+15) ;
charr(14, 18 , ext);
*/
}
// FIN de vos dessins
// fonctions et variables deja créées
// pix ( x , y , r , v , b ) dessine un pixel de couleur en xy
// x et y position du pixel à dessiner ( 0 à 31 )
// r v b quantité de r v b codée de 0 à 7 , 7 c'est lumineux
// ptnum(x, y , nombre ) écrit un nombre en rouge en x y
// x et y position ou ecrire ( 0 a 31) ... couleur obligée ROUGE
// nombre ou variable .. un entier compris entre 0 et 99
// circle( x , y , r ) dessine un cercle de centre xy rayon r
// x et y position du centre ( 0 à 31)
// r rayon du cercle
// la couleur est prédéfinie ( 0 à 7) dans br bv bb
// charr( x , y , "char') ecrit carractère en x y avec br bv bb
// tous les carractères n'existent pas
// ccx ccy variables portant l'accéleration X et Y +-75 pour +- 3G
// accx accy variables portant l'accélération X et Y +-100 pour +- 1G