Bonjour, j'ai mit en place dans mon code un système avec une variable qui change a chaque fois pour éviter la répétitions du sous programme (qui joue un message vocal) donc dans le cas gauche et droite pas de soucis mais dans le cas devant, légèrement gauche et légèrement droite c'est un peu plus problématique car dans certain cas des obstacle ne sont pas signalé pouvez m'aidez a régler ce problème svp ?
if (d1 >=301 && a==1)
{
a=0;
}
if (d1 <=300 && d1 >=251 && a==0) //Gauche
{
obstacle3mgauche();
a=1;
}
if (d1 <=250 && d1 >=201 && a==1)
{
obstacle25mgauche();
a=0;
}
if (d1 <=200 && d1 >=151 && a==0)
{
obstacle2mgauche();
a=1;
}
if (d1 <=150 && d1 >=101 && a==1)
{
obstacle15mgauche();
a=0;
}
if (d1 <=100 && d1 >=51 && a==0)
{
obstacle1mgauche();
a=1;
}
if (d1 <=50 && a==1)
{
obstacle50cmgauche();
a=0;
}
if (d4 >=301 && b==1)
{
b=0;
}
if (d4 <=300 && d4 >=251 && b==0) //Droite
{
obstacle3mdroite();
b=1;
}
if (d4 <=250 && d4 >=201 && b==1)
{
obstacle25mdroite();
b=0;
}
if (d4 <=200 && d4 >=151 && b==0)
{
obstacle2mdroite();
b=1;
}
if (d4 <=150 && d4 >=101 && b==1)
{
obstacle15mdroite();
b=0;
}
if (d4 <=100 && d4 >=51 && b==0)
{
obstacle1mdroite();
b=1;
}
if (d4 <=50 && b==1)
{
obstacle50cmdroite();
b=0;
}
if (d2 != d3) f=0;
if (d2 >=301 && d3 >=301)
{
c=0;
f=0;
}
if (d3 >=301) d=0;
if (d2 >=301) e=0;
if (d2 <=300 && d3<=300 && d2>=251 && d3>=251 && c==0) //Devant
{
obstacle3mdevant();
c=1;
f=1;
}
else if (d3 <=300 && d3>=251 && d==0 && f==0) //Légérement Droite
{
obstacle3mlegdroite();
d=1;
c=1;
}
else if (d2 <=300 && d2>=251 && e==0 && f==0) //Légérement Gauche
{
obstacle3mleggauche();
e=1;
c=1;
}
if (d2 <=250 && d3<=250 && d2>=201 && d3>=201 && c==1)
{
obstacle25mdevant();
c=0;
f=1;
}
else if (d3 <=250 && d3>=201 && d==1 && f==0)
{
obstacle25mlegdroite();
d=0;
c=0;
}
else if (d2 <=250 && d2>=201 && e==1 && f==0)
{
obstacle25mleggauche();
e=0;
c=0;
}
if (d2 <=200 && d3<=200 && d2>=151 && d3>=151 && c==0)
{
obstacle2mdevant();
c=1;
f=1;
}
else if (d3 <=200 && d3>=151 && d==0 && f==0)
{
obstacle2mlegdroite();
d=1;
c=1;
}
else if (d2 <=200 && d2>=151 && e==0 && f==0)
{
obstacle2mleggauche();
e=1;
c=1;
}
if (d2 <=150 && d3<=150 && d2>=101 && d3>=101 && c==1)
{
obstacle15mdevant();
c=0;
f=1;
}
else if (d3 <=150 && d3>=101 && d==1 && f==0)
{
obstacle15mlegdroite();
d=0;
c=0;
}
else if (d2 <=150 && d2>=101 && e==1 && f==0)
{
obstacle15mleggauche();
e=0;
c=0;
}
if (d2 <=100 && d3<=100 && d2>=51 && d3>=51 && c==0)
{
obstacle1mdevant();
c=1;
f=1;
}
else if (d3 <=100 && d3>=51 && d==0 && f==0)
{
obstacle1mlegdroite();
d=1;
c=1;
}
else if (d2 <=100 && d2>=51 && e==0 && f==0)
{
obstacle1mleggauche();
e=1;
c=1;
}
if (d2 <=50 && d3<=50 && c==1)
{
obstacle50cmdevant();
c=0;
f=1;
}
else if (d3 <=50 && d==1 && f==0)
{
obstacle50cmlegdroite();
d=0;
c=0;
}
else if (d2 <=50 && e==1 && f==0)
{
obstacle50cmleggauche();
e=0;
c=0;
}