Home » Personal collection » Acorn tapes » Electron_User » Electron_User_tape02a_acorn_eu_1989_august.wav » CARDS

CARDS

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 tapes » Electron_User » Electron_User_tape02a_acorn_eu_1989_august.wav
Filename: CARDS
Read OK:
File size: 06DE bytes
Load address: 2000
Exec address: 1900
Duplicates

There are 2 duplicate copies of this file in the archive:

File contents
   10REM Bingo Cards
   20REM By Philip Ord
   30REM (c) Electron User
   40MODE4
   50DIM num(3)
   60t%=RND(-TIME)
   70VDU5:GCOL0,1
   80PROCgrid(4,1020,80,1020)
   90PROCgrid(664,1020,740,1020)
  100PROCgrid(4,760,80,760)
  110PROCgrid(664,760,740,760)
  120MOVE0,528:PRINTSTRING$(40,"-")
  130PROCgrid(4,460,80,460)
  140PROCgrid(664,460,740,460)
  150PROCgrid(4,200,80,200)
  160PROCgrid(664,200,740,200)
  170PROCprint(8,1000)
  180PROCprint(668,1000)
  190PROCprint(8,740)
  200PROCprint(668,740)
  210PROCprint(8,440)
  220PROCprint(668,440)
  230PROCprint(8,180)
  240PROCprint(668,180)
  250PROCdump
  260END
  270 
  280DEFPROCgrid(X%,Y%,x%,y%)
  290MOVEX%,Y%:DRAWX%+608,Y%:DRAWX%+608,Y%-192:DRAWX%,Y%-192:DRAWX%,Y%
  300FORJ=1 TO 8
  310MOVEx%,y%:DRAWx%,y%-192:x%=x%+76
  320NEXT
  330FORY=1 TO 2
  340MOVEX%,Y%-64:DRAWX%+608,Y%-64:Y%=Y%-64
  350NEXT
  360ENDPROC
  370DEFPROCprint(X%,Y%)
  380K=0
  390FORJ=1 TO 8
  400FORI=1 TO 3
  410IF J=1 num(I)=K+RND(9) ELSE IF J=8 num(I)=K+RND(10) ELSE num(I)=(K-1)+RND(10)
  420NEXT
  430IFnum(2)=num(1) GOTO400
  440IFnum(3)=num(2) OR num(3)=num(1) GOTO400
  450FORS=1 TO 3
  460FORI=2 TO 1 STEP-1
  470IF num(I)>num(I+1) PROCswap
  480NEXT
  490NEXT
  500ra%=RND(3):rb%=RND(2)+1
  510IF J=1 MOVEX%+16,Y%:PRINT;num(1):MOVEX%+16,Y%-128:PRINT;num(rb%)
  520IF J=2 MOVEX%+76,Y%-64:PRINT;num(ra%)
  530IF J=3 MOVEX%+152,Y%-64:PRINT;num(1):MOVEX%+152,Y%-128:PRINT;num(rb%)
  540IF J=4 MOVEX%+228,Y%:PRINT;num(1):MOVEX%+228,Y%-128:PRINT;num(rb%)
  550IF J=5 MOVEX%+304,Y%:PRINT;num(1):MOVEX%+304,Y%-64:PRINT;num(2):MOVEX%+304,Y%-128:PRINT;num(3)
  560IF J=6 MOVEX%+380,Y%-64:PRINT;num(ra%)
  570IF J=7 MOVEX%+456,Y%:PRINT;num(1):MOVEX%+456,Y%-128:PRINT;num(rb%)
  580IF J=8 MOVEX%+532,Y%:PRINT;num(1):MOVEX%+532,Y%-64:PRINT;num(rb%)
  590K=K+10
  600NEXTJ
  610ENDPROC
  620DEFPROCswap
  630num=num(I):num(I)=num(I+1):num(I+1)=num
  640ENDPROC
  650 
  660DEF PROCdump
  670*FX6,255
  680*FX3,10
  690VDU 27,64:REM Reset printer
  700VDU 27,65,4:REM 4/72in line spacing
  710FOR Y%=1020 TO 0 STEP -8
  720VDU 27,75,64,1:REM Bit image mode
  730FOR X%=0 TO 1276 STEP 4
  740B%=8 : P%=0
  750FOR I%=0 TO 6 STEP 2
  760IF POINT(X%,Y%-I%) P%=P%+B%
  770B%=B% DIV 2
  780NEXT
  790VDU P%
  800NEXT
  810VDU 10
  820NEXT
  830VDU 27,64:REM Reset printer
  840*FX3
  850ENDPROC

