c64-basic/reaction-timer/reaction-timer.bas

24 lines
997 B
QBasic

10 PRINT CHR$(147):PRINT " REACTION TIMER":PRINT
20 PRINT "WAIT FOR NOW! THEN PRESS ANY KEY."
30 PRINT "PRESSING EARLY COSTS THE ROUND.":PRINT
40 PRINT "PRESS ANY KEY TO BEGIN"
50 GET A$:IF A$="" THEN 50
60 R=RND(-TI):S=0:FOR T=1 TO 5
70 PRINT CHR$(147):PRINT "ROUND";T;"OF 5":PRINT:PRINT "GET READY..."
80 W=INT(RND(1)*180)+120:FOR D=1 TO W
90 GET A$:IF A$<>"" THEN PRINT "TOO SOON!":RT=300:GOTO 140
100 NEXT:PRINT CHR$(147):PRINT:PRINT:PRINT " NOW!"
110 T0=TI
120 GET A$:IF A$="Q" THEN 210
130 IF A$="" THEN 120
135 RT=TI-T0:IF RT<0 THEN RT=RT+5184000
140 PRINT:PRINT "TIME:";INT(RT*100/60)/100;"SECONDS"
150 S=S+RT:FOR D=1 TO 700:NEXT:NEXT
160 AV=INT(S*100/300)/100:PRINT CHR$(147):PRINT "AVERAGE:";AV;"SECONDS":PRINT
170 IF AV<.3 THEN PRINT "LIGHTNING FAST!"
180 IF AV>=.3 AND AV<.6 THEN PRINT "SHARP REACTIONS!"
190 IF AV>=.6 THEN PRINT "KEEP PRACTICING!"
200 PRINT:PRINT "R=TRY AGAIN Q=QUIT"
210 GET A$:IF A$="R" THEN RUN
220 IF A$<>"Q" THEN 210
230 PRINT CHR$(147):END