Modifications (couleurs, chanfreins...) pour un rapprochement vers Scratch
[mp-scratch.git] / src / Mouvement.mp
1 vardef Affichage=
2   path cadre;
3   cadre=(llcorner texto+(-eb,0))--(llcorner texto+(0,-eb))--
4     (llcorner texto+(0.375cm,0)+(-eb,-eb))--
5     (llcorner texto+(0.375cm,0)+(0,-2eb))--
6     (llcorner texto+(0.625cm,0)+(0,-2eb))--
7     (llcorner texto+(0.625cm,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;
14   picture TEXT;
15   TEXT=image(
16     fill cadre withcolor if unknown colMouv : DarkBlue else: colMouv fi;
17     draw texto;
18   draw cadre;
19     );
20   TEXT
21 enddef;
22
23 vardef Avancer(expr nbpas)=
24   save $;
25   picture $,texto;
26   texto=image(
27       if numeric nbpas:
28       label.lrt(LATEX("\bfseries\color{white}avancer de \colorbox{white}{\textcolor{black}{"&decimal(nbpas)&"}}"),if unknown _coinprec:(0,0) else: _coinprec fi);
29   else:
30     label.lrt(LATEX("\bfseries\color{white}avancer de "&nbpas&""),if unknown _coinprec:(0,0) else: _coinprec fi);
31   fi;
32   );
33 $=Affichage shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner Affichage);
34 _coinprec:=llcorner $;
35 _coinprec:=_coinprec+(0,eb);
36   $
37 enddef;
38
39 vardef Tournerd(expr nbang)=
40   save $;
41   picture $,texto;
42   texto=image(
43       if numeric nbang:
44       label.lrt(LATEX("\bfseries\color{white}tourner à droite de \colorbox{white}{\textcolor{black}{"&decimal(nbang)&"}} degré(s)"),if unknown _coinprec:(0,0) else: _coinprec fi);
45   else:
46     label.lrt(LATEX("\bfseries\color{white}tourner à droite de "&nbang&" degré(s)"),if unknown _coinprec:(0,0) else: _coinprec fi);
47   fi;
48   );
49 $=Affichage shifted (if unknown _coinprec:(0,0) else : _coinprec fi - ulcorner Affichage);
50 _coinprec:=llcorner $;
51 _coinprec:=_coinprec+(0,eb);
52 $
53 enddef;
54
55 vardef Tournerg(expr nbang)=
56   save $;
57   picture $,texto;
58   texto=image(
59       if numeric nbang:
60       label.lrt(LATEX("\bfseries\color{white}tourner à gauche de \colorbox{white}{\textcolor{black}{"&decimal(nbang)&"}} degré(s)"),if unknown _coinprec:(0,0) else : _coinprec fi);
61   else:
62     label.lrt(LATEX("\bfseries\color{white}tourner à gauche de "&nbang&" degré(s)"),if unknown _coinprec:(0,0) else : _coinprec fi);
63     fi;
64     );
65   $=Affichage shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner Affichage);
66 _coinprec:=llcorner $;
67 _coinprec:=_coinprec+(0,eb);
68   $
69 enddef;
70
71 vardef Orienter(expr nbang)=
72   save $;
73   picture $,texto;
74   texto=image(
75       label.lrt(LATEX("\bfseries\color{white}s'orienter à "&if numeric nbang:"\colorbox{white}{\textcolor{black}{"&decimal(nbang)&" \tiny$\blacktriangledown$}}" else: nbang fi&""),if unknown _coinprec: (0,0) else:_coinprec fi);
76   );
77 $=Affichage shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner Affichage);
78 _coinprec:=llcorner $;
79 _coinprec:=_coinprec+(0,eb);
80 $
81 enddef;
82
83 vardef Orienterdirection(expr nbang)=
84   save $;
85   picture $,texto;
86   texto=image(
87       label.lrt(LATEX("\bfseries\color{white}s'orienter vers \colorbox{mLightBlue}{\normalfont\textcolor{white}{"&nbang&"} \textcolor{black}{\tiny$\blacktriangledown$}}"),if unknown _coinprec: (0,0) else:_coinprec fi);
88   );
89   $=Affichage shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner Affichage);
90 _coinprec:=llcorner $;
91 _coinprec:=_coinprec+(0,eb);
92   $
93 enddef;
94   
95 vardef Aller(expr xa,ya)=
96   save $;
97   picture $,texto;
98   texto=image(
99       if (numeric xa) and (numeric ya):
100       label.lrt(LATEX("\bfseries\color{white} aller à x : \colorbox{white}{\textcolor{black}{"&decimal(xa)&"}} y : \colorbox{white}{\textcolor{black}{"&decimal(ya)&"}}"),if unknown _coinprec:(0,0) else: _coinprec fi);
101   elseif (numeric xa):
102 label.lrt(LATEX("\bfseries\color{white} aller à x : \colorbox{white}{\textcolor{black}{"&decimal(xa)&"}} y : "&ya&""),if unknown _coinprec:(0,0) else: _coinprec fi);
103   elseif (numeric ya):
104 label.lrt(LATEX("\bfseries\color{white} aller à x : "&xa&" y : \colorbox{white}{\textcolor{black}{"&decimal(ya)&"}}"),if unknown _coinprec:(0,0) else: _coinprec fi);
105   else:
106 label.lrt(LATEX("\bfseries\color{white} aller à x : "&xa&" y : "&ya&""),if unknown _coinprec:(0,0) else: _coinprec fi);
107   fi;
108     );
109   $=Affichage shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner Affichage);
110 _coinprec:=llcorner $;
111 _coinprec:=_coinprec+(0,eb);
112   $
113 enddef;
114
115 vardef Allera(expr pointeur)=
116   save $;
117   picture $,texto;
118   texto=image(
119       label.lrt(LATEX("\bfseries\color{white} aller à : \colorbox{mLightBlue}{\normalfont\textcolor{white}{"&pointeur&"} \textcolor{black}{\tiny$\blacktriangledown$}}"),if unknown _coinprec:(0,0) else: _coinprec fi);
120     );
121   $=Affichage shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner Affichage);
122 _coinprec:=llcorner $;
123 _coinprec:=_coinprec+(0,eb);
124   $
125 enddef;
126
127 vardef Glisser(expr tps,xa,ya)=
128   save $;
129   picture $,texto;
130   texto=image(
131       label.lrt(LATEX("\bfseries\color{white}glisser en "&if numeric tps:"\colorbox{white}{\textcolor{black}{"&decimal(tps)&"}}" else: tps fi&" seconde(s) à x : "&if numeric xa:"\colorbox{white}{\textcolor{black}{"&decimal(xa)&"}}" else: xa fi&" y : "&if numeric ya:"\colorbox{white}{\textcolor{black}{"&decimal(ya)&"}}" else: ya fi), if unknown _coinprec:(0,0) else:_coinprec fi);
132     );
133   $=Affichage shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner Affichage);
134 _coinprec:=llcorner $;
135 _coinprec:=_coinprec+(0,eb);
136   $
137 enddef;
138
139 vardef Ajouter(expr xa,xx)=
140   save $;
141   picture $,texto;
142   texto=image(
143       if numeric xa:
144       label.lrt(LATEX("\bfseries\color{white} ajouter \colorbox{white}{\textcolor{black}{"&decimal(xa)&"}} à "&xx),if unknown _coinprec: (0,0) else:_coinprec fi);
145   else:
146       label.lrt(LATEX("\bfseries\color{white} ajouter "&xa&" à "&xx),if unknown _coinprec: (0,0) else:_coinprec fi);
147     fi;
148   );
149 $=Affichage shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner Affichage);
150 _coinprec:=llcorner $;
151 _coinprec:=_coinprec+(0,eb);
152 $
153 enddef;
154
155 vardef Mettre(expr xa,xx)=
156   save $;
157   picture $,texto;
158   texto=image(
159       if numeric xa:
160       label.lrt(LATEX("\bfseries\color{white}donner la valeur \colorbox{white}{\textcolor{black}{"&decimal(xa)&"}} à "&xx),if unknown _coinprec: (0,0) else:_coinprec fi);
161   else:
162 label.lrt(LATEX("\bfseries\color{white}donner la valeur "&xa&" à "&xx),if unknown _coinprec: (0,0) else:_coinprec fi);
163     fi;
164   );
165 $=Affichage shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner Affichage);
166 _coinprec:=llcorner $;
167 _coinprec:=_coinprec+(0,eb);
168 $
169 enddef;
170
171 vardef Rebondir=
172   save $;
173   picture $,texto;
174   texto=image(
175       label.lrt(LATEX("\bfseries\color{white} rebondir si le bord est atteint"),if unknown _coinprec: (0,0) else:_coinprec fi);
176   );
177 $=Affichage shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner Affichage);
178 _coinprec:=llcorner $;
179 _coinprec:=_coinprec+(0,eb);
180 $
181 enddef;
182
183 vardef FixerSensRotation(expr sens)=
184   save $;
185   picture $,texto;
186   texto=image(
187       label.lrt(LATEX("\bfseries\color{white} fixer le sens de rotation \colorbox{mLightBlue}{\normalfont\textcolor{white}{"&sens&"} \textcolor{black}{\tiny$\blacktriangledown$}}"),if unknown _coinprec: (0,0) else:_coinprec fi);
188   );
189 $=Affichage shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner Affichage);
190 _coinprec:=llcorner $;
191 _coinprec:=_coinprec+(0,eb);
192 $
193 enddef;

Licence Creative Commons Les fichiers de Syracuse sont mis à disposition (sauf mention contraire) selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International.