Skip to content

Instantly share code, notes, and snippets.

@calebsmith
Created June 19, 2014 17:06
Show Gist options
  • Save calebsmith/fdceb2080a0ab1d8228a to your computer and use it in GitHub Desktop.
Save calebsmith/fdceb2080a0ab1d8228a to your computer and use it in GitHub Desktop.
CLOCK.BAS
DEFSNG A-Z
CLS
SCREEN 12
xp = 320
yp = 240
num = 12
DO
cad = 360 \ num
al = 360 - cad + 1
A$ = MID$(TIME$, 7, 2)
A = TIMER MOD 60
a2$ = MID$(TIME$, 4, 2)
a2 = VAL(a2$)
a3$ = MID$(TIME$, 1, 2)
a3 = VAL(a3$)
Ang = A * 6 - 90 + ad
Ang2 = a2 * 6 - 90 + ad
Ang3 = a3 * 360 \ num - 90 + ad
FOR ca = 1 TO al STEP cad
cx = COS((ca + ad) * 3.14 / 180) * 85 + xp
cy = SIN((ca + ad) * 3.14 / 180) * 85 + yp
cx2 = COS((ca - cad + ad) * 3.14 / 180) * 85 + xp
cy2 = SIN((ca - cad + ad) * 3.14 / 180) * 85 + yp
LINE (cx, cy)-(cx2, cy2)
NEXT
c = POINT(xp, yp)
IF c > 0 THEN
WAIT &H3DA, 8
WAIT &H3DA, 8, 8
FOR ca = 1 TO al STEP cad
cx = COS((ca + ad) * 3.14 / 180) * 85 + xp
cy = SIN((ca + ad) * 3.14 / 180) * 85 + yp
cx2 = COS((ca - cad + ad) * 3.14 / 180) * 85 + xp
cy2 = SIN((ca - cad + ad) * 3.14 / 180) * 85 + yp
LINE (cx, cy)-(cx2, cy2), 0
NEXT
LINE (xp, yp)-(x, y), 0
LINE (xp, yp)-(x2, y2), 0
LINE (xp, yp)-(x3, y3), 0
END IF
x = COS((Ang) * 3.14 / 180) * 50 + xp
y = SIN((Ang) * 3.14 / 180) * 50 + yp
x2 = COS((Ang2) * 3.14 / 180) * 40 + xp
y2 = SIN((Ang2) * 3.14 / 180) * 40 + yp
x3 = COS((Ang3) * 3.14 / 180) * 30 + xp
y3 = SIN((Ang3) * 3.14 / 180) * 30 + yp
LINE (xp, yp)-(x, y), 1
LINE (xp, yp)-(x2, y2), 2
LINE (xp, yp)-(x3, y3), 3
DEF SEG = 0: k = INP(&H60)
WHILE LEN(INKEY$): WEND
SELECT CASE k
CASE &H3B 'F1
CLS
PRINT " + = Rotate Clock"
PRINT " - = Rotate Clock"
PRINT " Insert = Change Number of Hours"
SLEEP 0
CLS
CASE &H4A '+
ad = ad + 1
CASE &H4E '-
ad = ad - 1
CASE &H52 'INSERT
'num = num - .1
CASE 1
EXIT DO
END SELECT
LOOP
STOP
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment