::::::::::::::::::::::::::::::::::::::::::::::::::::::
' program clock displays time in 24 hr Roman numerals
' press q to exit
';; COMMENT
' set up strings first
'
DATA "","M","MM","MMM","Mv","v","vM","vMM","vMMM","Mx"
DATA "","C","CC","CCC","CD","D","DC","DCC","DCCC","CM"
DATA "","X","XX","XXX","XL","L","LX","LXX","LXXX","XC"
DATA "","I","II","III","IV","V","VI","VII","VIII","IX"
DIM m(10), c(10), x(10), i(10) AS STRING
FOR a = 0 TO 9: READ m$(a): NEXT a
FOR a = 0 TO 9: READ c$(a): NEXT a
FOR a = 0 TO 9: READ x$(a): NEXT a
FOR a = 0 TO 9: READ i$(a): NEXT a
; COMMENT just setting up the Roman Numeral strings for thousands (M) hundreds (C and D) and tens (X and L) and ones (I and V)
'
' COMMENT wait ofr a second to pass by
ON TIMER(1) GOSUB time
'COMMENT then go to subroutine that updates the clock
'
TIMER ON
' and restsrt timer
'
WHILE INKEY$ <> "q"
WEND
END
; COMMENT it will loop forever so INKEY$ detects keyboard Q to stop the program
time: time = TIMER
sec = INT(time) MOD 60
min = INT(time / 60) MOD 60
hr = INT(time / 3600) MOD 60
hr$ = m$(INT(hr / 10)) + c$(hr MOD 10)
min$ = x$(INT(min / 10)) + i$(min MOD 10) + ":"
sec$ = x$(INT(sec / 10)) + i$(sec MOD 10)
'
; COMMENT You know about INT and MOD , yes ? They're not peculiar to any language they're math functions see wikipedia
;
PRINT "Time : "; hr; min; sec, hr$ + min$ + sec$
RETURN:::::::::::::::::::::::::::::::::::::::::::