' Horloge V4 : un nouveau mécanisme. ' Réutilisation de la trotteuse V2 ' mais pour chaque élément : heure, minute, seconds ' ...et millisecondes ! ' ' Ce programme pourrait être bien mieux structuré ' pour éviter les répétitions. color 5 ' 4 trotteuses : for 1 to 4 as ?type if ?type = 1'heures... color 8 ?rayon = 17 else if ?type = 2' minutes... color 7 ?rayon = 18 else if ?type = 3' secondes... color 6 ?rayon = 19 else if ?type = 4' millisecondes color #444 ?rayon = 20 end ' Chacune composée de 60 points for 0 to 59 as ?point create sprite 1 as "?type-?point" add "?type-?point" dot 1, 1, 1 ?angle = ?point * 6 move "?type-?point" to ?rayon * (sin ?angle), ?rayon * (cos ?angle), 0 turn z "?type-?point" to -?angle next next do for 1 to 4 as ?type ' Format 12 heures nécessaire ici ?heure = mod (hours), 12 if ?type = 1 ?cible = ?heure * 5 else if ?type = 2 ?cible = (minutes) else if ?type = 3 ?cible = (seconds) else if ?type = 4 ' (now) est un temps avec des décimales ' on ne garde que cette partie ?ms = (now) - (floor (now)) ?cible = (floor ?ms * 60) end ' on masque les "secondes" for 0 to 59 as ?point if ?point > ?cible hide "?type-?point" else show "?type-?point" end next next ' petit traveling de la caméra ?angle + 0.25 move "camera" to 25 * (sin ?angle), 8 * (sin ?angle * 2), -40 ' clear screen color 1 ?debug = (hours) + " h " + (minutes) + " mn " + (seconds) + " s" trace text ?debug center 0, -90 ' cette fois ci on ne peut plus attendre 1 seconde entre ' chaque image à cause des millisecondes update loop
