summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/profcollege/metapost/PfCTurtleTestRemplis.mp
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;