10 REM***************************************
20  REM DOTMAN (C) 1984 Stephen Sutherland
30 REM***************************************
40 GOSUB 1300:REM START
50 GOSUB 1880:REM INSTRUCTIONS
60 GOSUB 1600:REM SCREEN
70 FOR f=1 TO liv:LOCATE 7+(2*f),12:PRINT a1$(1):LOCATE 7+(2*f),13:PRINT a2$(1):NEXT f
80 q=10:p=16:gl=2:g2=2:c=2:d=2:t=19:s=2:mo=1:op=p:oq=q:ot=t:os=s:da=1:RESTORE 
90 ON scr GOTO 100,150,200
100 GOSUB 940
110 IF c=q AND d=p THEN 790
120 GOSUB 350
130 IF 
62179 0 AND 
63459 
65519 /
8233 THEN CLS:
1263 
62691 5150:scr=scr+1:GOTO 60 ELSE 100
140 IF c=q AND d=p THEN 790
150 GOSUB 1100
160 IF p=s AND q=t THEN 790
170 GOSUB 350
180 IF p=s AND q=t THEN 790
190 IF 
62179 0 AND 
63459 
65519 /
8233 THEN CLS:
1263 
62691 5150:scr=scr+1:GOTO 60 ELSE 150
200 GOSUB 1100
210 IF (c=q AND d=p) OR (s=p AND t=q) THEN 790
220 GOSUB 350
230 IF (c=q AND d=p) OR (s=p AND t=q) THEN 790
240 IF 
62179 0 AND 
63459 
65519 /
8233 THEN CLS:
1263 
62691 5150:scr=1:IF liv<3 THEN liv=liv+1
250 IF scr=1 THEN 60
260 GOSUB 1100
270 IF (c=q AND d=p) OR (s=p AND t=q) THEN 790
280 GOSUB 350
290 IF (c=q AND d=p) OR (s=p AND t=q) THEN 790
300 GOSUB 940
310 IF (c=q AND d=p) OR (s=p AND t=q) THEN 790
320 IF 
62179 0 AND 
63459 
65519 /
8233 THEN CLS:
1263 
62691 5150:scr=1:IF liv<3 THEN liv=liv+1
330 IF scr=1 THEN 60 ELSE 200
340 REM *** MOVE DOTMAN ***
350 PEN 4:LOCATE q,p:PRINT a1$(mo):LOCATE q,p+1:PRINT a2$(mo)
360 op=p:oq=q
370 IF JOY(0)=1 THEN x=p:y=q:GOSUB  580:IF col=0 THEN p=p-2
380 IF JOY(0)=2 THEN x=p:y=q:GOSUB  660:IF col=0 THEN p=p+2
390 IF JOY(0)=4 THEN q=q-1:a1$(1)=CHR$(216):a2$(1)=CHR$(217):ox=op:oy=oq:GOSUB  530:IF col=1 THEN q=q+1
400 IF JOY(0)=8 THEN q=q+1:a1$(1)=CHR$(212):a2$(1)=CHR$(213):che=1:ox=op:oy=oq:GOSUB  530:che=0:IF col=1 THEN q=q-1
410 IF op=p AND oq=q THEN mo=1:GOTO 440
420 mo=(2-mo)+1
430 PEN 1:LOCATE 1,25:PRINT"Score :-";USING"";
483 LOCATE oq,op:PRINT" ":LOCATE oq,op+1:PRINT" "
440 IF t=c AND s=d AND scr<>2 THEN gl=g2
450 IF p=12 AND q=21 THEN q=1:SOUND 2,200,25,7,0,1
460 IF p=12 AND q=0 THEN q=20:SOUND 2,200,25,7,0,1
470 IF op=p AND oq=q THEN 510
480 x=p:y=q
490 GOSUB  740
500 IF po=1 THEN SOUND 1,100,2:
61411 
62691 50
510 RETURN
520 REM ***TESTS***
530 px=((oy-1)*32)-1:py=((26-ox)*16)-22
540 IF che=1 THEN px=px+36
550 IF TEST (px,py)<>0 THEN col=1:RETURN
560 col=0
570 RETURN
580 px=((y-1)*32):py=((26-x)*16)+1
590 px1=px+24
600 px2=px+12
610 IF TEST (px,py)<>0 THEN col=1:RETURN
620 IF TEST (px2,py)<>0 THEN col=1:RETURN
630 IF TEST (px1,py)<>0 THEN col=1:RETURN
640 col=0
650 RETURN
660 px=((y-1)*32):py=((26-x)*16)-33
670 px1=px+24
680 px2=px+12
690 IF TEST (px,py)<>0 THEN col=1:RETURN
700 IF TEST (px1,py)<>0 THEN col=1:RETURN
710 IF TEST (px2,py)<>0 THEN col=1:RETURN
720 col=0
730 RETURN
740 px=((y-1)*32)+12:py=((26-x)*16)-16
750 IF TEST (px,py)<>0 AND TEST (px+12,py)=0 THEN po=1:RETURN
760 po=0
770 RETURN
780 REM*** KILLED ***
790 IF scr<>1 THEN PEN 1:LOCATE ot,os:PRINT b1$(gl):LOCATE ot,os+1:PRINT b2$(gl)
800 LOCATE oq,op:PRINT" ":LOCATE oq,op+1:PRINT" "
810 LOCATE q,p:PRINT a1$(2):LOCATE q,p+1:PRINT a2$(2)
820 l=((q-1)*32)+16:m=((26-p)*16)-16
830 DEG
840 SOUND 1,100,200,7,0,2
850 FOR f=180 TO 0 STEP -8
860 PLOT l,m,0:DRAWR 14*COS(f-90),14*SIN(f-90),0
870 PLOT l,m,0:DRAWR -(16*COS(f-90)),14*SIN(f-90),0
880 NEXT
890 FOR f=1 TO 500:NEXT
900 liv=liv-1:IF liv>0 THEN 
1263 
62691 5150:GOTO 60
910 PAPER 2:PEN 0:LOCATE 4,1:PRINT"HIT SPACE BAR":PEN 1:PAPER 0
920 WHILE INKEY$<>" ":WEND
930 scr=1:
61411 0:liv=3:
6895 276GOTO 60
940 REM *** ROBOT GHOST ***
950 PEN 1:LOCATE c,d:PRINT b1$(g2):LOCATE c,d+1:PRINT b2$(g2)
960 READ c,d
970 da=da+1:IF da=259 THEN RESTORE 1010:da=1
980 IF c=t AND d=s AND scr=3 THEN g2=gl ELSE x=d:y=c:GOSUB 740:g2=po+1
990 PEN 2: LOCATE c,d:PRINT CHR$(210):LOCATE c,d+1:PRINT CHR$(211):PEN 4
1000 RETURN
1010 DATA 2,2,3,2,4,2,4,4,4,6,4,8,5,8,5,10,5,12,5,14,5,16,6,16,7,16,8,16,9,16,10,16,11,16,12,16,13,16,14,16,15,16,17,16,18,16,19,16,19,18,19,20,19,22
1020 DATA 18,22,17,22,17,20,17,18,17,16,16,16,16,14,16,12,16,10,16,8,17,8,18,8,19,8,19,6,19,4,19,2,18,2,17,2,16,2,15,2,14,2,13,2,12,2,12,4,12,6,11,6,10,6,9,6,8,6,8,8
1030 DATA 7,8,6,8,5,8,5,10,5,12,5,14,5,16,4,16,3,16,2,16,2,18,2,20,2,22,3,22,4,22,4,20,5,20,6,20,7,20,7,22,8,22,9,22,10,22,11,22,12,22,13,22,14,22,14,20,15,20,16,20,17,20
1040 DATA 17,18,17,16,16,16,16,14,16,12,17,12,18,12,19,12,20,12,1,12,2,12,3,12,4,12,5,12,5,10,5,8,4,8,4,6,4,4,4,2,5,2,6,2,7,2,8,2,9,2,9,4,9,6,10,6,11,6,12,6,12,4,12,2,13,2,14,2,15,2,16,2,17,2,18,2,19,2,19,4,19,6,19,8,18,8,17,8,16,8,16,10
1050 DATA 16,12,16,14,16,16,17,16,18,16,19,16,19,18,19,20,19,22,18,22,17,22,17,20,16,20,15,20,14,20,14,22,13,22,12,22,11,22,10,22,9,22,8,22,7,22,7,20,6,20,5,20,4,20,4,18,4,16,5,16,5,14,5,12,4,12,3,12,2,12,1,12
1060 DATA 20,12,19,12,18,12,17,12,16,12,16,10,16,8,15,8,14,8,13,8,13,6,12,6,11,6,10,6,9,6,9,4,9,2,8,2,7,2,6,2,5,2,4,2,3,2,2,2,2,4,2,6,2,8,3,8,4,8,5,8,5,10,5,12,5,14,5,16,6,16,7,16,8,16,9,16,10,16,11,16,12,16,13,16,14,16,15,16,16,16,16,14,16,12,16,10,16,8

