TO CLOCK CS HT DRAWFACE MAKE "SEC 0 MAKE "MIN 0 MAKE "HOUR 0 PLOTTIMEHOUR :HOUR PLOTTIMEMIN :MIN PLOTTIMESEC :SEC SETTIMER 1 1000 [UPDATE] END
TO DRAWFACE SETHEADING 30 PU REPEAT 12 ~ [~ FD 120 ~ SETX XCOR-12 ~ SETY YCOR+12 ~ MAKE "SH HEADING SETHEADING 90 LABEL REPCOUNT ~ SETHEADING :SH SETX XCOR+12 ~ SETY YCOR-12 ~ BK 120 ~ RT 30 ~ ] END
TO GETTIME MAKE "THETIME TIME MAKE "THETIME BUTFIRST :THETIME MAKE "THETIME BUTFIRST :THETIME MAKE "THETIME BUTFIRST :THETIME MAKE "THETIME FIRST :THETIME MAKE "THETIME PARSE MAP "OO :THETIME OUTPUT :THETIME END
TO OO :A IFELSE EQUALP ": :A [OUTPUT CHAR 32] [OUTPUT :A] END
TO PLOTTIMEHOUR :HOUR PENREVERSE SETPENSIZE [5 5] SETHEADING :HOUR*30 PD FD 50 PU BK 50 END
TO PLOTTIMEMIN :MIN PENREVERSE SETPENSIZE [2 2] SETHEADING :MIN*6 PD FD 100 PU BK 100 END
TO PLOTTIMESEC :SEC PENREVERSE SETPENSIZE [1 1] SETHEADING :SEC*6 PD FD 100 PU BK 100 END
TO UPDATE MAKE "THETIME GETTIME MAKE "NHOUR FIRST :THETIME MAKE "THETIME BUTFIRST :THETIME MAKE "NMIN FIRST :THETIME MAKE "THETIME BUTFIRST :THETIME MAKE "NSEC FIRST :THETIME PLOTTIMESEC :SEC IF NOT EQUALP :MIN :NMIN~ [~ PLOTTIMEMIN :MIN ~ IF NOT EQUALP :HOUR :NHOUR~ [~ PLOTTIMEHOUR :HOUR ~ PLOTTIMEHOUR :NHOUR ~ ]~ PLOTTIMEMIN :NMIN ~ ] PLOTTIMESEC :NSEC MAKE "HOUR :NHOUR MAKE "MIN :NMIN MAKE "SEC :NSEC END
TO ZZZ IFELSE YESNOBOX [WELCOME] [CHOOSE YES TO RUN EXAMPLE NOW, CHOOSE NO STUDY IT NOW.] [AAA] [EDALL] END