REACTION 1K (V1.1) by Anders Persson 2002 (https://www.boray.se ---) For any VIC20 (unexpanded, expanded, PAL or NTSC). It’s 100% Basic and written on a real VIC20. Written for the Minigame Compo in 2002 (https://www.ffd2.com/minigame/). File size: 1022 bytes. This game (or program) measures your reactivity. You can compete with yourself or with your friends to see who would fit to be a gunfighter or test pilot (or a 90-year-old for that matter. ;-) Or you could use it to check if your reactivity gets worse when you have consumed some alcohol etc. The program provides three different tests that appears randomly, 1 - Visible: The screen goes from black to white. 2 - Audible: A sound starts to play. 3 - Visible and Audible together. As soon as one of these three appears, you should simply press fire on the joystick as fast as you can. The results are represented separately for each type of test, with one last value for the last test and one average value for each test type. All figures are represented in seconds, so for example .23333 means roughly 23/100 of a second. It’s quite interesting to see if you react faster to one type of test compared to another. After a while, the computer starts to give you judgements of your ability. It can for example say "Normal", "Fast" or "Drunk?". If you are really fast, it says stuff like "Android" or "Superman". There are 15 of these levels. What level to be displayed depends on the average of the three averages of the different tests. This value is also displayed. These levels are not scientific in any way, but just for fun. Here are now all the levels: 0.00 to 0.11999 Time-Warp Speed 0.12 to 0.12999 Inside Warp Bubble 0.13 to 0.13999 Lightning 0.14 to 0.14999 Bullet 0.15 to 0.15999 Android 0.16 to 0.16999 Superman 0.17 to 0.17999 Gunfighter 0.18 to 0.18999 Test Pilot 0.19 to 0.19999 Fast 0.20 to 0.20999 Normal 0.21 to 0.21999 Tired 0.22 to 0.22999 Drunk? 0.23 to 0.23999 90-year-old 0.24 to 0.24999 Retard 0.25 to 9999999 Deaf and Blind There is as you can see, 1/100 of a second between every level. When I released V1.0 of this program I had reached the "Gunfighter" judgement only once. Now I have even reached "Lightning" twice, and "Bullet" many times. So it's clear that you can train to improve your values. (Read futher down in the V1.1 upgrade notice). Note: If you press fire before the next test has even started, you will get one second penalty on all three tests. This will probably degrade you to "Deaf and blind". The testing goes on as long as you want... Then just press run/stop and restart the program for the next person. Emulator warning: I tried this program on VICE, and I always got the judgement "Deaf and blind". It’s probably a bit slow on handlig input as well as output, especially audio output. So the figures won’t be right at all on VICE, not on my Pentium200 anyway... So a real VIC20 is very much prefered!!! It's probably a must for exact values!!! -- The V1.1 Upgrade includes: * Bugfix: Due to an error in the VIC20 programmers reference manual (by Commodore), the same random sequence was repeated every time you restarted the computer. Here is a quote from the manual about the RND() function: "The sequence is seeded at random on power-up." This is not true. It gets the same seed every time you power-up or reset. * The keyboard support was removed to gain more space. Programs like these are not very good for the keyboard anyway. ;-) * As I several times reached the "Android" level (the highest level in V1.0), I thought it was a good idea to add some new levels above it. I didn't want to alter the old levels because it seems you can train to improve your reactivity. I have gone through all the levels from "Normal" to "Bullet" and twice I even reached the level "Lightning". So I thought it would be sad if someone trying this program for the first time would reach for example "Deaf and blind" the first time they tried. That's why I kept the old levels (and added more levels above them) instead of recalibrating the old ones. -- DON’T MISS my other VIC20 programs! You will find them at: https://home.worldonline.se/boray/datormuseum/index.html including my best game "Tribbles" for 8K VIC20 - A mix between Lemmings and Pinball!!! I also have one more VIC20 game in this 1K minigame compo: "Omegan Trial". Well, have fun! Kind Regards, Anders Persson https://www.boray.se
-- Program listing: (Copyright (C) 2002 by Anders Persson) 0 b$(1)="visible:":b$(2)="audible:":b$(3)="both:":t= RND(-ti) 1 p=37139: POKE p, PEEK(p) AND 195:f=36879:l=36875: POKE f-1,15: POKE f,8 2 DIM a$(14): FOR t=0 TO 14: READ a$(t): NEXT :o=37137:k=32 5 PRINT "reaction v1.1": PRINT "by anders persson 2002https://www.boray.se" 6 FOR t=1 TO 3: PRINT "";b$(t): PRINT "last:";z(t): PRINT " avg:";x(t): NEXT 7 IF NOT PEEK(o) AND k THEN 7 8 FOR s=1 TO 100: NEXT : IF NOT PEEK(o) AND k THEN 7 9 IF x(1)<>0 AND x(2)<>0 AND x(3)<>0 THEN 25 10 PRINT "when you see a change or hear a sound, pressfire as fast as you can!"; 11 FOR r=1 TO RND(1)*4000+300 12 IF NOT PEEK(o) AND k THEN z(3)=1:z(1)=1:z(2)=1: PRINT "not yet! penalty!": GOTO 22 13 NEXT 14 s= INT( RND(1)*3)+1 15 IF s=1 OR s=3 THEN POKE f,25 16 IF s=2 OR s=3 THEN POKE l,210 17 g=ti 18 IF PEEK(o) AND k THEN 18 19 y=ti 20 z(s)=(y-g)/60: POKE l,0: POKE f,8 21 t(s)=t(s)+1:x(s)=((x(s)*(t(s)-1))+z(s))/t(s): GOTO 5 22 FOR s=1 TO 3:t(s)=t(s)+1:x(s)=((x(s)*(t(s)-1))+z(s))/t(s): NEXT : GOTO 6 23 DATA time-warp speed,inside warp bubble,lightning,bullet,android,superman 24 DATA gunfighter,test pilot,fast,normal,tired,drunk?,90 year old,retard,deaf and blind 25 e=(x(1)+x(2)+x(3))/3: PRINT "your status:": PRINT e:e=e*100-11: IF e<0 THEN e=0 26 IF e>14 THEN e=14 27 PRINT a$(e): GOTO 11 --------- Was that all? ;-)