blob: 90d9e7944ab9cdf1f1ce26141723ec977f65cb75 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
boolean Poser,Etapes,STOP;
Poser=true;
STOP=false;
color CouleurRemplis;
vardef Stop=
if Etapes:
if k>Total-1:
STOP:=true;
fi;
fi;
enddef;
vardef Av(expr pas)=
Stop;
if STOP=false:
A[k+1]-A[k]=ut*pas*VecteurDpt;
B[tt+1]:=A[k+1];
RetiensAngle[k+1]:=RetiensAngle[k];
if Poser:
draw A[k]--A[k+1] withpen pencircle scaled Epaisseur;
%drawarrow A[k]--(A[k]+10*VecteurDpt) withcolor blue;
fi;
fi;
k:=k+1;
tt:=tt+1;
enddef;
vardef Re(expr pas)=
Stop;
if STOP=false:
A[k+1]-A[k]=-ut*pas*VecteurDpt;
B[tt+1]:=A[k+1];
RetiensAngle[k+1]:=RetiensAngle[k];
if Poser:
draw A[k]--A[k+1] withpen pencircle scaled Epaisseur;
%drawarrow A[k]--(A[k]+10*VecteurDpt) withcolor blue;
fi;
fi;
k:=k+1;
tt:=tt+1;
enddef;
vardef Tg(expr pas)=
Stop;
if STOP=false:
VecteurDpt:=rotation(VecteurDpt,(0,0),pas);
A[k+1]:=A[k];
B[tt+1]:=A[k+1];
%drawarrow A[k]--(A[k]+10*VecteurDpt) withcolor blue;
RetiensAngle[k+1]:=RetiensAngle[k]+pas;
Angle:=Angle+pas;
fi;
k:=k+1;
tt:=tt+1;
enddef;
vardef Td(expr pas)=
Stop;
if STOP=false:
VecteurDpt:=rotation(VecteurDpt,(0,0),-pas);
A[k+1]:=A[k];
B[tt+1]:=A[k+1];
%drawarrow A[k]--(A[k]+10*VecteurDpt) withcolor blue;
RetiensAngle[k+1]:=RetiensAngle[k]-pas;
Angle:=Angle-pas;
fi;
k:=k+1;
tt:=tt+1;
enddef;
vardef Bc=
Stop;
if STOP=false:
Poser:=true;
fi;
enddef;
vardef Lc=
Stop;
if STOP=false:
Poser:=false;
fi;
enddef;
vardef Teleporter(expr xpas,ypas)=
Stop;
if STOP=false:
A[k+1]:=A[k]+ut*(xpas,ypas);
B[tt+1]:=A[k+1];
fi;
k:=k+1;
tt:=tt+1;
enddef;
k=0;
tt=0;
|