class Baites { float x=0;//position en x par rapport à la fenêtre float x2;//position en x par rapport à la plateforme float y=0;//position en y par rapport à la fenêtre float y2=0;//position globale en y float jl;//longueur des membres jambes float jg;//grosseur des jambes float cr;//rayon du corps float bl;//longueur du bec float ht;//hauteur de la tête float tr;//hauteur de la tête float lt;//taille des lames float pr;//rayon des plumes float jl2;//longueur des membres jambes échelle 1 float jg2;//grosseur des jambes échelle 1 float cr2;//rayon du corps échelle 1 float bl2;//longueur du bec échelle 1 float ht2;//hauteur de la tête échelle 1 float tr2;//hauteur de la tête échelle 1 float lt2;//taille des lames échelle 1 float pr2;//rayon des plumes échelle 1 float ao=0;//angle d'ouverture float d;//itération continue pour l'agissement float[] ppx = new float[2];//position du pied en x float[] ppy = new float[2];//position du pied en y float[] pgx = new float[2];//position du genou en x float[] pgy = new float[2];//position du genou en y float ob;//ouverture du bec float vc;//vitesse de course int nb;//quelle occurence int np;//nombre de plumes float nl;//nombre de lames int plan;//a quel plan elle est float[] psol=new float[2];//position d'un pied par rapport au sol float[] pjx=new float[7];//bas du corps float[] pjy=new float[7];//bas du corps float semi=0.3;//a quel niveau de semi plan il se trouve Baites(int nb,int plan) { this.x2=random(pf[nb].sol.length); this.plan=plan; this.jl2=random(10,60); this.bl2=random(tr+5,tr+30); this.ht2=random(0,50); this.pr2=alea(2,10); this.lt2=random(10,20); this.jg2=alea(1,20); this.cr2=alea(5,50); this.tr2=alea(5,30); this.ob=random(5,22); this.vc=random(0.1,1); this.nb=nb; this.np=floor(alea(1,10)); this.nl=floor(random(1,5)); } void dessine() { jl=jl2/plan; bl=bl2/plan; ht=ht2/plan; pr=pr2/plan; lt=lt2/plan; jg=jg2/plan; cr=cr2/plan; tr=tr2/plan; fill(pf[nb].couleur,pf[nb].saturat,pf[nb].luminos+(dmp*semi/plan)); ellipse(x,y,cr*2,cr*2);//le corps quad(x-tr,y-ht,x+tr,y-ht,x+cr,y,x-cr,y);//la jointure du corps et de la tête ellipse(x,y-ht,tr*2,tr*2);//la tête triangle(x+bl*(cos(ao*PI/180)),y+bl*(sin(ao*PI/180))-ht,x,y+tr-ht,x+tr,y-ht);//le bec du haut triangle(x+bl*(cos(-ao*PI/180)),y+bl*(sin(-ao*PI/180))-ht,x,y-tr-ht,x+tr,y-ht);//le bec du bas ellipse(x+ppx[0], y+ppy[0],jg,jg);//le pied ellipse(x+ppx[1], y+ppy[1],jg,jg);//l'autre pied for (int i=0;i<2;i++) { float[] pjx=new float[7]; float[] pjy=new float[7]; pjx[0]=x+cr*cos(angle(pgx[i],pgy[i])+PI/2); pjy[0]=y+cr*sin(angle(pgx[i],pgy[i])+PI/2); pjx[1]=x+cr*cos(angle(pgx[i],pgy[i])+PI*3/2); pjy[1]=y+cr*sin(angle(pgx[i],pgy[i])+PI*3/2); pjx[2]=x+pgx[i]+(jg+cr)/2*cos(angle(ppx[i]-pgx[i],ppy[i]-pgy[i])+PI/2); pjy[2]=y+pgy[i]+(jg+cr)/2*sin(angle(ppx[i]-pgx[i],ppy[i]-pgy[i])+PI/2); pjx[3]=x+pgx[i]+(jg+cr)/2*cos(angle(pgx[i],pgy[i])+PI*3/2); pjy[3]=y+pgy[i]+(jg+cr)/2*sin(angle(pgx[i],pgy[i])+PI*3/2); pjx[4]=x+pgx[i]+(jg+cr)/2*cos(angle(ppx[i]-pgx[i],ppy[i]-pgy[i])+PI*3/2); pjy[4]=y+pgy[i]+(jg+cr)/2*sin(angle(ppx[i]-pgx[i],ppy[i]-pgy[i])+PI*3/2); pjx[5]=x+ppx[i]+jg/2*cos(angle(ppx[i]-pgx[i],ppy[i]-pgy[i])+PI/2); pjy[5]=y+ppy[i]+jg/2*sin(angle(ppx[i]-pgx[i],ppy[i]-pgy[i])+PI/2); pjx[6]=x+ppx[i]+jg/2*cos(angle(ppx[i]-pgx[i],ppy[i]-pgy[i])+PI*3/2); pjy[6]=y+ppy[i]+jg/2*sin(angle(ppx[i]-pgx[i],ppy[i]-pgy[i])+PI*3/2); quad(pjx[0],pjy[0],pjx[1],pjy[1],pjx[3],pjy[3],pjx[2],pjy[2]);//la cuisse triangle(pjx[2],pjy[2],pjx[3],pjy[3],pjx[4],pjy[4]);//le genou quad(pjx[2],pjy[2],pjx[4],pjy[4],pjx[6],pjy[6],pjx[5],pjy[5]);//la jambe } for (int i=0;ippx[i]) { pgx[i]=i2; } } } } }