|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: D T
Length: 7984 (0x1f30)
Types: TextFile
Names: »DEMO«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
└─⟦129cab021⟧ »DATA«
└─⟦this⟧
[ demonstration Tiny Talk ]
stylo MoyenneTaille.
stylo tonX:80 tonY:200.
stylo ecris:"Demo realisee par :".
stylo tonX:100 tonY:250.
stylo ecris:"Philippe Bouteleux".
stylo tonX:100 tonY:300.
stylo ecris:"et Bruno Launay".
stylo tonX:50 tonY:400.
stylo ecris:"Ok, on y va. Mais vous l'aurez voulu !".
3 attend.
[ la voie lactee ]
pour etoile prendre {
avec tortue:MaTortue arete:longueur.
MaTortue baisseTaPlume.
5 fois: {
MaTortue aGauche:216.
MaTortue avance:longueur.
MaTortue aGauche:72.
MaTortue avance:longueur
}
}.
fenetre cacheToi.
pour fenetre1 prendre fenetre dupliqueToi.
fenetre1 tonX:0 tonY:0 taLargeur:1280 taHauteur:1024
tonNom:"Mon Dieu, c'est plein d'etoiles... Arthur C.Clark".
fenetre1 afficheToi.
tortue TaFenetre:fenetre1 TonAngle:0.
stylo TaFenetre:fenetre1.
tortue baisseTaPlume.
1 a: 30 repeter: {
avec i.
tortue tonAngle:90 auhasard.
tortue TonX:1280 auHasard TonY:1024 auhasard tonEpaisseur:3 auHasard+1.
etoile tortue:tortue arete:30 auHasard + 20.
stylo TonX:1280 auHasard TonY:1024 auhasard.
stylo GrandeTaille.
stylo ecris:".".
stylo TonX:1280 auHasard TonY:1024 auhasard.
stylo MoyenneTaille.
stylo ecris:".".
}.
[ affichage de deux spirales en "simultane" ]
tortue TonEpaisseur:1 taFenetre:fenetre.
pour MaTortue prendre tortue DupliqueToi.
MaTortue TonX:250 TonY:250 tonAngle:0.
MaTortue BaisseTaPlume.
Fenetre TonX:100 TonY:0 TaHauteur:500 TaLargeur:500 TonNom:"Et de une !".
Fenetre AfficheToi.
pour UneAutre prendre Fenetre DupliqueToi.
UneAutre TonNom:"Et de deux !" TonX:620.
UneAutre AfficheToi.
pour TaTortue prendre tortue DupliqueToi.
TaTortue TaFenetre:UneAutre.
TaTortue TonX:250 TonY:250 tonAngle:0.
TaTortue BaisseTaPlume.
1 a:100 repeter: {
avec L.
MaTortue Avance:L.
MaTortue AGauche:45.
TaTortue Avance:L.
TaTortue AGauche:50
}.
[ affichage du sigle europeen ]
pour encore prendre fenetre dupliqueToi.
encore tonNom:"The E.U. Mr D'Arvor, the E.U." tonX:100 tonY:625.
encore afficheToi.
tortue taFenetre:encore TonX:220 TonY:180 TonAngle:0.
tortue LeveTaPlume.
1 a: 12 repeter: {
avec i.
tortue LeveTaPlume.
tortue Avance:40.
tortue BaisseTaPlume.
etoile tortue:tortue arete:10.
tortue TonAngle:i*30
}.
[ affichage d'un tube ]
pour polygone prendre {
avec tortue:MaTortue cotes:N longueur:L.
pour angle prendre 360/N.
MaTortue BaisseTaPlume.
N fois: {
MaTortue avance:L.
MaTortue AGauche:angle
}
}.
pour tube prendre {
avec x:X y:Y taille:T profondeur:P.
P <= 0 siFaux: {
tortue TonX:X TonY:Y.
polygone tortue:tortue cotes:8 longueur:T.
tube x:X+5 y:Y-4 taille:T-2 profondeur:P-1
}
}.
pour suivante prendre fenetre dupliqueToi.
suivante tonNom:"EuroTunnel" tonX:620 tonY:625.
suivante afficheToi.
tortue TaFenetre:suivante TonAngle:0.
tube x:100 y:380 taille:60 profondeur:60.
3 Attend.
Fenetre1 CacheToi.
Fenetre CacheToi.
UneAutre CacheToi.
Encore CacheToi.
Suivante CacheToi.
[ deux tortues qui rebondissent ]
fenetre tonX:100 tonY:0 tonNom:"rebonds (original non ?)".
fenetre afficheToi.
tortue taFenetre:fenetre TonX:500 auHasard TonY:500 auhasard
tonAngle:360 auHasard.
tortue baisseTaPlume.
pour tortue2 prendre tortue dupliqueToi.
tortue2 tonAngle:360 auHasard.
300 fois:{
tortue tonX>500 siVrai: {tortue tonAngle:180 - tortue tonAngle}.
tortue tonX<0 siVrai: {tortue tonAngle:180 - tortue tonAngle}.
tortue tonY>500 siVrai: {tortue tonAngle:360 - tortue tonAngle}.
tortue tonY<0 siVrai: {tortue tonAngle:360 - tortue tonAngle}.
tortue avance:10 tonAngle:tortue TonAngle + 5 auhasard.
tortue2 tonX>500 siVrai: {tortue2 tonAngle:180 - tortue2 tonAngle}.
tortue2 tonX<0 siVrai: {tortue2 tonAngle:180 - tortue2 tonAngle}.
tortue2 tonY>500 siVrai: {tortue2 tonAngle:360 - tortue2 tonAngle}.
tortue2 tonY<0 siVrai: {tortue2 tonAngle:360 - tortue2 tonAngle}.
tortue2 avance:10 tonAngle:tortue2 TonAngle - 5 auhasard.
}.
[ rouler bourre !]
pour fenetre2 prendre fenetre.
fenetre2 tonX:620 tonY:620 tonNom:"Rouler bourre !!!".
fenetre2 afficheToi.
tortue TaFenetre:fenetre2 TonX:250 TonY:250 tonAngle:360 auHasard.
tortue baisseTaPlume.
pour flag prendre vrai.
pour i prendre 0.
100 fois:{
flag sifaux:{
pour i prendre 15 auHasard
}
sivrai: {
pour i prendre 15 auHasard moins
}.
pour flag prendre flag non.
20 auHasard fois:{
tortue tonX>500 siVrai: {tortue tonAngle:180 - tortue tonAngle}.
tortue tonX<0 siVrai: {tortue tonAngle:180 - tortue tonAngle}.
tortue tonY>500 siVrai: {tortue tonAngle:360 - tortue tonAngle}.
tortue tonY<0 siVrai: {tortue tonAngle:360 - tortue tonAngle}.
tortue avance:10 tonAngle:tortue TonAngle + i.
}
}.
[ Tombe la neige... ]
pour fenetre3 prendre fenetre dupliqueToi.
fenetre3 tonX:320 tonY:200 taLargeur:600 taHauteur:600
tonNom:"Tombe la neige...".
fenetre3 afficheToi.
tortue TaFenetre:fenetre3 TonAngle:0.
stylo TaFenetre:fenetre3.
tortue baisseTaPlume.
tortue TonX:140 TonY:380 tonEpaisseur:1.
pour appel prendre {
avec arete:longueur angle:theta iteration:i.
(i = 5) siVrai: {
appel arete:longueur angle:theta iteration:4.
tortue aDroite:theta.
appel arete:longueur angle:theta iteration:4.
tortue aGauche:theta aGauche:theta.
appel arete:longueur angle:theta iteration:4.
tortue aDroite:theta.
appel arete:longueur angle:theta iteration:4
}.
(i = 4) siVrai: {
appel arete:longueur angle:theta iteration:3.
tortue aDroite:theta.
appel arete:longueur angle:theta iteration:3.
tortue aGauche:theta aGauche:theta.
appel arete:longueur angle:theta iteration:3.
tortue aDroite:theta.
appel arete:longueur angle:theta iteration:3
}.
(i = 3) siVrai: {
appel arete:longueur angle:theta iteration:2.
tortue aDroite:theta.
appel arete:longueur angle:theta iteration:2.
tortue aGauche:theta aGauche:theta.
appel arete:longueur angle:theta iteration:2.
tortue aDroite:theta.
appel arete:longueur angle:theta iteration:2
}.
(i = 2) siVrai: {
appel arete:longueur angle:theta iteration:1.
tortue aDroite:theta.
appel arete:longueur angle:theta iteration:1.
tortue aGauche:theta aGauche:theta.
appel arete:longueur angle:theta iteration:1.
tortue aDroite:theta.
appel arete:longueur angle:theta iteration:1.
pour i prendre 0
}.
(i = 1) siVrai: {
tortue avance:longueur
}
}.
pour alpha prendre 60.
pour pas prendre 4.
appel arete:pas angle:alpha iteration:5.
tortue aGauche:alpha aGauche:alpha.
appel arete:pas angle:alpha iteration:5.
tortue aGauche:alpha aGauche:alpha.
appel arete:pas angle:alpha iteration:5.
3 Attend.
fenetre tonX:0 tonY:0 taLargeur:1280 taHauteur:1024
tonNom:"Un peu de calculs...".
fenetre AfficheToi.
Pour eleve Prendre {
Avec LaValeur:N ALaPuissance:P.
Pour s Prendre N.
Pour i Prendre 1.
{i<P} TantQueVrai: {
Pour s Prendre s*N.
Pour i Prendre i+1
}.
Renvoyer s
}.
stylo taFenetre:fenetre.
stylo GrandeTaille.
stylo tonX:250 tonY:250.
stylo ecris:"2 a la puissance 5 donne "+ (eleve LaValeur:2 ALaPuissance:5) image
+",".
Pour factorielle Prendre {
Avec De:n.
n<1 SiVrai: {
Renvoyer 1
} SiFaux: {
Renvoyer n*(factorielle De: n-1)
}
}.
stylo tonX:450 tonY:300.
stylo ecris:"et la factorielle de 8 donne "+ (factorielle De: 8) image+".".
stylo tonX:410 tonY:700.
stylo MoyenneTaille.
stylo ecris:"voila, c'est fini vous pouvez eteindre la tele,".
stylo tonX:480 tonY:750.
stylo ecris:"ou vous faire un petit unparse...".