1070 DATA 15,8,14,8,13,8,13,6,12,6,12,4,12,2,13,2,14,2,15,2,16,2,17,2,17,4,17,6,17,8,16,8,16,10
1080 DATA 16,12,16,14,16,16,15,16,14,16,13,16,12,16,11,16,10,16,9,16,8,16,7,16,6,16,5,16,5,14,5,12,5,10,5,8,4,8,3,8,2,8,2,6,2,4
1090 REM *** FOLLOWING GHOST ***
1100 flag=0
1110 IF RND<0.5 THEN flag=1:GOTO 1140
1120 IF t>q THEN ox=s:oy=t:che=0:GOSUB  530:IF col=0 THEN t=t-1:GOTO 1260
1130 IF t<q THEN ox=s:oy=t:che=1:GOSUB  530:che=0:IF col=0 THEN t=t+1:GOTO 1260
1140 IF s>p THEN x=s:y=t:GOSUB  580:IF col=0 THEN s=s-2:GOTO 1260
1150 IF s<p THEN x=s:y=t:GOSUB  660:IF col=0 THEN s=s+2:GOTO 1260
1160 IF t+1=q AND s=p THEN t=t+1:GOTO 1260
1170 IF s-1=p AND t=q THEN s=s-1:GOTO 1260
1180 IF t-1=q AND s=p THEN t=t-1:GOTO 1260
1190 IF s+1=p AND t=q THEN s=s+1:GOTO 1260
1200 IF flag=1 THEN flag=0:GOTO 1120
1210 IF s=os AND t=ot THEN ra=RND*3 ELSE 1260
1220 IF ra=0 THEN ox=s:oy=t:GOSUB  530:IF col=0 THEN t=t-1
1230 IF ra=1 THEN ox=s:oy=t:che=1:GOSUB  530:che=0:IF col=0 THEN t=t+1
1240 IF ra=2 THEN x=s:y=t:GOSUB  580:IF col=0 THEN s=s-2
1250 IF ra=3 THEN x=s:y=t:GOSUB  660:IF col=0 THEN s=s+2
1260 IF t<>ot OR s<>os THEN PEN 1:LOCATE ot,os:PRINT b1$(gl):LOCATE ot,os+1:PRINT b2$(gl):x=s:y=t:GOSUB  740:gl=po+1:PEN 3:LOCATE t,s:PRINT CHR$(210):LOCATE t,s+1:PRINT CHR$(211)
1270 ot=t:os=s
1280 RETURN
1290 REM *** START ***
1300 DEFINT a-z
1310 ENT 2,100,10,2
1320 ENT 1,25,-8,1
1330 SYMBOL AFTER 200
1340 SYMBOL 200,129,129,129,129,129,129,129,129
1350 SYMBOL 201,255,0,0,0,0,0,0,255
1360 SYMBOL 202,224,24,4,2,2,1,1,129
1370 SYMBOL 203,129,1,1,2,2,4,24,224
1380 SYMBOL 204,7,24,32,64,64,128,128,129
1390 SYMBOL 205,129,128,128,64,64,32,24,7
1400 SYMBOL 206,0,0,0,0,0,0,24,24
1410 SYMBOL 207,24,24,0,0,0,0,0,0
1420 SYMBOL 208,24,36,66,66,129,129,129,129
1430 SYMBOL 209,129,129,129,129,66,66,36,24
1440 SYMBOL 210,0,24,60,126,126,255,219,219
1450 SYMBOL 211,255,255,255,255,219,73,73,0
1460 SYMBOL 212,0,24,126,126,255,254,252,248
1470 SYMBOL 213,248,252,254,255,126,126,24,0
1480 SYMBOL 214,0,24,126,126,255,255,255,255
1490 SYMBOL 215,255,255,255,255,126,126,24,0
1500 SYMBOL 216,0,24,126,126,255,127,63,31
1510 SYMBOL 217,31,63,127,255,126,126,24,0
1520 INK 0,0:INK 1,26:INK 2,11,25
1530 INK 3,11:INK 4,24
1540 DIM a1$(2),a2$(2),b1$(2),b2$(2):
61411 0
1550 
6895 20x

