Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_31.ADF » G/LETTER
G/LETTER
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_31.ADF |
Filename: | G/LETTER |
Read OK: | ✔ |
File size: | 0752 bytes |
Load address: | FFFF0E00 |
Exec address: | FFFF802B |
File contents
10MODE1 20?&25A=&32 30PROCINTRO 40PROCGAME2 50RUN 60END 70DEFPROCINTRO 80PRINTTAB(5,0);"***CATCH THE RUNNER ***" 90PRINTTAB(5,2)"Chase the RUNNING letter across" 100PRINTTAB(5,4)"the screen by pressing the " 110PRINTTAB(5,6)"appropriate key." 120PRINTTAB(5,8)"The letter changes each time" 130PRINTTAB(5,10)"and every wrong key press" 140PRINTTAB(5,12)"looses a point" 150PRINTTAB(5,14)"PRESS SPACE":A=GET 155a=40 160ENDPROC 170 180DEFPROCGAME2 190RESTORE1230 200READLL$ 210PROCINITI 220FORround=1TO20 230PRINTTAB(36,round); 240FORJ=1TO40 250PROCMOVE 260PROCCHASE 270PROCFORWARD 280IFHIT=20THENJ=41:NEXTJ:PROCDONE:VDU23;11,255;0;0;0;0:ENDPROC 290NEXTJ 300NEXTround 310VDU23;11,255;0;0;0;0 320ENDPROC 330 340DEFPROCMOVE 350PROCDELAY(speed) 360X=X+DX 370IFX=30ORX=0THENPRINTTAB(X,y);" ":y=y+1:DX=-DX:PROCBLEEP 400IFy=20THENy=4:PROCBLEEP 410PRINTTAB(X,y);SI$ 420ENDPROC 430 440DEFPROCCHANG 450CHAR$=CHR$(48+RND(42)) 460IFINSTR(LL$,CHAR$)=0THEN450 470SI$=" "+CHAR$+" " 480ENDPROC 490 500DEFPROCDELAY(DT) 510FORD=1TODT:NEXTD 520ENDPROC 530 540DEFPROCBLEEP 550LOCALI 560FORI=60TO90 570SOUND17,-15,I,2 580NEXTI 590ENDPROC 600 610DEFPROCZAP 620LOCALI 630FORI=1TO3 640SOUND0,-15,100,1:SOUND0,-15,2,1:SOUND0,-15,200,1 650NEXTI 660ENDPROC 670 680DEFPROCINITI 690CLS 700HIT=0 710PROCCHANG 720PRINTTAB(5,22)"Press the same key as the runner" 730PRINTTAB(5,1)"SCORE "; 750X=11:y=4:DX=1:X2=4:y2=4:DX2=1 760speed=a 770MAXTIME=9900:BONUS%=0 780AST$=" <-> " 790TIME=0 800ENDPROC 810 820DEFPROCCHASE 830PROCDELAY(speed) 840X2=X2+DX2 860IFX2=0ORX2=30THENPRINTTAB(X2,y2);" ":y2=y2+1:DX2=-DX2 870IFy2=20THENy2=4 880PRINTTAB(X2,y2);AST$ 890ENDPROC 900 910DEFPROCFORWARD 920*FX202,32 930INSTR$=INKEY$(0) 940*FX15,0 950IFINSTR$=CHAR$ANDy2=yTHENPROCCATCH:ENDPROC 960IFINSTR$<>CHAR$ANDINSTR$<>""THENPROCBACK 970ENDPROC 980 990DEFPROCCATCH 1000FORDD=(X2+DX2)TO(X2+DX2*7)STEPDX2:PRINTTAB(DD,y2);AST$:NEXT 1010HIT=HIT+1:PROCZAP:PROCCHANG 1020PRINTTAB(25,1);:PRINT;HIT;" " 1030ENDPROC 1040 1050DEFPROCBACK 1060HIT=HIT-1 1070IFHIT<0THENHIT=0 1080PRINTTAB(25,1);HIT;" " 1090ENDPROC 1100 1110DEFPROCDONE 1120BONUS%=(MAXTIME-TIME)DIV10 1130IFBONUS%<=0THENBONUS%=0:ENDPROC 1135IF a=0 PRINT"GAME OVER":PROCDELAY(5000):ENDPROC 1140PRINTTAB(4,20)"So you did not too bad that time." 1150PRINTTAB(4,22)"Now do it again, but faster." 1160PROCDELAY(5000):a=a-10:PROCGAME2 1170ENDPROC 1230DATA "1234567890QWERTYUIOPASDFGHJKLZXCVBNM"
�1 ?&25A=&32 �INTRO ( �GAME2 2� <� F��INTRO P$�5,0);"***CATCH THE RUNNER ***" Z+�5,2)"Chase the RUNNING letter across" d'�5,4)"the screen by pressing the " n�5,6)"appropriate key." x(�5,8)"The letter changes each time" �&�5,10)"and every wrong key press" ��5,12)"looses a point" ��5,14)"PRESS SPACE":A=� �a=40 �� � ���GAME2 � ��dND ��LL$ � �INITI ��round=1�20 ��36,round); ��J=1�40 � �MOVE �CHASE �FORWARD .�HIT=20�J=41:�J:�DONE:�23;11,255;0;0;0;0:� "�J , �round 6�23;11,255;0;0;0;0 @� J T ��MOVE ^�DELAY(speed) h X=X+DX r0�X=30�X=0��X,y);" ":y=y+1:DX=-DX:�BLEEP ��y=20�y=4:�BLEEP ��X,y);SI$ �� � ���CHANG �CHAR$=�(48+�(42)) ��LL$,CHAR$)=0��dBA �SI$=" "+CHAR$+" " �� � ���DELAY(DT) ��D=1�DT:�D � ��BLEEP &�I 0�I=60�90 :�17,-15,I,2 D�I N� X b ��ZAP l�I v �I=1�3 �(�0,-15,100,1:�0,-15,2,1:�0,-15,200,1 ��I �� � ���INITI �� � HIT=0 � �CHANG �-�5,22)"Press the same key as the runner" ��5,1)"SCORE "; �!X=11:y=4:DX=1:X2=4:y2=4:DX2=1 �speed=a MAXTIME=9900:BONUS%=0 AST$=" <-> " �=0 � * 4��CHASE >�DELAY(speed) H X2=X2+DX2 \1�X2=0�X2=30��X2,y2);" ":y2=y2+1:DX2=-DX2 f�y2=20�y2=4 p�X2,y2);AST$ z� � � ��FORWARD � *FX202,32 �INSTR$=�(0) �*FX15,0 ��INSTR$=CHAR$�y2=y��CATCH:� �#�INSTR$<>CHAR$�INSTR$<>""��BACK �� � ���CATCH �/�DD=(X2+DX2)�(X2+DX2*7)�DX2:�DD,y2);AST$:� �HIT=HIT+1:�ZAP:�CHANG ��25,1);:�;HIT;" " � ��BACK $ HIT=HIT-1 .�HIT<0�HIT=0 8�25,1);HIT;" " B� L V ��DONE `BONUS%=(MAXTIME-�)�10 j�BONUS%<=0�BONUS%=0:� o%� a=0 �"GAME OVER":�DELAY(5000):� t.�4,20)"So you did not too bad that time." ~)�4,22)"Now do it again, but faster." ��DELAY(5000):a=a-10:�GAME2 �� �,� "1234567890QWERTYUIOPASDFGHJKLZXCVBNM" �
00000000 0d 00 0a 06 eb 31 0d 00 14 0d 3f 26 32 35 41 3d |.....1....?&25A=| 00000010 26 33 32 0d 00 1e 0a f2 49 4e 54 52 4f 0d 00 28 |&32.....INTRO..(| 00000020 0a f2 47 41 4d 45 32 0d 00 32 05 f9 0d 00 3c 05 |..GAME2..2....<.| 00000030 e0 0d 00 46 0b dd f2 49 4e 54 52 4f 0d 00 50 24 |...F...INTRO..P$| 00000040 f1 8a 35 2c 30 29 3b 22 2a 2a 2a 43 41 54 43 48 |..5,0);"***CATCH| 00000050 20 54 48 45 20 52 55 4e 4e 45 52 20 2a 2a 2a 22 | THE RUNNER ***"| 00000060 0d 00 5a 2b f1 8a 35 2c 32 29 22 43 68 61 73 65 |..Z+..5,2)"Chase| 00000070 20 74 68 65 20 52 55 4e 4e 49 4e 47 20 6c 65 74 | the RUNNING let| 00000080 74 65 72 20 61 63 72 6f 73 73 22 0d 00 64 27 f1 |ter across"..d'.| 00000090 8a 35 2c 34 29 22 74 68 65 20 73 63 72 65 65 6e |.5,4)"the screen| 000000a0 20 62 79 20 70 72 65 73 73 69 6e 67 20 74 68 65 | by pressing the| 000000b0 20 22 0d 00 6e 1c f1 8a 35 2c 36 29 22 61 70 70 | "..n...5,6)"app| 000000c0 72 6f 70 72 69 61 74 65 20 6b 65 79 2e 22 0d 00 |ropriate key."..| 000000d0 78 28 f1 8a 35 2c 38 29 22 54 68 65 20 6c 65 74 |x(..5,8)"The let| 000000e0 74 65 72 20 63 68 61 6e 67 65 73 20 65 61 63 68 |ter changes each| 000000f0 20 74 69 6d 65 22 0d 00 82 26 f1 8a 35 2c 31 30 | time"...&..5,10| 00000100 29 22 61 6e 64 20 65 76 65 72 79 20 77 72 6f 6e |)"and every wron| 00000110 67 20 6b 65 79 20 70 72 65 73 73 22 0d 00 8c 1b |g key press"....| 00000120 f1 8a 35 2c 31 32 29 22 6c 6f 6f 73 65 73 20 61 |..5,12)"looses a| 00000130 20 70 6f 69 6e 74 22 0d 00 96 1c f1 8a 35 2c 31 | point"......5,1| 00000140 34 29 22 50 52 45 53 53 20 53 50 41 43 45 22 3a |4)"PRESS SPACE":| 00000150 41 3d a5 0d 00 9b 08 61 3d 34 30 0d 00 a0 05 e1 |A=.....a=40.....| 00000160 0d 00 aa 05 20 0d 00 b4 0b dd f2 47 41 4d 45 32 |.... ......GAME2| 00000170 0d 00 be 09 f7 8d 64 4e 44 0d 00 c8 08 f3 4c 4c |......dND.....LL| 00000180 24 0d 00 d2 0a f2 49 4e 49 54 49 0d 00 dc 0f e3 |$.....INITI.....| 00000190 72 6f 75 6e 64 3d 31 b8 32 30 0d 00 e6 10 f1 8a |round=1.20......| 000001a0 33 36 2c 72 6f 75 6e 64 29 3b 0d 00 f0 0b e3 4a |36,round);.....J| 000001b0 3d 31 b8 34 30 0d 00 fa 09 f2 4d 4f 56 45 0d 01 |=1.40.....MOVE..| 000001c0 04 0a f2 43 48 41 53 45 0d 01 0e 0c f2 46 4f 52 |...CHASE.....FOR| 000001d0 57 41 52 44 0d 01 18 2e e7 48 49 54 3d 32 30 8c |WARD.....HIT=20.| 000001e0 4a 3d 34 31 3a ed 4a 3a f2 44 4f 4e 45 3a ef 32 |J=41:.J:.DONE:.2| 000001f0 33 3b 31 31 2c 32 35 35 3b 30 3b 30 3b 30 3b 30 |3;11,255;0;0;0;0| 00000200 3a e1 0d 01 22 06 ed 4a 0d 01 2c 0a ed 72 6f 75 |:..."..J..,..rou| 00000210 6e 64 0d 01 36 16 ef 32 33 3b 31 31 2c 32 35 35 |nd..6..23;11,255| 00000220 3b 30 3b 30 3b 30 3b 30 0d 01 40 05 e1 0d 01 4a |;0;0;0;0..@....J| 00000230 05 20 0d 01 54 0a dd f2 4d 4f 56 45 0d 01 5e 11 |. ..T...MOVE..^.| 00000240 f2 44 45 4c 41 59 28 73 70 65 65 64 29 0d 01 68 |.DELAY(speed)..h| 00000250 0a 58 3d 58 2b 44 58 0d 01 72 30 e7 58 3d 33 30 |.X=X+DX..r0.X=30| 00000260 84 58 3d 30 8c f1 8a 58 2c 79 29 3b 22 20 20 20 |.X=0...X,y);" | 00000270 20 20 22 3a 79 3d 79 2b 31 3a 44 58 3d 2d 44 58 | ":y=y+1:DX=-DX| 00000280 3a f2 42 4c 45 45 50 0d 01 90 14 e7 79 3d 32 30 |:.BLEEP.....y=20| 00000290 8c 79 3d 34 3a f2 42 4c 45 45 50 0d 01 9a 0e f1 |.y=4:.BLEEP.....| 000002a0 8a 58 2c 79 29 3b 53 49 24 0d 01 a4 05 e1 0d 01 |.X,y);SI$.......| 000002b0 ae 05 20 0d 01 b8 0b dd f2 43 48 41 4e 47 0d 01 |.. ......CHANG..| 000002c0 c2 15 43 48 41 52 24 3d bd 28 34 38 2b b3 28 34 |..CHAR$=.(48+.(4| 000002d0 32 29 29 0d 01 cc 17 e7 a7 4c 4c 24 2c 43 48 41 |2))......LL$,CHA| 000002e0 52 24 29 3d 30 8c 8d 64 42 41 0d 01 d6 15 53 49 |R$)=0..dBA....SI| 000002f0 24 3d 22 20 22 2b 43 48 41 52 24 2b 22 20 22 0d |$=" "+CHAR$+" ".| 00000300 01 e0 05 e1 0d 01 ea 05 20 0d 01 f4 0f dd f2 44 |........ ......D| 00000310 45 4c 41 59 28 44 54 29 0d 01 fe 0e e3 44 3d 31 |ELAY(DT).....D=1| 00000320 b8 44 54 3a ed 44 0d 02 08 05 e1 0d 02 12 05 20 |.DT:.D......... | 00000330 0d 02 1c 0b dd f2 42 4c 45 45 50 0d 02 26 06 ea |......BLEEP..&..| 00000340 49 0d 02 30 0c e3 49 3d 36 30 b8 39 30 0d 02 3a |I..0..I=60.90..:| 00000350 0f d4 31 37 2c 2d 31 35 2c 49 2c 32 0d 02 44 06 |..17,-15,I,2..D.| 00000360 ed 49 0d 02 4e 05 e1 0d 02 58 05 20 0d 02 62 09 |.I..N....X. ..b.| 00000370 dd f2 5a 41 50 0d 02 6c 06 ea 49 0d 02 76 0a e3 |..ZAP..l..I..v..| 00000380 49 3d 31 b8 33 0d 02 80 28 d4 30 2c 2d 31 35 2c |I=1.3...(.0,-15,| 00000390 31 30 30 2c 31 3a d4 30 2c 2d 31 35 2c 32 2c 31 |100,1:.0,-15,2,1| 000003a0 3a d4 30 2c 2d 31 35 2c 32 30 30 2c 31 0d 02 8a |:.0,-15,200,1...| 000003b0 06 ed 49 0d 02 94 05 e1 0d 02 9e 05 20 0d 02 a8 |..I......... ...| 000003c0 0b dd f2 49 4e 49 54 49 0d 02 b2 05 db 0d 02 bc |...INITI........| 000003d0 09 48 49 54 3d 30 0d 02 c6 0a f2 43 48 41 4e 47 |.HIT=0.....CHANG| 000003e0 0d 02 d0 2d f1 8a 35 2c 32 32 29 22 50 72 65 73 |...-..5,22)"Pres| 000003f0 73 20 74 68 65 20 73 61 6d 65 20 6b 65 79 20 61 |s the same key a| 00000400 73 20 74 68 65 20 72 75 6e 6e 65 72 22 0d 02 da |s the runner"...| 00000410 1b f1 8a 35 2c 31 29 22 53 43 4f 52 45 20 20 20 |...5,1)"SCORE | 00000420 20 20 20 20 20 20 22 3b 0d 02 ee 21 58 3d 31 31 | ";...!X=11| 00000430 3a 79 3d 34 3a 44 58 3d 31 3a 58 32 3d 34 3a 79 |:y=4:DX=1:X2=4:y| 00000440 32 3d 34 3a 44 58 32 3d 31 0d 02 f8 0b 73 70 65 |2=4:DX2=1....spe| 00000450 65 64 3d 61 0d 03 02 19 4d 41 58 54 49 4d 45 3d |ed=a....MAXTIME=| 00000460 39 39 30 30 3a 42 4f 4e 55 53 25 3d 30 0d 03 0c |9900:BONUS%=0...| 00000470 10 41 53 54 24 3d 22 20 3c 2d 3e 20 22 0d 03 16 |.AST$=" <-> "...| 00000480 07 d1 3d 30 0d 03 20 05 e1 0d 03 2a 05 20 0d 03 |..=0.. ....*. ..| 00000490 34 0b dd f2 43 48 41 53 45 0d 03 3e 11 f2 44 45 |4...CHASE..>..DE| 000004a0 4c 41 59 28 73 70 65 65 64 29 0d 03 48 0d 58 32 |LAY(speed)..H.X2| 000004b0 3d 58 32 2b 44 58 32 0d 03 5c 31 e7 58 32 3d 30 |=X2+DX2..\1.X2=0| 000004c0 84 58 32 3d 33 30 8c f1 8a 58 32 2c 79 32 29 3b |.X2=30...X2,y2);| 000004d0 22 20 20 20 20 20 22 3a 79 32 3d 79 32 2b 31 3a |" ":y2=y2+1:| 000004e0 44 58 32 3d 2d 44 58 32 0d 03 66 0f e7 79 32 3d |DX2=-DX2..f..y2=| 000004f0 32 30 8c 79 32 3d 34 0d 03 70 11 f1 8a 58 32 2c |20.y2=4..p...X2,| 00000500 79 32 29 3b 41 53 54 24 0d 03 7a 05 e1 0d 03 84 |y2);AST$..z.....| 00000510 05 20 0d 03 8e 0d dd f2 46 4f 52 57 41 52 44 0d |. ......FORWARD.| 00000520 03 98 0d 2a 46 58 32 30 32 2c 33 32 0d 03 a2 0f |...*FX202,32....| 00000530 49 4e 53 54 52 24 3d bf 28 30 29 0d 03 ac 0b 2a |INSTR$=.(0)....*| 00000540 46 58 31 35 2c 30 0d 03 b6 1f e7 49 4e 53 54 52 |FX15,0.....INSTR| 00000550 24 3d 43 48 41 52 24 80 79 32 3d 79 8c f2 43 41 |$=CHAR$.y2=y..CA| 00000560 54 43 48 3a e1 0d 03 c0 23 e7 49 4e 53 54 52 24 |TCH:....#.INSTR$| 00000570 3c 3e 43 48 41 52 24 80 49 4e 53 54 52 24 3c 3e |<>CHAR$.INSTR$<>| 00000580 22 22 8c f2 42 41 43 4b 0d 03 ca 05 e1 0d 03 d4 |""..BACK........| 00000590 05 20 0d 03 de 0b dd f2 43 41 54 43 48 0d 03 e8 |. ......CATCH...| 000005a0 2f e3 44 44 3d 28 58 32 2b 44 58 32 29 b8 28 58 |/.DD=(X2+DX2).(X| 000005b0 32 2b 44 58 32 2a 37 29 88 44 58 32 3a f1 8a 44 |2+DX2*7).DX2:..D| 000005c0 44 2c 79 32 29 3b 41 53 54 24 3a ed 0d 03 f2 19 |D,y2);AST$:.....| 000005d0 48 49 54 3d 48 49 54 2b 31 3a f2 5a 41 50 3a f2 |HIT=HIT+1:.ZAP:.| 000005e0 43 48 41 4e 47 0d 03 fc 16 f1 8a 32 35 2c 31 29 |CHANG......25,1)| 000005f0 3b 3a f1 3b 48 49 54 3b 22 20 22 0d 04 06 05 e1 |;:.;HIT;" ".....| 00000600 0d 04 10 05 20 0d 04 1a 0a dd f2 42 41 43 4b 0d |.... ......BACK.| 00000610 04 24 0d 48 49 54 3d 48 49 54 2d 31 0d 04 2e 10 |.$.HIT=HIT-1....| 00000620 e7 48 49 54 3c 30 8c 48 49 54 3d 30 0d 04 38 13 |.HIT<0.HIT=0..8.| 00000630 f1 8a 32 35 2c 31 29 3b 48 49 54 3b 22 20 22 0d |..25,1);HIT;" ".| 00000640 04 42 05 e1 0d 04 4c 05 20 0d 04 56 0a dd f2 44 |.B....L. ..V...D| 00000650 4f 4e 45 0d 04 60 19 42 4f 4e 55 53 25 3d 28 4d |ONE..`.BONUS%=(M| 00000660 41 58 54 49 4d 45 2d 91 29 81 31 30 0d 04 6a 19 |AXTIME-.).10..j.| 00000670 e7 42 4f 4e 55 53 25 3c 3d 30 8c 42 4f 4e 55 53 |.BONUS%<=0.BONUS| 00000680 25 3d 30 3a e1 0d 04 6f 25 e7 20 61 3d 30 20 f1 |%=0:...o%. a=0 .| 00000690 22 47 41 4d 45 20 4f 56 45 52 22 3a f2 44 45 4c |"GAME OVER":.DEL| 000006a0 41 59 28 35 30 30 30 29 3a e1 0d 04 74 2e f1 8a |AY(5000):...t...| 000006b0 34 2c 32 30 29 22 53 6f 20 79 6f 75 20 64 69 64 |4,20)"So you did| 000006c0 20 6e 6f 74 20 74 6f 6f 20 62 61 64 20 74 68 61 | not too bad tha| 000006d0 74 20 74 69 6d 65 2e 22 0d 04 7e 29 f1 8a 34 2c |t time."..~)..4,| 000006e0 32 32 29 22 4e 6f 77 20 64 6f 20 69 74 20 61 67 |22)"Now do it ag| 000006f0 61 69 6e 2c 20 62 75 74 20 66 61 73 74 65 72 2e |ain, but faster.| 00000700 22 0d 04 88 1e f2 44 45 4c 41 59 28 35 30 30 30 |".....DELAY(5000| 00000710 29 3a 61 3d 61 2d 31 30 3a f2 47 41 4d 45 32 0d |):a=a-10:.GAME2.| 00000720 04 92 05 e1 0d 04 ce 2c dc 20 22 31 32 33 34 35 |.......,. "12345| 00000730 36 37 38 39 30 51 57 45 52 54 59 55 49 4f 50 41 |67890QWERTYUIOPA| 00000740 53 44 46 47 48 4a 4b 4c 5a 58 43 56 42 4e 4d 22 |SDFGHJKLZXCVBNM"| 00000750 0d ff |..| 00000752