� Bingo Cards
� By Philip Ord
� (c) Electron User
(�4
2� num(3)
<t%=�(-�)
F�5:�0,1
P�grid(4,1020,80,1020)
Z�grid(664,1020,740,1020)
d�grid(4,760,80,760)
n�grid(664,760,740,760)
x�0,528:��40,"-")
��grid(4,460,80,460)
��grid(664,460,740,460)
��grid(4,200,80,200)
��grid(664,200,740,200)
��print(8,1000)
��print(668,1000)
��print(8,740)
��print(668,740)
��print(8,440)
��print(668,440)
��print(8,180)
��print(668,180)
�	�dump
�
 
��grid(X%,Y%,x%,y%)
"6�X%,Y%:�X%+608,Y%:�X%+608,Y%-192:�X%,Y%-192:�X%,Y%
,�J=1 � 8
6�x%,y%:�x%,y%-192:x%=x%+76
@�
J�Y=1 � 2
T$�X%,Y%-64:�X%+608,Y%-64:Y%=Y%-64
^�
h�
r��print(X%,Y%)
|K=0
��J=1 � 8
��I=1 � 3
�C� J=1 num(I)=K+�(9) � � J=8 num(I)=K+�(10) � num(I)=(K-1)+�(10)
��
��num(2)=num(1) �tPA
�(�num(3)=num(2) � num(3)=num(1) �tPA
��S=1 � 3
��I=2 � 1 �-1
�� num(I)>num(I+1) �swap
��
��
�ra%=�(3):rb%=�(2)+1
�5� J=1 �X%+16,Y%:�;num(1):�X%+16,Y%-128:�;num(rb%)
!� J=2 �X%+76,Y%-64:�;num(ra%)
:� J=3 �X%+152,Y%-64:�;num(1):�X%+152,Y%-128:�;num(rb%)
7� J=4 �X%+228,Y%:�;num(1):�X%+228,Y%-128:�;num(rb%)
&L� J=5 �X%+304,Y%:�;num(1):�X%+304,Y%-64:�;num(2):�X%+304,Y%-128:�;num(3)
0"� J=6 �X%+380,Y%-64:�;num(ra%)
:7� J=7 �X%+456,Y%:�;num(1):�X%+456,Y%-128:�;num(rb%)
D6� J=8 �X%+532,Y%:�;num(1):�X%+532,Y%-64:�;num(rb%)
N
K=K+10
X�J
b�
l
��swap
v+num=num(I):num(I)=num(I+1):num(I+1)=num
��
� 
�� �dump
�*FX6,255
�*FX3,10
�� 27,64:� Reset printer
�#� 27,65,4:� 4/72in line spacing
�� Y%=1020 � 0 � -8
�!� 27,75,64,1:� Bit image mode
�� X%=0 � 1276 � 4
�B%=8 : P%=0
�� I%=0 � 6 � 2
�� �X%,Y%-I%) P%=P%+B%

B%=B% � 2
�
� P%
 �
