@@ -23,7 +23,7 @@ int verif_no_path(t_room *r)
2323 tube = r -> tube ;
2424 while (r -> tube )
2525 {
26- ft_printf ("{GRE}[%s by= %d p= %d]\n" ,r -> tube -> room -> name ,r -> tube -> room -> by ,r -> tube -> room -> poids );
26+ // ft_printf("{GRE}[%s by= %d p= %d]\n",r->tube->room->name,r->tube->room->by,r->tube->room->poids);
2727 if (r -> tube -> room -> by != 4 )
2828 i ++ ;
2929 r -> tube = r -> tube -> next ;
@@ -45,44 +45,27 @@ void save_path_(t_room **rp, t_path **pa, int p)
4545
4646 path = * pa ;
4747 r = * rp ;
48- add_back_path (& path , r -> name , r -> start , p );
49-
48+ add_back_path (& path , r , p );
5049 while (r && r -> end != 1 )
5150 {
52- // tmp = r->tube;
53- // while(r->tube->prev)
54- // r->tube = r->tube->prev;
5551 while (r -> tube && (r -> tube -> room -> by == 4 || r -> tube -> room -> poids != 1 ))
5652 {
57- // ft_printf("{GRE}[%s - %d - %d]\n", r->tube->room->name,r->tube->room->by,r->tube->room->poids);
5853 r -> tube = r -> tube -> next ;
5954 }
60- // if(!r->tube->next)
61- // {
62- // ft_printf("{GRE}[%s - %d - %d]\n", r->tube->next->room->name,r->tube->next->room->by,r->tube->next->room->poids);
63- // exit(1);
64- // }
6555 if (r -> by != 4 && r -> tube -> room -> poids == 1 )
6656 {
67- // ft_printf("{RED}[r=%s - %s - %d - %d]\n",r->name,r->tube->room->name,r->tube->room->by,r->tube->room->poids);
6857 if (r -> start != 1 )
69- add_back_path (& path , r -> name , r -> start , p );
58+ add_back_path (& path , r , p );
7059 r -> by = 4 ;
71- // ft_printf("{PUR}[%s]\n", r->name);
72- // while (r->tube->room->by == 4 || r->tube->room->poids != 1)
73- // r->tube = r->tube->next;
7460 r = r -> tube -> room ;
7561 }
7662 else
7763 {
78- // ft_printf("{RED}[%s]\n", tmp->room->name);
79- // r->tube = r->tube->next;
8064 r = r -> tube -> room ;
81- // ft_printf("{YEL}[%s]\n", r->tube->room->name);
8265 }
8366 p ++ ;
8467 }
85- add_back_path (& path , r -> name , r -> start , p );
68+ add_back_path (& path , r , p );
8669 * pa = path ;
8770 * rp = r ;
8871}
@@ -94,44 +77,41 @@ t_path *save_path(t_room *r, int *i)
9477
9578 p = 1 ;
9679 path = NULL ;
97- ft_printf ("1" );
9880 if (!r -> tube || !verif_no_path (r ))
9981 {
10082 (* i )++ ;
101- ft_printf ("3" );
10283 return (path );
10384 }
104- ft_printf ("2" );
85+ // ft_printf("2");
10586 save_path_ (& r ,& path ,p );
10687 return (path );
10788}
10889
109- t_path * init_path (char * name , int start , int p )
90+ t_path * init_path (t_room * r , int p )
11091{
11192 t_path * u ;
11293
11394 if (!(u = (t_path * )malloc (sizeof (t_path ))))
11495 ft_exit ("Failed to Malloc" );
115- u -> name = name ;
116- u -> ants = 0 ;
117- u -> start = start ;
96+ u -> r = r ;
97+ u -> name = r -> name ;
11898 u -> size = p ;
11999 u -> next = NULL ;
120100 return (u );
121101}
122102
123- void add_back_path (t_path * * t , char * name , int start , int p )
103+ void add_back_path (t_path * * t , t_room * r , int p )
124104{
125105 t_path * tmp ;
126106
127107 tmp = * t ;
128108 if (!tmp )
129109 {
130- * t = init_path (name , start , p );
110+ * t = init_path (r , p );
131111 return ;
132112 }
133113 while (tmp -> next )
134114 tmp = tmp -> next ;
135- tmp -> next = init_path (name , start , p );
115+ tmp -> next = init_path (r , p );
136116 tmp = tmp -> next ;
137117}
0 commit comments