Data update
This commit is contained in:
parent
8e4e15fa56
commit
72eb4943cb
1853 changed files with 35514 additions and 9441 deletions
45
Task/Draw-a-clock/Atari-BASIC/draw-a-clock.basic
Normal file
45
Task/Draw-a-clock/Atari-BASIC/draw-a-clock.basic
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
10 GRAPHICS 7:DEG
|
||||
20 PRINT "Please enter current time (HH,MM):"
|
||||
30 INPUT HH,MM:GRAPHICS 7+16
|
||||
40 FPS=60:REM SYSTEM CAN BE EITHER NTSC OR PAL
|
||||
50 IF PEEK(53268)=1 THEN FPS=50
|
||||
60 MINUTE=60*FPS
|
||||
70 XC=80:YC=40:R=35:RF=38
|
||||
80 GOSUB 800
|
||||
90 SETCOLOR 0,3,10:SETCOLOR 4,8,2:SETCOLOR 2,13,14
|
||||
100 POKE 19,0:POKE 20,0:SS=0:REM RESET FOR NEXT MINUTE
|
||||
200 COLOR 0:IF SS>0 THEN 230
|
||||
210 PLOT XC,YC:DRAWTO HX,HY
|
||||
220 PLOT XC,YC:DRAWTO MX,MY
|
||||
230 PLOT XC,YC:DRAWTO SX,SY
|
||||
240 GOSUB 500
|
||||
250 COLOR 2
|
||||
260 PLOT XC,YC:DRAWTO HX,HY
|
||||
270 PLOT XC,YC:DRAWTO MX,MY
|
||||
280 COLOR 1
|
||||
290 PLOT XC,YC:DRAWTO SX,SY
|
||||
300 JIFFIES=256*PEEK(19)+PEEK(20)
|
||||
310 NSEC=INT(JIFFIES/FPS):IF NSEC=60 THEN GOSUB 400:GOTO 100
|
||||
320 IF NSEC>SS THEN SS=NSEC:GOTO 2OO
|
||||
330 GOTO 300
|
||||
400 REM INCREASE MINUTE AND HOUR
|
||||
410 MM=MM+1
|
||||
420 IF MM=60 THEN MM=0:HH=HH+1
|
||||
430 IF HH=24 THEN HH=0
|
||||
440 REM DISABLE SCREEN SAVER/ATTRACT MODE
|
||||
450 POKE 77,0
|
||||
460 RETURN
|
||||
500 IF SS>0 THEN 550:REM CALCULATE X AND Y POSITIONS OF HANDS
|
||||
510 HX=XC+R*SIN(30*HH+MM/2)*0.5
|
||||
520 HY=YC-R*COS(30*HH+MM/2)*0.5
|
||||
530 MX=XC+R*SIN(6*MM)
|
||||
540 MY=YC-R*COS(6*MM)
|
||||
550 SX=XC+R*SIN(6*SS)
|
||||
560 SY=YC-R*COS(6*SS)
|
||||
570 RETURN
|
||||
800 REM DRAW CLOCK FACE
|
||||
810 COLOR 3
|
||||
820 FOR I=30 TO 360 STEP 30
|
||||
830 PLOT XC+RF*SIN(I),YC-RF*COS(I)
|
||||
840 NEXT I
|
||||
850 RETURN
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
proc draw hour min sec . .
|
||||
# dial
|
||||
color 333
|
||||
move 50 50
|
||||
circle 45
|
||||
|
|
@ -16,18 +15,15 @@ proc draw hour min sec . .
|
|||
move 50 + sin a * 40 50 + cos a * 40
|
||||
circle 1
|
||||
.
|
||||
# hour
|
||||
linewidth 2
|
||||
color 000
|
||||
a = (hour * 60 + min) / 2
|
||||
move 50 50
|
||||
line 50 + sin a * 32 50 + cos a * 32
|
||||
# min
|
||||
linewidth 1.5
|
||||
a = (sec + min * 60) / 10
|
||||
move 50 50
|
||||
line 50 + sin a * 40 50 + cos a * 40
|
||||
# sec
|
||||
linewidth 1
|
||||
color 700
|
||||
a = sec * 6
|
||||
|
|
@ -41,11 +37,9 @@ on timer
|
|||
sec = number substr h$ 18 2
|
||||
min = number substr h$ 15 2
|
||||
hour = number substr h$ 12 2
|
||||
if hour > 12
|
||||
hour -= 12
|
||||
.
|
||||
if hour > 12 : hour -= 12
|
||||
draw hour min sec
|
||||
.
|
||||
timer 0.1
|
||||
timer 0.05
|
||||
.
|
||||
timer 0
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue