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.
Fork of Robot2016_2-0 by
Diff: Map/map.cpp
- Revision:
- 56:4fd9636dfb36
- Parent:
- 55:dfeee9e5c0af
- Child:
- 57:86f491f5b25d
--- a/Map/map.cpp Wed May 04 16:27:51 2016 +0000
+++ b/Map/map.cpp Wed May 04 19:43:53 2016 +0200
@@ -4,6 +4,11 @@
}
void map::Build (int couleur, int formation) {
+ max_x_table = 2800;
+ max_y_table = 1800;
+ min_x_table = 0;
+ min_y_table = 0;
+
addObs(obsCarr (800, 100, 100, 15));
addObs(obsCarr (2200, 100, 100, 15));
@@ -83,17 +88,20 @@
ended = false;
tmp = obs[i].getPoints ();
+ // On vérifie si le point est sur la table
+ if (tmp.p0.getX() < min_x_table || tmp.p0.getY() < min_y_table || tmp.p0.getX() > max_x_table || tmp.p0.getY() > max_y_table)
+ val[0] = false;
// On vérifie si le point croise un obstacle
- for (j = 0; j < os; ++j)
+ for (j = 0; j < os && val[0]; ++j)
if (obs[j].getCroisement (tmp.p0, close[indTMP1]))
val[0] = false;
// On vérifie si le point existe déjà dans la liste ouverte
- for (j = 0; j < open.size (); ++j) {
+ for (j = 0; j < open.size () && val[0]; ++j) {
if (open[j] == tmp.p0)
val[0] = false;
}
// On vérifie si le point existe déjà dans la liste fermée
- for (j = 0; j < close.size (); ++j) {
+ for (j = 0; j < close.size () && val[0]; ++j) {
if (close[j] == tmp.p0)
val[0] = false;
}
@@ -102,14 +110,16 @@
}
// On repete l'operation pour le second point
- for (j = 0; j < os; ++j)
+ if (tmp.p1.getX() < min_x_table || tmp.p1.getY() < min_y_table || tmp.p1.getX() > max_x_table || tmp.p1.getY() > max_y_table)
+ val[1] = false;
+ for (j = 0; j < os && val[1]; ++j)
if (obs[j].getCroisement (tmp.p1, close[indTMP1]))
val[1] = false;
- for (j = 0; j < open.size (); ++j) {
+ for (j = 0; j < open.size () && val[1]; ++j) {
if (open[j] == tmp.p1)
val[1] = false;
}
- for (j = 0; j < close.size (); ++j) {
+ for (j = 0; j < close.size () && val[1]; ++j) {
if (close[j] == tmp.p1)
val[1] = false;
}
@@ -118,14 +128,16 @@
}
// On répète l'opération pour le troisième point
- for (j = 0; j < os; ++j)
+ if (tmp.p2.getX() < min_x_table || tmp.p2.getY() < min_y_table || tmp.p2.getX() > max_x_table || tmp.p2.getY() > max_y_table)
+ val[2] = false;
+ for (j = 0; j < os && val[2]; ++j)
if (obs[j].getCroisement (tmp.p2, close[indTMP1]))
val[2] = false;
- for (j = 0; j < open.size (); ++j) {
+ for (j = 0; j < open.size () && val[2]; ++j) {
if (open[j] == tmp.p2)
val[2] = false;
}
- for (j = 0; j < close.size (); ++j) {
+ for (j = 0; j < close.size () && val[2]; ++j) {
if (close[j] == tmp.p2)
val[2] = false;
}
@@ -134,14 +146,16 @@
}
// On répète l'opération pour le quatrieme point
- for (j = 0; j < os; ++j)
+ if (tmp.p3.getX() < min_x_table || tmp.p3.getY() < min_y_table || tmp.p3.getX() > max_x_table || tmp.p3.getY() > max_y_table)
+ val[3] = false;
+ for (j = 0; j < os && val[3]; ++j)
if (obs[j].getCroisement (tmp.p3, close[indTMP1]))
val[3] = false;
- for (j = 0; j < open.size (); ++j) {
+ for (j = 0; j < open.size () && val[3]; ++j) {
if (open[j] == tmp.p3)
val[3] = false;
}
- for (j = 0; j < close.size (); ++j) {
+ for (j = 0; j < close.size () && val[3]; ++j) {
if (close[j] == tmp.p3)
val[3] = false;
}