3880 )=CHR$(212):a2$(1)=CHR$(213):a1$(2)=CHR$(214):a2$(2)=CHR$(215):b1$(1)=" ":b2$(1)=" ":b1$(2)="N":b2$(2)="O"
1570 scr=1:liv=3
1580 RETURN
1590 REM *** SCREEN ***
1600 PEN 1:PAPER 0:BORDER 1:MODE 0
1610 PRINT " LIIIIIIIIJLIIIIIIIIJ"
1620 PRINT " HNNNNNNNNHHNNNNNNNNH":' precede
1630 PRINT " HOOOOOOOOHHOOOOOOOOH"
1640 PRINT " HNPNLIIJNHHNLIIJNPNH":'  each
1650 PRINT " HOHOH LKOMKOMJ HOHOH"
1660 PRINT " HNHNH HNNNNNNH HNHNH":'  of
1670 PRINT " HOQOMIKOOOOOOMIKOQOH"
1680 PRINT " HNNNNNNNLIIJNNNNNNNH":'  these
1690 PRINT " HOOOOOOOH  HOOOOOOOH"
1700 PRINT " MIIJNLIIK  MIIJNLIIK":' PRINTS
1710 PRINT " IIIKOH        HOMIII"
1720 PRINT "  NNNNH        HNNNN ":'(1620-1840)
1730 PRINT "  OOOOH        HOOOO "
1740 PRINT " IIIJNH        HNLIII":'  with
1750 PRINT " LIIKOMIIIIIIIIKOMIIJ"
1760 PRINT " HNNNNNNNNNNNNNNNNNNH":'    a
1770 PRINT " HOOOOOOOOOOOOOOOOOOH"
1780 PRINT " HNPNLIIIIIIIIIIJNPNH":' CTRL [K] 
1790 PRINT " HOHOMIIJ    LIIKOHOH"
1800 PRINT " HNHNNNNH    HNNNNHNH":' character
1810 PRINT " HOQOOOOMIIIIKOOOOQOH":'
1820 PRINT " HNNNLJNNNNNNNNLJNNNH":' (upwards
1830 PRINT " HOOOHHOOOOOOOOHHOOOH"
1840 PRINT " MIIIKMIIIIIIIIKMIIIK":'   arrow)
1850 PEN 4: LOCATE 1,25:PRINT"Score :-";USING"";
227 
201 0NREM ***INSTRUCTIONS***
1880 MODE 1
1890 PAPER 0:PEN 2:LOCATE 17,2:PRINT"DOTMAN"
1900 PEN 1
1910 PRINT:PRINT" Use the joystick to move the 'dotman'"
1920 PRINT"around the maze,eating the dots,"
1930 PRINT"and avoiding the ghosts."
1940 PRINT:PRINT" Each dot eaten scores 50 points."
1950 PRINT:PRINT" After all the dots have been eaten,"
1960 PRINT"you move on to the next stage,until,"
1970 PRINT"after the 3rd stage,the game repeats."
1980 PRINT:PRINT" The 3 stages are as follows:-"
1990 PRINT:PRINT"    1) A 'robot' ghost patrols the maze."
2000 PRINT:PRINT"    2) A ghost will chase you about the        maze."
2010 PRINT:PRINT"    3) Both ghosts together."
2020 PEN 0:PAPER 2
2030 LOCATE  7,25:PRINT"HIT THE SPACE BAR TO START"
2040 WHILE INKEY$<>" ":WEND:PEN 1:PAPER 0
2050 RETURN
2060 SPEED WRITE 1:SAVE "DOTMAN":SPEED WRITE 0:SAVE "DOTMAN"