Français   Démonstration.
Un écran de veille très simple. Ce programme pourrait être plus court. Essayer d'autres paramètres pour la vitesse de défilement. Adapter à votre ordinateur.

# Commande principale: demarrer
pour new
# set defaults, screen, pen et tortue
init ftd [400 400]
fcfg noir fcc vert levecrayon cachetortue
fin

pour initialise
# initialise starting speeds et coordinate lists
donne "dx ranspeed donne "dy ranspeed
donne "p 0 donne "q 0
donne "ex ranspeed donne "ey ranspeed
donne "r 0 donne "s 0
donne "pp [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]
donne "qp [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]
donne "rp [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]
donne "sp [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]
fin

pour drawline
# move pour point pq et draw a line pour point rs
donne "p :p+:dx donne "q :q+:dy
si :p > 180 [donne "dx moins ranspeed]
si :p < -180 [donne "dx ranspeed]
si :q > 180 [donne "dy moins ranspeed]
si :q < -180 [donne "dy ranspeed]
levecrayon fixexy :p :q
donne "pp md premier pos :pp
donne "qp md dernier pos :qp
donne "r :r+:ex donne "s :s+:ey
si :r > 180 [donne "ex moins ranspeed]
si :r < -180 [donne "ex ranspeed]
si :s > 180 [donne "ey moins ranspeed]
si :s < -180 [donne "ey ranspeed]
baissecrayon fixexy :r :s
donne "rp md premier pos :rp
donne "sp md dernier pos :sp
fin

pour eraseline
# move pour point pq et draw a noir line pour point rs
levecrayon
fixexy (premier :pp) (premier :qp)
baissecrayon fcc 0
fixexy (premier :rp) (premier :sp)
donne "pp saufpremier :pp
donne "qp saufpremier :qp
donne "rp saufpremier :rp
donne "sp saufpremier :sp
fin

pour ranspeed
# return a hasard speed between 4 et 13
retourne 4 + hasard 10
fin

pour angcol :x
# return rgb color liste
donne "red 127.5 *(1+sin :x)
donne "gre 127.5 *(1+sin (:x + 120))
donne "blu 127.5 *(1+sin (:x + 220))
retourne phrase liste :red :gre :blu
fin

pour demarrer
new initialise
tantque [vrai] [
fcc angcol :p+:q+:r+:s
drawline
eraseline
attends 4]
fin

Tester le programme maintenant

Procédure à exécuter:
demarrer