diff options
Diffstat (limited to 'macros/latex/contrib/profcollege/metapost/PfCTurtleTestRemplis.mp')
-rw-r--r-- | macros/latex/contrib/profcollege/metapost/PfCTurtleTestRemplis.mp | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/macros/latex/contrib/profcollege/metapost/PfCTurtleTestRemplis.mp b/macros/latex/contrib/profcollege/metapost/PfCTurtleTestRemplis.mp new file mode 100644 index 0000000000..90d9e7944a --- /dev/null +++ b/macros/latex/contrib/profcollege/metapost/PfCTurtleTestRemplis.mp @@ -0,0 +1,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; |