DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ D T

⟦e8f7b0073⟧ TextFile

    Length: 7984 (0x1f30)
    Types: TextFile
    Names: »DEMO«

Derivation

└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
    └─ ⟦129cab021⟧ »DATA« 
        └─⟦this⟧ 

TextFile

                        

                        [ 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...".