neo_00110010101
Messages postés360Date d'inscriptionsamedi 27 septembre 2003StatutMembreDernière intervention30 mai 2006
-
22 juin 2004 à 22:37
robichou
Messages postés1Date d'inscriptionsamedi 24 juillet 2004StatutMembreDernière intervention18 avril 2006
-
18 avril 2006 à 16:40
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
robichou
Messages postés1Date d'inscriptionsamedi 24 juillet 2004StatutMembreDernière intervention18 avril 2006 18 avril 2006 à 16:40
Bijour bijour,
effectivement pas mal de maps foirent chez moi... Genre dans une map comme :
000000000000000000000000000000
000111111111111111111111111100
000100000000000000000000000100
000100000000000000000000000100
000D00000000000000000000000100
000111111111111111111111100100
000000000010000000000000100100
000000000010000000000000100100
000000000011111110000000100100
000000000000000010000000000100
000000000000000010000011111100
000000000000000000000000000100
0000000000000000A1111111111100
(désolé pas le courage de la simplifier)
L'algo devrait il me semble tout essayer avant de trouver le bon chemin...
De meme le fait de simplement décaler d'une unité vers la droite l'arrivée de la map originale semble tout faire foirer... Il semblerait que la boucle while( !Open.empty() ) soit en cause...
En rajoutant Open.pop_front(); avec Chemin.pop_front(); à la ligne 189 çà marche beaucoup mieu chez moi... Mais bon je ne me suis pas minutieusement penché sur le code dans l'ensemble donc... A votre avis c'est effectivement çà ?
cs_treutreu
Messages postés1Date d'inscriptionmardi 31 janvier 2006StatutMembreDernière intervention20 mars 2006 20 mars 2006 à 16:02
salut,
Moi aussi j'ai fait des tests et j'ai pu constater que le programme n'a pas pu trouver le chemin dans la situation suivante:
111111111
110000011
111111011
11111D011
111111011
110000011
11111111A
Second point, le prog ne trouve pas forcement le chemin le + court.
Merci qu'en meme pour ton prog qui est tres bien commenté et tres
clair.
ben
cs_AlexMAN
Messages postés1536Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention24 mai 20091 13 avril 2005 à 20:00
Bonsoir,
neo, aurais tu quelques liens expliquant ton projet ?
Je te remercie d'avance ;)
Merci
Amicalement, Alex
neo_00110010101
Messages postés360Date d'inscriptionsamedi 27 septembre 2003StatutMembreDernière intervention30 mai 2006 24 juin 2004 à 12:57
Après plusieurs tests, j'ai remarqué que lorsque le chemin n'est pas trouvé, (affichage map d'origine seulement) c'est qu'un des deux points est sur un "0" or le programme sait qu'un "0" est infranchissable et que si un "0" est voisin de temp, le programme va "l'oublier"
Voilà encore des codes exemples qui marchent :
AStar a( 2, 1, 18, 27 );
AStar a( 2, 1, 18, 17 );
AStar a( 2, 1, 14, 24 );
AStar a( 20, 12, 21, 28 );
AStar a( 5, 7, 8, 19 );
AStar a( 15, 17, 18, 30 );
AStar a( 5, 17, 18, 30 );
AStar a( 5, 7, 18, 30 );
AStar a( 5, 7, 22, 25 );
AStar a( 4, 12, 22, 25 );
neo_00110010101
Messages postés360Date d'inscriptionsamedi 27 septembre 2003StatutMembreDernière intervention30 mai 2006 23 juin 2004 à 12:27
Merci beaucoup LordBob et content de t'avoir aidé !
cs_LordBob
Messages postés2865Date d'inscriptionsamedi 2 novembre 2002StatutMembreDernière intervention11 mai 20099 23 juin 2004 à 11:40
allé c'est une bonne source, et bien commenté elle m'a été instructive pour cela je te met 9/10 :)
fser
Messages postés74Date d'inscriptionvendredi 26 septembre 2003StatutMembreDernière intervention23 avril 2005 23 juin 2004 à 10:46
Euh, mon ptit cerveau me dit qu'en rejoignant des points de la trajectoire trouvée on devrait pouvoir faire plus court, c'est possible ?
( qu'un itinéraire plus court existe )
neo_00110010101
Messages postés360Date d'inscriptionsamedi 27 septembre 2003StatutMembreDernière intervention30 mai 2006 23 juin 2004 à 10:09
Par exemple, je vais mettre des codes officiels ^_^
neo_00110010101
Messages postés360Date d'inscriptionsamedi 27 septembre 2003StatutMembreDernière intervention30 mai 2006 23 juin 2004 à 09:46
Je viens de faire des essais et je trouve bien mon chemin ... fais attention où tu mets les pieds ! évite de mettre le point A dans une situation assez délicate :p
Par contre mon système de placement de point est assez dur vu que la map est assez grande ...
Il faut compter les 0 et les 1 ^^
cs_LordBob
Messages postés2865Date d'inscriptionsamedi 2 novembre 2002StatutMembreDernière intervention11 mai 20099 23 juin 2004 à 09:31
lorsque je change les valeurs de x et y pour les points d'rrivé et de depart, l'algo ne cherche plus le chemin... pourquoi?
neo_00110010101
Messages postés360Date d'inscriptionsamedi 27 septembre 2003StatutMembreDernière intervention30 mai 2006 22 juin 2004 à 22:37
Premierement, désolé pour cette sorte d'"image" qui est compressée à 17 avec PSP8 en JPG donc c'est non pas moche mais extremement moche ! (limite oblige)
Je suis toujours et une nouvelle fois encore ouvert à toute critique : Optimisation, Correction, Amélioration ...
18 avril 2006 à 16:40
effectivement pas mal de maps foirent chez moi... Genre dans une map comme :
000000000000000000000000000000
000111111111111111111111111100
000100000000000000000000000100
000100000000000000000000000100
000D00000000000000000000000100
000111111111111111111111100100
000000000010000000000000100100
000000000010000000000000100100
000000000011111110000000100100
000000000000000010000000000100
000000000000000010000011111100
000000000000000000000000000100
0000000000000000A1111111111100
(désolé pas le courage de la simplifier)
L'algo devrait il me semble tout essayer avant de trouver le bon chemin...
De meme le fait de simplement décaler d'une unité vers la droite l'arrivée de la map originale semble tout faire foirer... Il semblerait que la boucle while( !Open.empty() ) soit en cause...
En rajoutant Open.pop_front(); avec Chemin.pop_front(); à la ligne 189 çà marche beaucoup mieu chez moi... Mais bon je ne me suis pas minutieusement penché sur le code dans l'ensemble donc... A votre avis c'est effectivement çà ?
20 mars 2006 à 16:02
Moi aussi j'ai fait des tests et j'ai pu constater que le programme n'a pas pu trouver le chemin dans la situation suivante:
111111111
110000011
111111011
11111D011
111111011
110000011
11111111A
Second point, le prog ne trouve pas forcement le chemin le + court.
Merci qu'en meme pour ton prog qui est tres bien commenté et tres
clair.
ben
13 avril 2005 à 20:00
neo, aurais tu quelques liens expliquant ton projet ?
Je te remercie d'avance ;)
Merci
Amicalement, Alex
24 juin 2004 à 12:57
Voilà encore des codes exemples qui marchent :
AStar a( 2, 1, 18, 27 );
AStar a( 2, 1, 18, 17 );
AStar a( 2, 1, 14, 24 );
AStar a( 20, 12, 21, 28 );
AStar a( 5, 7, 8, 19 );
AStar a( 15, 17, 18, 30 );
AStar a( 5, 17, 18, 30 );
AStar a( 5, 7, 18, 30 );
AStar a( 5, 7, 22, 25 );
AStar a( 4, 12, 22, 25 );
23 juin 2004 à 12:27
23 juin 2004 à 11:40
23 juin 2004 à 10:46
( qu'un itinéraire plus court existe )
23 juin 2004 à 10:09
AStar a( 2, 1, 25, 26 );
AStar a( 7, 1, 6, 7 );
AStar a( 27, 1, 13, 11 );
AStar a( 24, 25, 13, 11 );
AStar a( 17, 25, 5, 18 );
AStar a( 9, 3, 15, 13 );
AStar a( 5, 1, 12, 17 );
AStar a( 9, 1, 16, 21 );
Certifiés fonctionnants ! :)
23 juin 2004 à 09:46
Par contre mon système de placement de point est assez dur vu que la map est assez grande ...
Il faut compter les 0 et les 1 ^^
23 juin 2004 à 09:31
22 juin 2004 à 22:37
Je suis toujours et une nouvelle fois encore ouvert à toute critique : Optimisation, Correction, Amélioration ...
Sur ce, je vais me détendre à UT2k4 ^^