*� 10
4�
>� 27,64:� Reset printer
H*FX3
R�
�
00000000  0d 00 0a 11 f4 20 42 69  6e 67 6f 20 43 61 72 64  |..... Bingo Card|
00000010  73 0d 00 14 13 f4 20 42  79 20 50 68 69 6c 69 70  |s..... By Philip|
00000020  20 4f 72 64 0d 00 1e 17  f4 20 28 63 29 20 45 6c  | Ord..... (c) El|
00000030  65 63 74 72 6f 6e 20 55  73 65 72 0d 00 28 06 eb  |ectron User..(..|
00000040  34 0d 00 32 0c de 20 6e  75 6d 28 33 29 0d 00 3c  |4..2.. num(3)..<|
00000050  0c 74 25 3d b3 28 2d 91  29 0d 00 46 0b ef 35 3a  |.t%=.(-.)..F..5:|
00000060  e6 30 2c 31 0d 00 50 19  f2 67 72 69 64 28 34 2c  |.0,1..P..grid(4,|
00000070  31 30 32 30 2c 38 30 2c  31 30 32 30 29 0d 00 5a  |1020,80,1020)..Z|
00000080  1c f2 67 72 69 64 28 36  36 34 2c 31 30 32 30 2c  |..grid(664,1020,|
00000090  37 34 30 2c 31 30 32 30  29 0d 00 64 17 f2 67 72  |740,1020)..d..gr|
000000a0  69 64 28 34 2c 37 36 30  2c 38 30 2c 37 36 30 29  |id(4,760,80,760)|
000000b0  0d 00 6e 1a f2 67 72 69  64 28 36 36 34 2c 37 36  |..n..grid(664,76|
000000c0  30 2c 37 34 30 2c 37 36  30 29 0d 00 78 14 ec 30  |0,740,760)..x..0|
000000d0  2c 35 32 38 3a f1 c4 34  30 2c 22 2d 22 29 0d 00  |,528:..40,"-")..|
000000e0  82 17 f2 67 72 69 64 28  34 2c 34 36 30 2c 38 30  |...grid(4,460,80|
000000f0  2c 34 36 30 29 0d 00 8c  1a f2 67 72 69 64 28 36  |,460).....grid(6|
00000100  36 34 2c 34 36 30 2c 37  34 30 2c 34 36 30 29 0d  |64,460,740,460).|
00000110  00 96 17 f2 67 72 69 64  28 34 2c 32 30 30 2c 38  |....grid(4,200,8|
00000120  30 2c 32 30 30 29 0d 00  a0 1a f2 67 72 69 64 28  |0,200).....grid(|
00000130  36 36 34 2c 32 30 30 2c  37 34 30 2c 32 30 30 29  |664,200,740,200)|
00000140  0d 00 aa 12 f2 70 72 69  6e 74 28 38 2c 31 30 30  |.....print(8,100|
00000150  30 29 0d 00 b4 14 f2 70  72 69 6e 74 28 36 36 38  |0).....print(668|
00000160  2c 31 30 30 30 29 0d 00  be 11 f2 70 72 69 6e 74  |,1000).....print|
00000170  28 38 2c 37 34 30 29 0d  00 c8 13 f2 70 72 69 6e  |(8,740).....prin|
00000180  74 28 36 36 38 2c 37 34  30 29 0d 00 d2 11 f2 70  |t(668,740).....p|
00000190  72 69 6e 74 28 38 2c 34  34 30 29 0d 00 dc 13 f2  |rint(8,440).....|
000001a0  70 72 69 6e 74 28 36 36  38 2c 34 34 30 29 0d 00  |print(668,440)..|
000001b0  e6 11 f2 70 72 69 6e 74  28 38 2c 31 38 30 29 0d  |...print(8,180).|
000001c0  00 f0 13 f2 70 72 69 6e  74 28 36 36 38 2c 31 38  |....print(668,18|
000001d0  30 29 0d 00 fa 09 f2 64  75 6d 70 0d 01 04 05 e0  |0).....dump.....|
000001e0  0d 01 0e 05 20 0d 01 18  17 dd f2 67 72 69 64 28  |.... ......grid(|
000001f0  58 25 2c 59 25 2c 78 25  2c 79 25 29 0d 01 22 36  |X%,Y%,x%,y%).."6|
00000200  ec 58 25 2c 59 25 3a df  58 25 2b 36 30 38 2c 59  |.X%,Y%:.X%+608,Y|
00000210  25 3a df 58 25 2b 36 30  38 2c 59 25 2d 31 39 32  |%:.X%+608,Y%-192|
00000220  3a df 58 25 2c 59 25 2d  31 39 32 3a df 58 25 2c  |:.X%,Y%-192:.X%,|
00000230  59 25 0d 01 2c 0c e3 4a  3d 31 20 b8 20 38 0d 01  |Y%..,..J=1 . 8..|
00000240  36 1e ec 78 25 2c 79 25  3a df 78 25 2c 79 25 2d  |6..x%,y%:.x%,y%-|
00000250  31 39 32 3a 78 25 3d 78  25 2b 37 36 0d 01 40 05  |192:x%=x%+76..@.|
00000260  ed 0d 01 4a 0c e3 59 3d  31 20 b8 20 32 0d 01 54  |...J..Y=1 . 2..T|
00000270  24 ec 58 25 2c 59 25 2d  36 34 3a df 58 25 2b 36  |$.X%,Y%-64:.X%+6|
00000280  30 38 2c 59 25 2d 36 34  3a 59 25 3d 59 25 2d 36  |08,Y%-64:Y%=Y%-6|
00000290  34 0d 01 5e 05 ed 0d 01  68 05 e1 0d 01 72 12 dd  |4..^....h....r..|
000002a0  f2 70 72 69 6e 74 28 58  25 2c 59 25 29 0d 01 7c  |.print(X%,Y%)..||
000002b0  07 4b 3d 30 0d 01 86 0c  e3 4a 3d 31 20 b8 20 38  |.K=0.....J=1 . 8|
000002c0  0d 01 90 0c e3 49 3d 31  20 b8 20 33 0d 01 9a 43  |.....I=1 . 3...C|
000002d0  e7 20 4a 3d 31 20 6e 75  6d 28 49 29 3d 4b 2b b3  |. J=1 num(I)=K+.|
000002e0  28 39 29 20 8b 20 e7 20  4a 3d 38 20 6e 75 6d 28  |(9) . . J=8 num(|
000002f0  49 29 3d 4b 2b b3 28 31  30 29 20 8b 20 6e 75 6d  |I)=K+.(10) . num|
00000300  28 49 29 3d 28 4b 2d 31  29 2b b3 28 31 30 29 0d  |(I)=(K-1)+.(10).|
00000310  01 a4 05 ed 0d 01 ae 18  e7 6e 75 6d 28 32 29 3d  |.........num(2)=|
00000320  6e 75 6d 28 31 29 20 e5  8d 74 50 41 0d 01 b8 28  |num(1) ..tPA...(|
00000330  e7 6e 75 6d 28 33 29 3d  6e 75 6d 28 32 29 20 84  |.num(3)=num(2) .|
00000340  20 6e 75 6d 28 33 29 3d  6e 75 6d 28 31 29 20 e5  | num(3)=num(1) .|
00000350  8d 74 50 41 0d 01 c2 0c  e3 53 3d 31 20 b8 20 33  |.tPA.....S=1 . 3|
00000360  0d 01 cc 10 e3 49 3d 32  20 b8 20 31 20 88 2d 31  |.....I=2 . 1 .-1|
00000370  0d 01 d6 1b e7 20 6e 75  6d 28 49 29 3e 6e 75 6d  |..... num(I)>num|
00000380  28 49 2b 31 29 20 f2 73  77 61 70 0d 01 e0 05 ed  |(I+1) .swap.....|
00000390  0d 01 ea 05 ed 0d 01 f4  17 72 61 25 3d b3 28 33  |.........ra%=.(3|
000003a0  29 3a 72 62 25 3d b3 28  32 29 2b 31 0d 01 fe 35  |):rb%=.(2)+1...5|
000003b0  e7 20 4a 3d 31 20 ec 58  25 2b 31 36 2c 59 25 3a  |. J=1 .X%+16,Y%:|
000003c0  f1 3b 6e 75 6d 28 31 29  3a ec 58 25 2b 31 36 2c  |.;num(1):.X%+16,|
000003d0  59 25 2d 31 32 38 3a f1  3b 6e 75 6d 28 72 62 25  |Y%-128:.;num(rb%|
000003e0  29 0d 02 08 21 e7 20 4a  3d 32 20 ec 58 25 2b 37  |)...!. J=2 .X%+7|
000003f0  36 2c 59 25 2d 36 34 3a  f1 3b 6e 75 6d 28 72 61  |6,Y%-64:.;num(ra|
00000400  25 29 0d 02 12 3a e7 20  4a 3d 33 20 ec 58 25 2b  |%)...:. J=3 .X%+|
00000410  31 35 32 2c 59 25 2d 36  34 3a f1 3b 6e 75 6d 28  |152,Y%-64:.;num(|
00000420  31 29 3a ec 58 25 2b 31  35 32 2c 59 25 2d 31 32  |1):.X%+152,Y%-12|
00000430  38 3a f1 3b 6e 75 6d 28  72 62 25 29 0d 02 1c 37  |8:.;num(rb%)...7|
00000440  e7 20 4a 3d 34 20 ec 58  25 2b 32 32 38 2c 59 25  |. J=4 .X%+228,Y%|
00000450  3a f1 3b 6e 75 6d 28 31  29 3a ec 58 25 2b 32 32  |:.;num(1):.X%+22|
00000460  38 2c 59 25 2d 31 32 38  3a f1 3b 6e 75 6d 28 72  |8,Y%-128:.;num(r|
00000470  62 25 29 0d 02 26 4c e7  20 4a 3d 35 20 ec 58 25  |b%)..&L. J=5 .X%|
00000480  2b 33 30 34 2c 59 25 3a  f1 3b 6e 75 6d 28 31 29  |+304,Y%:.;num(1)|
00000490  3a ec 58 25 2b 33 30 34  2c 59 25 2d 36 34 3a f1  |:.X%+304,Y%-64:.|
000004a0  3b 6e 75 6d 28 32 29 3a  ec 58 25 2b 33 30 34 2c  |;num(2):.X%+304,|
000004b0  59 25 2d 31 32 38 3a f1  3b 6e 75 6d 28 33 29 0d  |Y%-128:.;num(3).|
000004c0  02 30 22 e7 20 4a 3d 36  20 ec 58 25 2b 33 38 30  |.0". J=6 .X%+380|
000004d0  2c 59 25 2d 36 34 3a f1  3b 6e 75 6d 28 72 61 25  |,Y%-64:.;num(ra%|
000004e0  29 0d 02 3a 37 e7 20 4a  3d 37 20 ec 58 25 2b 34  |)..:7. J=7 .X%+4|
000004f0  35 36 2c 59 25 3a f1 3b  6e 75 6d 28 31 29 3a ec  |56,Y%:.;num(1):.|
00000500  58 25 2b 34 35 36 2c 59  25 2d 31 32 38 3a f1 3b  |X%+456,Y%-128:.;|
00000510  6e 75 6d 28 72 62 25 29  0d 02 44 36 e7 20 4a 3d  |num(rb%)..D6. J=|
00000520  38 20 ec 58 25 2b 35 33  32 2c 59 25 3a f1 3b 6e  |8 .X%+532,Y%:.;n|
00000530  75 6d 28 31 29 3a ec 58  25 2b 35 33 32 2c 59 25  |um(1):.X%+532,Y%|
00000540  2d 36 34 3a f1 3b 6e 75  6d 28 72 62 25 29 0d 02  |-64:.;num(rb%)..|
00000550  4e 0a 4b 3d 4b 2b 31 30  0d 02 58 06 ed 4a 0d 02  |N.K=K+10..X..J..|
00000560  62 05 e1 0d 02 6c 0a dd  f2 73 77 61 70 0d 02 76  |b....l...swap..v|
00000570  2b 6e 75 6d 3d 6e 75 6d  28 49 29 3a 6e 75 6d 28  |+num=num(I):num(|
00000580  49 29 3d 6e 75 6d 28 49  2b 31 29 3a 6e 75 6d 28  |I)=num(I+1):num(|
00000590  49 2b 31 29 3d 6e 75 6d  0d 02 80 05 e1 0d 02 8a  |I+1)=num........|
000005a0  05 20 0d 02 94 0b dd 20  f2 64 75 6d 70 0d 02 9e  |. ..... .dump...|
000005b0  0c 2a 46 58 36 2c 32 35  35 0d 02 a8 0b 2a 46 58  |.*FX6,255....*FX|
000005c0  33 2c 31 30 0d 02 b2 1b  ef 20 32 37 2c 36 34 3a  |3,10..... 27,64:|
000005d0  f4 20 52 65 73 65 74 20  70 72 69 6e 74 65 72 0d  |. Reset printer.|
000005e0  02 bc 23 ef 20 32 37 2c  36 35 2c 34 3a f4 20 34  |..#. 27,65,4:. 4|
000005f0  2f 37 32 69 6e 20 6c 69  6e 65 20 73 70 61 63 69  |/72in line spaci|
00000600  6e 67 0d 02 c6 16 e3 20  59 25 3d 31 30 32 30 20  |ng..... Y%=1020 |
00000610  b8 20 30 20 88 20 2d 38  0d 02 d0 21 ef 20 32 37  |. 0 . -8...!. 27|
00000620  2c 37 35 2c 36 34 2c 31  3a f4 20 42 69 74 20 69  |,75,64,1:. Bit i|
00000630  6d 61 67 65 20 6d 6f 64  65 0d 02 da 15 e3 20 58  |mage mode..... X|
00000640  25 3d 30 20 b8 20 31 32  37 36 20 88 20 34 0d 02  |%=0 . 1276 . 4..|
00000650  e4 0f 42 25 3d 38 20 3a  20 50 25 3d 30 0d 02 ee  |..B%=8 : P%=0...|
00000660  12 e3 20 49 25 3d 30 20  b8 20 36 20 88 20 32 0d  |.. I%=0 . 6 . 2.|
00000670  02 f8 19 e7 20 b0 58 25  2c 59 25 2d 49 25 29 20  |.... .X%,Y%-I%) |
00000680  50 25 3d 50 25 2b 42 25  0d 03 02 0d 42 25 3d 42  |P%=P%+B%....B%=B|
00000690  25 20 81 20 32 0d 03 0c  05 ed 0d 03 16 08 ef 20  |% . 2.......... |
000006a0  50 25 0d 03 20 05 ed 0d  03 2a 08 ef 20 31 30 0d  |P%.. ....*.. 10.|
000006b0  03 34 05 ed 0d 03 3e 1b  ef 20 32 37 2c 36 34 3a  |.4....>.. 27,64:|
000006c0  f4 20 52 65 73 65 74 20  70 72 69 6e 74 65 72 0d  |. Reset printer.|
000006d0  03 48 08 2a 46 58 33 0d  03 52 05 e1 0d ff        |.H.*FX3..R....|
000006de
CARDS.m0
CARDS.m1
CARDS.m2
CARDS.m4
CARDS.m5