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