"Geography Quiz" BASIC Program


This program was written to expand on a program that my teacher used to explain
the usage of the READ and DATA commands in BBC BASIC. The original program only
had a few questions, but I expanded it to cover the whole of the united Kingdom.


My teacher then went on to use my program in several of his classes as a quick
quiz program for the students. It was not glamorous but it gave me an understanding.

Here is the 1986 listing for GRAPHICS DEMO in BBC BASIC


10 REM GQUIZ1
20 REM *********************
30 REM *(c) R.HALL 1985 4TH*
40 REM *********************
50 REM *CSE/O Level PROG 1 *
60 REM *********************
70 REM * Written on the :- *
80 REM *********************
90 REM *Acorn Electron 32K *
100 REM *********************
110 REM * Language: BASIC *
120 REM *********************
130 REM
140 REM ****** SET ERROR REPORT LINE ******
150 ON ERROR GOTO 2270
160 REM
170 REM ****** SELECT MODE ******
180 MODE 1
190 REM ****** TITLE PAGE
200 SOUND 0,-15,2,10
210 COLOUR 130:COLOUR 3:CLS
220 PRINT:PRINTTAB(14)"GEOQUIZ"
230 PRINT:PRINTTAB(14)"-------"
240 PRINT:PRINT:PRINT" This program is for the Acorn Electron Micro-Computer. It aims to help the user gain knowledge of the County Towns in the counties of England & Wales."'" You will be asked 45 questions and your score ";
250 PRINT "revealed at the end."PRINTTAB(10)"** GOOD LUCK! **"
260 PRINT:PRINTTAB(5)" PRESS <SPACE> TO CONTINUE."
270 REPEAT
280 UNTIL GET$=" ":SOUND 0,-15,3,10:GOTO 300
290 END
300 REM 888888 MAP PAGE 888888
310 MODE 1
320 VDU 24,640;0;1280;1024;
330 VDU 28,1,31,39,0
340 GCOL 0,128:GCOL 0,2:CLG
350 COLOUR 129:COLOUR 3:CLS
360 PRINT:PRINT:PRINT"This is the area covered."
370 PRINT:PRINT:PRINT"PRESS &lySPACE> TO START"
380 REM ****** MAP ROUTINE ******
390 MOVE 936,208
400 DRAW 936,224
410 DRAW 944,224
420 DRAW 1024,256
430 DRAW 1032,240
440 DRAW 1024,224
450 DRAW 1056,240
460 DRAW 1072,236
470 DRAW 1184,256
480 DRAW 1216,320
490 DRAW 1158,320
500 DRAW 1168,352
510 DRAW 1248,448
520 DRAW 1248,480
530 DRAW 1232,512
540 DRAW 1168,512
550 DRAW 1120,504
560 DRAW 1136,544
570 DRAW 1120,576
580 DRAW 1072,600
590 DRAW 1120,608
600 DRAW 1088,672
610 DRAW 1016,736
620 DRAW 1000,832
630 DRAW 960,864
640 DRAW 944,800
650 DRAW 856,688
660 DRAW 872,695
670 DRAW 912,656
680 DRAW 912,608
690 DRAW 896,544
700 DRAW 848,544
710 DRAW 792,496
720 DRAW 824,507
730 DRAW 832,448
740 DRAW 752,384
750 DRAW 759,368
760 DRAW 752,352
770 DRAW 805,368
780 DRAW 816,342
790 DRAW 864,336
800 DRAW 960,368
810 DRAW 880,288
820 DRAW 816,288
830 DRAW 736,216
840 DRAW 704,176
850 DRAW 736,160
860 DRAW 832,192
870 DRAW 848,192
880 DRAW 880,224
890 DRAW 912,224
900 DRAW 936,208
910 DRAW 936,208
920 REPEAT UNTIL GET$=" ":GOTO 930
930 REM GEOQUIZ2
940 REM ****** SELECT MODE ******
950 MODE 1
960 REM ****** SET O.S. ******
970 *FX 11,0
980 *FX 4,1
990 *FX 200,1
1000 *FX 225
1010 *FX 226
1020 *FX 227
1030 REM ****** SELECT TEXT & BACKGROUND COLOUR ******
1040 COLOUR 0
1050 COLOUR 129
1060 REM ****** CLEAR SCREEN & PRINT MESSAGE ******
1070 CLS
1080 PRINT:PRINTTAB(15)"GEOQUIZ"
1090 PRINT
1100 PRINTTAB(10)"HIT THE SPACE BAR"
1110 PRINT
1120 SOUND 1,-15,100,5
1130 REPEAT
1140 UNTIL GET$=" ":GOTO 1150
1150 SOUND 0,-15,20,5
1160 PRINT
1170 REM ****** CHANGE TEXT COLOUR ******
1180 COLOUR 2
1190 REM ****** START ******
1200 REM ****** SET VARIABLES ******
1210 DIM town$(48)
1220 DIM COUNTY$(48)
1230 REM ****** START QUESTION LOOP ******
1240 FOR X=1 TO 48
1250 READ town$(X)
1260 READ COUNTY$(X)
1270 NEXT X
1280 RIGHT=0
1290 FOR X=1 TO 45
1300 R=RND(48)
1310 PRINT "WHAT TOWN IS THE COUNTY TOWN"
1320 PRINT" OF ";COUNTY$(R)
1330 INPUT ANSWER$
1340 IF ANSWER$=town$(R) THEN PROCYES ELSE PROCNO
1350 NEXT X
1360 REM ****** PRINT No. CORRECT ******
1370 PRINT "YOU GOT ";RIGHT;
1380 PRINT " CORRECT OUT OF 48"
1390 PRINT
1400 INPUT " AGAIN (Y/N)";A$
1410 IF A$="Y" THEN CLEAR:RUN
1420 IF A$="N" THEN PROCFINNISH
1430 IF A$="" THEN GOTO 1410
1440 END
1450 DEFPROCFINNISH
1460 REM ****** SELF DESTRUCT ******
1470 *FX 200,2
1480 PRINT
1490 PRINT "YOU WILL HAVE TO PRESS <BREAK>"
1500 P%=0
1510 SOUND 0,-15,P%,1
1520 SOUND 1,-15,P%,1
1530 SOUND 2,-15,P%,1
1540 SOUND 3,-15,P%,1
1550 SOUND 0,-15,P%,1
1560 SOUND 1,-15,P%,1
1570 SOUND 2,-15,P%,1
1580 SOUND 3,-15,P%,1
1590 P%=P%+1:GOTO 1510
1600 ENDPROC
1610 END
1620 REM ****** DATA TO BE READ ******
1630 DATA CAMBRIDGE,CAMBRIDGE
1640 DATA CARLISLE,CUMBERLAND
1650 DATA HAVERFORDWEST,PENBROKESHIRE
1660 DATA ABERYSTWITH,CARDIGANSHIRE
1670 DATA BODMIN,CORNWALL
1680 DATA EXETER,DEVONSHIRE
1690 DATA TAUNTON,SOMERSET
1700 DATA DORCHESTER,DORSET
1710 DATA WINCHESTER,HAMPSHIRE
1720 DATA SALISBURY,WILTSHIRE
1730 DATA KINGSTONE UPON THAMES,SURREY
1740 DATA CANTERBURY,KENT
1750 DATA WESTMINSTER,GREATER LONDON
1760 DATA READING,BERKSHIRE
1770 DATA AYLESBURY,BUCKINGHAMSHIRE
1780 DATA CHELMSFORD,ESSEX
1790 DATA HERTS,HERTFORDSHIRE
1800 DATA GLOUCESTER,GLOUCESTERSHIRE
1810 DATA CARDIFF,GLAMORGAN
1820 DATA NEWPORT,MONMOUTHSHIRE
1830 DATA CAMARTHEN,CAMARTHENSHIRE
1840 DATA CAENARVON,CARNARVONSHIRE
1850 DATA HEREFORD,HEREFORDSHIRE
1860 DATA PRESTIEGNE,RADNORSHIRE
1870 DATA WORCESTER,WORCESTERSHIRE
1880 DATA WARWICK,WARWICKSHIRE
1890 DATA NORTHAMPTON,NORTHAMPTONSHIRE
1900 DATA BEDFORD,BEDFORDSHIRE
1910 DATA NORWICH,NORFOLK
1920 DATA HUNTINGTON,HUNTINGTON
1930 DATA RUTLAND,RUTLAND
1940 DATA LEICESTER,LEICESTERSHIRE
1950 DATA STAFFORD,STAFFORDSHIRE
1960 DATA SHREWSBURY,SHROPSHIRE
1970 DATA WELSHPOOL,MONTGOMERYSHIRE
1980 DATA DOLGELLAU,MERIONETHSHIRE
1990 DATA CAERNARVON,CAERNARVONSHIRE
2000 DATA LLANGEFNI,ANGLESEY
2010 DATA RUTHIN,DENBIGHSHIRE
2020 DATA MOLD,FLINTSHIRE
2030 DATA CHESTER,CHESHIRE
2040 DATA MATOCK,DERBYSHIRE
2050 DATA NOTTINGHAM,NOTTINGHAMSHIRE
2060 DATA LANCASTER,LANCASHIRE
2070 DATA KENDAL,WESTMORLAND
2080 DATA DURHAM,DURHAM
2090 DATA CARLISLE,CUMBERLAND
2100 DATA NEWCASTLE,NORTHUMBERLAND
2110 DEFPROCYES
2120 REM ****** CORRECT TUNE ******
2130 SAOUND 1,-15,121,60:COUND&11,0,0,0
2140 ENVELOPE 1,1,-RND(50),-RND(50),-RND(45),255,255,255,127,0,0,-127,127,0
2150 SOUND 1,1,255,100
2160 PRINT "WELL DONE!"
2170 RIGHT=RIGHT+1
2180 PRINT
2190 ENDPROC
2200 DEFPROCNO
2210 REM ****** WRONG TUNE ******
2220 SOUND 0,-15,4,10:SOUND 0,-15,5,10:SOUND 0,-15,6,10:SOUND 0,-15,7,10
2230 PRINT "NO, THE COUNTY TOWN"
2240 PRINT " OF ";COUNTY$(R);" IS ";town$(R)
2250 PRINT
2260 ENDPROC
2270 CLS:MODE 6:REPORT: PRINT " at line ";ERL:END:END:END

Back to School Programs Page


If you have arrived here from a Search Engine
Click the link below to go to the Classic Acorn Home Page
Everyone else use the Navigation Section on the Left
<---------------------------------------------------

Home