3 cadre=(llcorner texto+(-eb,-eb))--%(llcorner texto+(0,-eb))--
4 (llcorner texto+(0.875cm,0)+(-eb,-eb))--
5 (llcorner texto+(0.875cm,0)+(0,-2eb))--
6 (llcorner texto+(1.125cm,0)+(0,-2eb))--
7 (llcorner texto+(1.125cm,0)+(eb,-eb))--
8 (lrcorner texto+(0,-eb))--(lrcorner texto+(eb,0))--(urcorner texto+(eb,0))--(urcorner texto+(0,eb))--
9 (ulcorner texto+(0.625cm,0)+(eb,eb))--
10 (ulcorner texto+(0.625cm,0))--
11 (ulcorner texto+(0.375cm,0))--
12 (ulcorner texto+(0.375cm,0)+(-eb,eb))--
13 (ulcorner texto+(0,eb))--(ulcorner texto+(-eb,0))--cycle;
16 fill cadre withcolor if unknown colControle : LightOrange else : colControle fi;
17 draw (llcorner texto+(-eb,-eb))--
18 (ulcorner texto+(-eb,0))--
19 (ulcorner texto+(0,eb))--
20 (ulcorner texto+(0.375cm,0)+(-eb,eb))--
21 (ulcorner texto+(0.375cm,0))--
22 (ulcorner texto+(0.625cm,0))--
23 (ulcorner texto+(0.625cm,0)+(eb,eb))--
24 (urcorner texto+(0,eb))--
25 (urcorner texto+(eb,0))--
26 (lrcorner texto+(eb,0))--
27 (lrcorner texto+(0,-eb))--
28 (llcorner texto+(1.125cm,0)+(eb,-eb))--
29 (llcorner texto+(1.125cm,0)+(0,-2eb))--
30 (llcorner texto+(0.875cm,0)+(0,-2eb))--
31 (llcorner texto+(0.875cm,0)+(-eb,-eb))--
32 (llcorner texto+(0.5cm,-eb));
34 draw texto;% withcolor white;
42 cadre=(llcorner texto+(-eb,0))--(llcorner texto+(0,-eb))--
43 (llcorner texto+(0.375cm,0)+(-eb,-eb))--
44 (llcorner texto+(0.375cm,0)+(0,-2eb))--
45 (llcorner texto+(0.625cm,0)+(0,-2eb))--
46 (llcorner texto+(0.625cm,0)+(eb,-eb))--
47 (lrcorner texto+(0,-eb))--(lrcorner texto+(eb,0))--(urcorner texto+(eb,0))--(urcorner texto+(0,eb))--
48 (ulcorner texto+(0.625cm,0)+(eb,eb))--
49 (ulcorner texto+(0.625cm,0))--
50 (ulcorner texto+(0.375cm,0))--
51 (ulcorner texto+(0.375cm,0)+(-eb,eb))--
52 (ulcorner texto+(0,eb))--(ulcorner texto+(-eb,0))--cycle;
55 fill cadre withcolor if unknown colControle : LightOrange else : colControle fi;
64 cadre=(llcorner texto+(-eb,0))--(llcorner texto+(0,-eb))--
65 % (llcorner texto+(0.375cm,0)+(-eb,-eb))--
66 % (llcorner texto+(0.375cm,0)+(0,-2eb))--
67 % (llcorner texto+(0.625cm,0)+(0,-2eb))--
68 % (llcorner texto+(0.625cm,0)+(eb,-eb))--
69 (lrcorner texto+(0,-eb))--(lrcorner texto+(eb,0))--(urcorner texto+(eb,0))--(urcorner texto+(0,eb))--
70 (ulcorner texto+(0.625cm,0)+(eb,eb))--
71 (ulcorner texto+(0.625cm,0))--
72 (ulcorner texto+(0.375cm,0))--
73 (ulcorner texto+(0.375cm,0)+(-eb,eb))--
74 (ulcorner texto+(0,eb))--(ulcorner texto+(-eb,0))--cycle;
77 fill cadre withcolor if unknown colControle : LightOrange else : colControle fi;
86 cadre=(llcorner texto+(-eb,0))--(llcorner texto+(0,-eb))--
87 (llcorner texto+(0.375cm,0)+(-eb,-eb))--
88 (llcorner texto+(0.375cm,0)+(0,-2eb))--
89 (llcorner texto+(0.625cm,0)+(0,-2eb))--
90 (llcorner texto+(0.625cm,0)+(eb,-eb))--
91 (lrcorner texto+(0,-eb))--(lrcorner texto+(eb,0))--
92 (urcorner texto+(eb,0))--(urcorner texto+(0,eb))--
93 1/2[ulcorner texto+(-eb,eb),urcorner texto+(eb,eb)]{dir150}..{dir-150}(ulcorner texto+(-eb,eb))--cycle;
96 fill cadre withcolor if unknown colControle : LightOrange else : colControle fi;
103 pair coindebutbloc[];
105 vardef Repeter[](expr tps)=
110 label(LATEX("\bfseries\color{white}répéter "&if numeric tps:"\colorbox{white}{\textcolor{black}{"&decimal(tps)&"}}" else: tps fi&" fois"),(0,0));
112 $=AffiControle shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffiControle);
113 _coinprec:=(llcorner $)+(0.5cm,0);
114 _coinprec:=_coinprec+(0,eb);
115 coindebutbloc@:=(llcorner $)+(0,eb);
124 label(LATEX("\bfseries\color{white}répéter indéfiniment"),(0,0));
126 $=AffiControle shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffiControle);
127 _coinprec:=(llcorner $)+(0.5cm,0);
128 _coinprec:=_coinprec+(0,eb);
129 coindebutbloc@:=(llcorner $)+(0,eb);
133 vardef RepeterJ[](expr test)=
138 label(LATEX("\bfseries\color{white}répéter jusqu'à "&test&""),(0,0));
140 $=AffiControle shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffiControle);
141 _coinprec:=(llcorner $)+(0.5cm,0);
142 _coinprec:=_coinprec+(0,eb);
143 coindebutbloc@:=(llcorner $)+(0,eb);
147 vardef FinBlocRepeter[](expr tps)=
150 _coinprec:=_coinprec-(0.5cm,0);
154 label.lrt(LATEX("\bfseries\color{white}répéter \colorbox{white}{\textcolor{white}{"&decimal(tps)&"}} fois"),if unknown _coinprec: (0,0) else:_coinprec fi);
158 cadre=(llcorner texto+(0.125,0))--(coindebutbloc@+(0.125,0))--(coindebutbloc@+(0.5cm+eb,0))--
159 (coindebutbloc@+(0.5cm,-eb))--
160 (ulcorner texto+(0.5cm,eb))--
161 (ulcorner texto+(0.5cm+eb,0))--
162 (urcorner texto+(-eb,0))--
163 (urcorner texto+(0,-eb))--
164 (lrcorner texto+(0,eb))--
165 (lrcorner texto+(-eb,0))--
166 (llcorner texto+(0.125+0.625cm,0)+(2eb,0))--
167 (llcorner texto+(0.125+0.625cm,0)+(eb,-eb))--
168 (llcorner texto+(0.125+0.375cm,0)+(eb,-eb))--
169 (llcorner texto+(0.125+0.375cm,0))--
170 (llcorner texto+(0.125,0)+(eb,0))--
171 (llcorner texto+(0.125,0)+(0,eb))--
175 fill cadre withcolor if unknown colControle : LightOrange else : colControle fi;
176 label.lft(LATEX("$\color{white}\raisebox{-0.5pt}{\hbox{$\bm{\_\!\_}$}}\!\!\!\!\bm{\uparrow}$"),0.5[lrcorner texto,urcorner texto]);
177 draw (coindebutbloc@+(0.5cm+eb,0))--
178 (coindebutbloc@+(0.5cm,-eb))--
179 (ulcorner texto+(0.5cm,eb))--
180 (ulcorner texto+(0.5cm+eb,0))--
181 (urcorner texto+(-eb,0))--
182 (urcorner texto+(0,-eb))--
183 (lrcorner texto+(0,eb))--
184 (lrcorner texto+(-eb,0))--
185 (llcorner texto+(0.125+0.625cm,0)+(2eb,0))--
186 (llcorner texto+(0.125+0.625cm,0)+(eb,-eb))--
187 (llcorner texto+(0.125+0.375cm,0)+(eb,-eb))--
188 (llcorner texto+(0.125+0.375cm,0))--
189 (llcorner texto+(0.125,0)+(eb,0))--
190 (llcorner texto+(0.125,0)+(0,eb))--
191 (coindebutbloc@+(0.125,0));
193 _coinprec:=(llcorner $);
194 _coinprec:=_coinprec+(0,eb);
198 vardef FinBlocRepeterI[](expr tps)=
201 _coinprec:=_coinprec-(0.5cm,0);
205 label.lrt(LATEX("\bfseries\color{white}répéter \colorbox{white}{\textcolor{white}{"&decimal(tps)&"}} fois"),if unknown _coinprec: (0,0) else:_coinprec fi);
209 cadre=(llcorner texto+(0.125,0)+(0,eb))--(coindebutbloc@+(0.125,0))--(coindebutbloc@+(0.5cm+eb,0))--
210 (coindebutbloc@+(0.5cm,-eb))--
211 (ulcorner texto+(0.5cm,eb))--
212 (ulcorner texto+(0.5cm+eb,0))--
213 (urcorner texto+(-eb,0))--
214 (urcorner texto+(0,-eb))--
215 (lrcorner texto+(0,eb))--
216 (lrcorner texto+(-eb,0))--
217 (llcorner texto+(0.125,0)+(eb,0))--
221 fill cadre withcolor if unknown colControle : LightOrange else : colControle fi;
222 label.lft(LATEX("$\color{white}\raisebox{-0.5pt}{\hbox{$\bm{\_\!\_}$}}\!\!\!\!\bm{\uparrow}$"),0.5[lrcorner texto,urcorner texto]);
223 draw (coindebutbloc@+(0.5cm+eb,0))--
224 (coindebutbloc@+(0.5cm,-eb))--
225 (ulcorner texto+(0.5cm,eb))--
226 (ulcorner texto+(0.5cm+eb,0))--
227 (urcorner texto+(-eb,0))--
228 (urcorner texto+(0,-eb))--
229 (lrcorner texto+(0,eb))--
230 (lrcorner texto+(-eb,0))--
231 (llcorner texto+(0.125,0)+(eb,0))--
232 (llcorner texto+(0.125,0)+(0,eb))--(coindebutbloc@+(0.125,0));
234 _coinprec:=(llcorner $);
238 vardef Si[](expr tps)=
243 label(LATEX("\bfseries\color{white}si "&tps&" alors"),(0,0));
245 $=AffiControle shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffiControle);
246 _coinprec:=(llcorner $)+(0.5cm,0);
247 _coinprec:=_coinprec+(0,eb);
248 coindebutbloc@:=(llcorner $)+(0,eb);
255 _coinprec:=_coinprec-(0.5cm,0);
259 label.lrt(LATEX("\bfseries\color{white}répéter \colorbox{white}{\textcolor{black}{titi=10}}"),if unknown _coinprec: (0,0) else:_coinprec fi);
263 cadre=(llcorner texto+(0.125,0))--(coindebutbloc@+(0.125,0))--(coindebutbloc@+(0.5cm+eb,0))--
264 (coindebutbloc@+(0.5cm,-eb))--
265 (ulcorner texto+(0.5cm,eb))--
266 (ulcorner texto+(0.5cm+eb,0))--
267 (urcorner texto+(-eb,0))--
268 (urcorner texto+(0,-eb))--
269 (lrcorner texto+(0,eb))--
270 (lrcorner texto+(-eb,0))--
271 (llcorner texto+(0.125+0.625cm,0)+(2eb,0))--
272 (llcorner texto+(0.125+0.625cm,0)+(eb,-eb))--
273 (llcorner texto+(0.125+0.375cm,0)+(eb,-eb))--
274 (llcorner texto+(0.125+0.375cm,0))--
275 (llcorner texto+(0.125,0)+(eb,0))--
276 (llcorner texto+(0.125,0)+(0,eb))--
280 fill cadre withcolor if unknown colControle : LightOrange else : colControle fi;
281 draw (coindebutbloc@+(0.5cm+eb,0))--
282 (coindebutbloc@+(0.5cm,-eb))--
283 (ulcorner texto+(0.5cm,eb))--
284 (ulcorner texto+(0.5cm+eb,0))--
285 (urcorner texto+(-eb,0))--
286 (urcorner texto+(0,-eb))--
287 (lrcorner texto+(0,eb))--
288 (lrcorner texto+(-eb,0))--
289 (llcorner texto+(0.125+0.625cm,0)+(2eb,0))--
290 (llcorner texto+(0.125+0.625cm,0)+(eb,-eb))--
291 (llcorner texto+(0.125+0.375cm,0)+(eb,-eb))--
292 (llcorner texto+(0.125+0.375cm,0))--
293 (llcorner texto+(0.125,0)+(eb,0))--
294 (llcorner texto+(0.125,0)+(0,eb))--
295 (coindebutbloc@+(0.125,0));
297 _coinprec:=(llcorner $);
298 _coinprec:=_coinprec+(0,eb);
305 _coinprec:=_coinprec-(0.5cm,0);
309 label.lrt(LATEX("\bfseries\color{white}\,sinon\phantom{\colorbox{white}{\textcolor{black}{\hbox to2cm{t}}}}"),if unknown _coinprec: (0,0) else:_coinprec fi);
313 cadre=(llcorner texto+(0.125,0))--(coindebutbloc@+(0.125,0))--
314 (coindebutbloc@+(0.5cm,0)+(eb,0))--
315 (coindebutbloc@+(0.5cm,0)+(0,-eb))--
316 (ulcorner texto+(0.5cm,0)+(0,eb))--
317 (ulcorner texto+(0.5cm,0)+(eb,0))--
318 (urcorner texto+(-eb,0))--
319 (urcorner texto+(0,-eb))--
320 (lrcorner texto+(0,eb))--
321 (lrcorner texto+(-eb,0))--
322 (llcorner texto+(0.125+1.125cm,0)+(2eb,0))--
323 (llcorner texto+(0.125+1.125cm,0)+(eb,-eb))--
324 (llcorner texto+(0.125+0.875cm,0)+(eb,-eb))--
325 (llcorner texto+(0.125+0.875cm,0))--
329 fill cadre withcolor if unknown colControle : LightOrange else : colControle fi;
331 draw (coindebutbloc@+(0.5cm,0)+(eb,0))--
332 (coindebutbloc@+(0.5cm,0)+(0,-eb))--
333 (ulcorner texto+(0.5cm,0)+(0,eb))--
334 (ulcorner texto+(0.5cm,0)+(eb,0))--
335 (urcorner texto+(-eb,0))--
336 (urcorner texto+(0,-eb))--
337 (lrcorner texto+(0,eb))--
338 (lrcorner texto+(-eb,0))--
339 (llcorner texto+(0.125+1.125cm,0)+(2eb,0))--
340 (llcorner texto+(0.125+1.125cm,0)+(eb,-eb))--
341 (llcorner texto+(0.125+0.875cm,0)+(eb,-eb))--
342 (llcorner texto+(0.125+0.875cm,0));
343 draw (llcorner texto+(0.125,0))--(coindebutbloc@+(0.125,0));
345 _coinprec:=(llcorner $)+(0.5cm,0);
346 _coinprec:=_coinprec+(0,eb);
347 coindebutbloc[@]:=(llcorner $)+(0,eb);
351 vardef Attendre(expr test)=
356 label(LATEX("\bfseries\color{white}attendre "&if numeric test:"\colorbox{white}{\textcolor{black}{"&decimal(test)&"}}" else: test fi &" seconde(s)"),(0,0));
358 $=AffichageCN shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffichageCN);
359 _coinprec:=(llcorner $);
360 _coinprec:=_coinprec+(0,eb);
364 vardef AttendreJ(expr test)=
369 label(LATEX("\bfseries\color{white}attendre jusqu'à "&test&""),(0,0));
371 $=AffichageCN shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffichageCN);
372 _coinprec:=(llcorner $);
373 _coinprec:=_coinprec+(0,eb);
377 vardef Stop(expr test)=
382 label(LATEX("\bfseries\color{white}stop \colorbox{cDarkOrange}{\normalfont\textcolor{white}{"&test&" \tiny\textcolor{black}{$\blacktriangledown$}}}"),(0,0));
384 $=AffichageStop shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffichageStop);
385 _coinprec:=(llcorner $);
386 _coinprec:=_coinprec+(0,eb);
390 vardef CommencerClone=
395 label(LATEX("\bfseries\color{white}quand je commence comme un clone"),(0,0));
397 $=AffichageEC shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffichageEC);
398 _coinprec:=(llcorner $);
399 _coinprec:=_coinprec+(0,eb);
403 vardef CreerClone(expr test)=
408 label(LATEX("\bfseries\color{white}créer un clone de \colorbox{cDarkOrange}{\normalfont\textcolor{white}{"&test&" \tiny\textcolor{black}{$\blacktriangledown$}}}"),(0,0));
410 $=AffichageCN shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffichageCN);
411 _coinprec:=(llcorner $);
412 _coinprec:=_coinprec+(0,eb);
416 vardef SupprimerClone=
421 label(LATEX("\bfseries\color{white}supprimer ce clone"),(0,0));
423 $=AffichageCN shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffichageCN);
424 _coinprec:=(llcorner $);
425 _coinprec:=_coinprec+(0,eb);