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: ┃ T

⟦b5134f7be⟧ TextFile

    Length: 2136 (0x858)
    Types: TextFile
    Names: »TINY_BILLARD«

Derivation

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

TextFile

--
--  Rebonds d'une boule a l'interieur d'un rectangle
--

Pour RECTANGLE prendre 
{  Avec GAUCHE: G HAUT: H LARGEUR: LARG HAUTEUR: HAUT .
   TORTUE LEVE_TA_PLUME .
   TORTUE VA_EN_X: G Y: H .
   TORTUE TON_ANGLE: 90 .
   TORTUE BAISSE_TA_PLUME .
   2 FOIS: 
   { 
      TORTUE AVANCE: HAUT .
      TORTUE A_GAUCHE: 90 .
      TORTUE AVANCE: LARG .
      TORTUE A_GAUCHE: 90 .
   } 
}.

Pour BILLARD prendre 
{ 
   Avec LARGEUR: L HAUTEUR: H X: X Y: Y DUREE: CPT_MAX .
   Pour L_MIN prendre X + 2 .
   Pour H_MIN prendre Y + 16 .
   Pour L_MAX prendre X + L - 11 .
   Pour H_MAX prendre Y + H - 5 .
   Pour PAS prendre 3 .
   Pour OLD_X prendre L_MIN + ( ( L_MAX - L_MIN ) / 2 ) .
   Pour OLD_Y prendre H_MIN + ( ( H_MAX - H_MIN ) / 2 ) .
   Pour NEW_X prendre 0 .
   Pour NEW_Y prendre 0 .
   Pour MONTER prendre VRAI .
   Pour DROITE prendre VRAI .
   Pour CPT prendre 0 .
   STYLO VA_EN_X: OLD_X Y: OLD_Y .
   STYLO MOYEN .
   RECTANGLE GAUCHE: X HAUT: Y LARGEUR: L HAUTEUR: H .
   RECTANGLE GAUCHE: X - 10 HAUT: Y - 10 LARGEUR: L + 20 HAUTEUR: H + 20 .
   RECTANGLE GAUCHE: X - 12 HAUT: Y - 12 LARGEUR: L + 24 HAUTEUR: H + 24 .
   { CPT < CPT_MAX } TANT_QUE_VRAI: 
   { 
      Pour CPT prendre CPT + 1 .
      Pour OK prendre VRAI .
      MONTER SI_VRAI: { Pour NEW_Y prendre OLD_Y - PAS } 
             SI_FAUX: { Pour NEW_Y prendre OLD_Y + PAS }.
      DROITE SI_VRAI: { Pour NEW_X prendre OLD_X + PAS } 
             SI_FAUX: { Pour NEW_X prendre OLD_X - PAS }. 
      (( NEW_X > L_MAX ) | ( NEW_X < L_MIN )) SI_VRAI: 
      { 
         Pour DROITE prendre DROITE INVERSE .
         Pour OK prendre FAUX .
      }.
      (( NEW_Y > H_MAX ) | ( NEW_Y < H_MIN )) SI_VRAI: 
      { 
         Pour MONTER prendre MONTER INVERSE .
         Pour OK prendre FAUX .         
      }.
      OK SI_VRAI: 
      { 
         STYLO VA_EN_X: OLD_X Y: OLD_Y .
         STYLO ECRIS: " " .
         STYLO VA_EN_X: NEW_X Y: NEW_Y.
         STYLO ECRIS: "o" .
         Pour OLD_X prendre NEW_X .
         Pour OLD_Y prendre NEW_Y .
      }.
   }.
   2 SECONDES.
   STYLO ECRIS: " " .
}.

BILLARD LARGEUR: 70 HAUTEUR: 115 X: 380 Y: 100 DUREE: 200 .