sonia393
Messages postés4Date d'inscriptionsamedi 2 mai 2009StatutMembreDernière intervention 4 mai 2009
-
1 mai 2009 à 21:48
kikosoft
Messages postés2Date d'inscriptionmardi 10 avril 2007StatutMembreDernière intervention26 décembre 2009
-
24 oct. 2009 à 15:27
Bonjour,
voila, je suis en train de créer un petit simulateur de voiture avec conduite automatique :
j'ai un état 1 (position, cap, vitesse, accélération). La fonction
commande permet de donner la direction et l'accélération à prendre en
fonction de l'environnement (il s'agit d'un circuit avec des obstacles
représentés par des 1 et des espaces libres par 0).
La fonction balayage consiste à balayer dans les directions teta appartenant à [cap-pi/2, cap+pi/2]
pour chercher l'obstacle le plus loin dans chacune de ces directions.
ensuite on sélectionne la valeur maximale de ces distances. Et cette valeur sera le nouveau cap à prendre.
voila le code :
le pb que je rencontre, c'est que j'obtient tjs 0 comme distance maximale
je crois que le pb se situe au niveau de la boucle while
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 10 mai 2009 à 14:47
Bienvenue,
Ca ne sert à rien de poster deux fois la même question à deux heures d'intervalle. Je supprime le doublon.
Indente ton code, ça le rend infiniment plus lisible.
Sinon ça à l'air pas mal à vu de nez.
Pour la correction, désolé, c'est dimanche.
A ta place j'utiliserais un débogueur (Code::Blocks si tu es plutôt "libre", Visual C++ si tu es plutôt microsoft, proposent tous les deux un débogueur). Cela te permet de faire du pas à pas dans le code, d'inspecter les variables...
Si tu ne veux pas de débogueur (Tu as tort !), tu peux mettre des printf un peu partout.
De cette manière, tu connaîtra le détail de tous tes calculs qu'il faudra que tu compare avec ce que tu attends -> papier crayon et calculatrice.