10 REM ********************
20 REM * set up variables *
30 REM ********************
40 DATA He Man,2000,Me,1750,Sabre Wulf,1600,Miner Willy,1400,Ernie,1250,Wart Face,800,Eugene,500,Roland Rat,475,Anomynous,200,Pet Hamster,75
50 DIM simon(100),his$(10),his(10)
60 FOR t=1 TO 10:READ his$(t),his(t):NEXT
70 sc=0:sci=5:sim=0
80 REM  ****************
90 REM  * print titles *
100 REM ****************
110 MODE 0:PAPER 4:CLS:BORDER 26
120 FOR l=1 TO 16 STEP 15:FOR t=1 TO 24
130 LOCATE l,t:PEN 5:PRINT"SIMON"
140 SOUND 1,200,3:FOR r=1 TO 200:NEXT
150 NEXT:NEXT
160 LOCATE 8,10:PEN 3:PRINT" MK 1"
170 LOCATE 6,17:PEN 2:PRINT"written by"
180 PEN 3:LOCATE 8,19:PRINT" LIAM"
190 LOCATE 8,20:PRINT"WARDER"
200 LOCATE 6,24:PRINT"PRESS  'C'"
210 WHILE INKEY$="":WEND
220 REM *********************
230 REM * like instructions *
240 REM *********************
250 PAPER 4:CLS:SPEED INK 20,20
260 PEN 1:INK 1,1,6:LOCATE 6,10:INPUT"Would you like instructions (Y,N)";A$
270 IF A$<>"Y" AND a$<>"y" THEN 380
280 CLS:INK 1,16
290 PRINT"The computer sets upa random sequence   which you must      follow using the    key:-"
300 LOCATE 7,10:PRINT"4     5"
310 LOCATE 7,16:PRINT"1     2"
320 PEN 3:PRINT"On the numeric pad"
330 LOCATE 15,20:PEN 2:PRINT"PRESS ANY KEY
340 WHILE INKEY$="":WEND
350 REM ***************
360 REM * input level *
370 REM ***************
380 PAPER 0:CLS:PEN 3
390 LOCATE 5,5:PRINT"(5) Beginner"
400 PEN 5:PRINT:PRINT TAB(5)"(4) Average"
410 PEN 12:PRINT:PRINT TAB(5)"(3) Good"
420 PEN 7:PRINT:PRINT TAB(5)"(2) Very Good"
430 PEN 4:PRINT:PRINT TAB(5)"(1) Brillant"
440 LOCATE 1,24:INPUT "What skill level";level
450 IF level<1 OR level>5 THEN 380
460 lev=level
470 level=level*30
480 REM ***************
490 REM * draw circle *
500 REM ***************
510 PAPER 5:CLS
520 a=3
530 FOR t=1 TO 360:DEG
540 PLOT 320,200,a
550 DRAW 320+190*COS(t),200+190*SIN(t)
560 IF t=90 THEN a=12:GOSUB 1160
570 IF t=180 THEN a=4:GOSUB 1160
580 IF t=270 THEN a=2:GOSUB 1160
590 NEXT
600 GOSUB 1160
610 INK 2,1:INK 3,1:INK 4,1:INK 12,1
620 FOR t=1 TO 1000:NEXT
630 REM ***********
640 REM * SEQENCE *
650 REM ***********
660 simon(sim)=INT(RND(1)*4+1)
670 FOR t=0 TO sim
680 GOSUB 910
690 SOUND 1,pit,level/3
700 INK z,x
710 WHILE SQ(1)>128:WEND
720 INK z,1
730 NEXT
740 REM ****************
750 REM * player input *
760 REM ****************
770 FOR t=0 TO sim
780 a$=INKEY$:IF a$="" THEN 780
790 play=VAL(a$)
800 IF play<1 OR play>5 THEN 780
810 IF play=4 OR play=5 THEN play=play-1
820 GOSUB 910
830 IF simon(t)<>play THEN :SOUND 1,2500,200,15:INK z,x:GOTO 990
840 SOUND 1,pit,level/3
850 INK z,x
860 WHILE SQ(1)>128:WEND
870 INK z,1:FOR p=1 TO 50 :NEXT
880 NEXT
890 FOR u=1 TO 500:NEXT
900 sc=sc+sci:sci=sci+5:sim=sim+1:GOTO 660
910 IF simon(t)=4 THEN z=3:x=6:pit=50
920 IF simon(t)=3 THEN z=12:x=18:pit=100
930 IF simon(t)=1 THEN z=4:x=26:pit=150
940 IF simon(t)=2 THEN z=2:x=20:pit=200
950 RETURN
960 REM ******************
970 REM * hi score table *
980 REM ******************
990  WHILE SQ(1)>128:WEND
1000 INK 1,16:INK 2,20:ZONE 17:MODE 1:CLS
1010 sc=sc*(6-lev)
1020 IF sc<=his(10) THEN PRINT"You're not on the hiscore table with a  score of";sc"SORRY!!!":FOR t=1 TO 3000:NEXT:GOTO 1100
1030 PEN 3:PRINT"*************** HISCORE ****************"
1040 FOR t=1 TO 10
1050 PRINT t;his$(t),his(t):NEXT
1060 PEN 2:PRINT:PRINT"You're on the hiscore table"
1070 PRINT:PRINT:INPUT"In no more than 14 letters state your   name";name$
1080 t=1
1090 IF sc>his(t) THEN FOR l=10 TO t STEP-1:his$(l)=his$(l-1):his(l)=his(l-1):NEXT:his$(t)=name$:his(t)=sc:GOTO 1100 ELSE t=t+1:GOTO 1090
1100 CLS:FOR t=1 TO 10
1110 PRINT t;his$(t),his(t):NEXT
1120 LOCATE 3,19:PRINT"press any key to play"
1130 WHILE INKEY$="":WEND
1140 MODE 0:INK 4,26:INK 3,6:INK 12,18
1150 sc=0:sim=0:sci=5:GOTO 250
1160 FOR j=1 TO 15
1170 SOUND 2,235,5,7
1180 SOUND 2,245,5,7
1190 SOUND 2,200,5,7
1200 SOUND 2,230,5,7
1210 NEXT
1220 RETURN