10 'set up new characters
20 SYMBOL 240,221,221,221,0,119,119,119,0
30 SYMBOL 241,28,62,54,62,28,73,42,28
40 SYMBOL 242,28,28,127,28,28,20,54
50 SYMBOL 250,0,199,200,240,240,200,199,0
60 SYMBOL 251,227,19,15,15,19,227,0
70 SYMBOL 252,126,126,24,24,36,66,129,129
80 SYMBOL 253,129,129,66,36,24,24,126,126
90 DIM scr(18,20):lm=67:rm=59:um=34:dm=37
100 name$(1)="Chris":name$(2)="'Arold":name$(3)="Ronald"
110 g(1)=220:g(2)=194:g(3)=215:gar=1
120 kj$=CHR$(24)+"KEYS"+CHR$(24)+"/JOYSTICK":kj=-1
130 'set up inks
140 FOR i=0 TO 6:READ in:INK i,in:NEXT
150 DATA 1,13,12,9,3,2,18
160 'print title page
170 ENV 1,15,-1,10:PAPER 0:MODE 1
180 PRINT STRING$(40,241):LOCATE 1,25:PRINT STRING$(40,241);
190 WINDOW 1,40,2,24
200 PRINT TAB(15)"Lawn mower"
210 PRINT TAB(15)"Simulator!"
220 PRINT TAB(15)"=========="
230 PRINT:PRINT"Introduction"
240 PRINT"============"
250 PRINT"You're the neighbourhood lawn mower. Youhave to mow the lawn in three gardens,  but be careful that you don't mow down  the flowers, crash into the wall or pondor run over the Missus, you'll be sackedif you do!"
260 PAPER 0:PEN 1:LOCATE 1,14
270 PRINT"1) PLAY GAME"
280 PRINT:PRINT"2) "+kj$
290 PAPER 0:PEN 1:PRINT:PRINT"3) QUIT"
300 PRINT:PRINT"Please choose:-"
310 WHILE 1:a$=INKEY$
320 IF a$="1" THEN GOTO 430
330 IF a$="2" THEN GOTO 370
340 IF a$="3" THEN MODE 1:PAPER 0:PEN 1:CALL &BC02:END
350 WEND
360 'alternate between keys and joystick
370 kj=NOT kj:IF kj THEN 400
380 PRINT CHR$(24):kj$="KEYS/"+CHR$(24)+"JOYSTICK"
390 lm=74:rm=75:um=72:dm=73:GOTO 260
400 kj$=CHR$(24)+"KEYS/"+CHR$(24)+"JOYSTICK"
410 lm=67:rm=59:um=34:dm=37:GOTO 260
420 'set up screen variables
430 dx=2:dy=17:ix=0:iy=0:p$=CHR$(250)
440 IF gar=1 THEN mx=2:my=6:RESTORE 1150
450 IF gar=2 THEN mx=2:my=6:RESTORE 1360
460 IF gar=3 THEN mx=6:my=3:RESTORE 1570
470 'print screen and set up more screen variables
480 GOSUB 990:in=gar/10
490 PAPER 6:PEN 5:LOCATE mx,my:PRINT p$
500 IF dx<mx THEN dix=in
510 IF dx>mx THEN dix=-in
520 IF dy<my THEN diy=in
530 IF dy>my THEN diy=-in
540 d=scr(dx+dix,dy+diy)
550 IF d<>0 AND d<>5 THEN dix=0:diy=0
560 PAPER col:LOCATE dx,dy:PRINT" ";
570 IF d=0 THEN col=3
580 IF d=5 THEN col=6
590 dx=dx+dix:dy=dy+diy
600 IF mx=dx MOD 19 AND my=dy MOD 19 THEN 760
610 LOCATE dx,dy:PAPER col:PRINT CHR$(242);
620 IF INKEY(lm)>-1 THEN ix=-1:p$=CHR$(250):iy=0
630 IF INKEY(rm)>-1 THEN ix=1:p$=CHR$(251):iy=0
640 IF INKEY(um)>-1 THEN iy=-1:p$=CHR$(252):ix=0
650 IF INKEY(dm)>-1 THEN iy=1:p$=CHR$(253):ix=0
660 PAPER 6:LOCATE mx,my:PRINT" "
670 mx=mx+ix:my=my+iy
680 s=scr(mx,my):IF s=5 THEN 490
690 IF s=0 THEN 740
700 IF s>0 AND s<5 THEN 760
710 FOR w=1 TO (4-g)*50:NEXT
720 GOTO 490
730 'increase score
740 sc=sc+1:scr(mx,my)=5:g=g+1:IF g=g(gar) THEN 860 ELSE 490
750 'crashed!
760 OUT &BC00,8:OUT &BD00,1
770 SOUND 1,RND*200+50,0,0,1,0,RND*31
780 PAPER 0:PEN 1:CLS
790 CLS:PRINT name$(INT(RND*3)+1)+"!!  Come and tell this mower   he is FIRED!!"
800 IF dx=mx AND dy=my THEN PRINT"He ran over me he did!"
810 OUT &BC00,8:OUT &BD00,0
820 PRINT:PRINT"You managed to mow ";sc;" square feet"
830 PRINT:PRINT"Press any key":WHILE INKEY$<>"":WEND
840 sc=0:g=0:CALL &BB18:MODE 1:GOTO 180
850 'finished screen and on to next
860 FOR i=100 TO 50 STEP -2:SOUND 1,i,2,15:NEXT:SOUND 1,i,0,0,1
870 PRINT:PRINT"You have finished the garden!!"
880 PRINT"You can now go onto the next"
890 PRINT"Press any key."
900 CALL &BB18:gar=gar+1:g=0
910 IF gar=4 THEN GOTO 940
920 GOTO 430
930 'message if completed all 3 screens
940 a$="CONGRATULATIONS!! You must be brilliant. OR have you cheated? I hope that you havn't. 'What now?' you may well ask. Well finish reading this message for one!....................Credits all go to me - J.Morris! Thankyou. Well done anyway.Bravo!"
950 FOR i=1 TO 246:LOCATE 1,1:PRINT MID$(a$,i,18);
960 FOR j=1 TO 10:NEXT:NEXT
970 PRINT"Press any key!":CALL &BB18:GOTO 170
980 'print screen etc.
990 MODE 0
1000 ORIGIN 24,386,24,626,388,360:CLG 3
1010 WINDOW #1,2,19,2,3:PAPER #1,1:PEN #1,0:CLS #1
1020 ORIGIN 24,386,24,626,320,8:CLG 3
1030 WINDOW 2,19,5,24:PAPER 0:PEN 1:CLS
1040 FOR i=1 TO 20
1050 READ a$
1060 FOR l=1 TO 18
1070 m$=MID$(a$,l,1):v=VAL(m$)
1080 scr(l,i)=v:LOCATE l,i
1090 ON v+1 GOSUB 1110,1120,1130,1140
1100 NEXT:NEXT:RETURN
1110 PEN 3:PRINT CHR$(143);:RETURN:'grass
1120 PEN 4:PAPER 1:PRINT CHR$(240);:RETURN:'wall
1130 PEN 2:PAPER 6:PRINT CHR$(241);:RETURN:'flower
1140 PAPER 0:PEN 5:PRINT CHR$(127);:RETURN:'water
1150 DATA 111111111111111111
1160 DATA 122222222222222221
1170 DATA 122222222322233221
1180 DATA 122222222322333321
1190 DATA 100000000333333321
1200 DATA 100000000033333321
1210 DATA 100000000000033221
1220 DATA 100000000000000021
1230 DATA 100000000000000001
1240 DATA 100000000000000001
1250 DATA 100000000000000001
1260 DATA 100000000000000001
1270 DATA 100000000000000001
1280 DATA 100000000000000001
1290 DATA 100000000000000001
1300 DATA 100000000000000001
1310 DATA 100000000000000001
1320 DATA 100000000000000001
1330 DATA 100000000000000001
1340 DATA 111111111111111111
1350 'garden 2
1360 DATA 111111111111111111
1370 DATA 111111111111111111
1380 DATA 111111333311112222
1390 DATA 111133333333111222
1400 DATA 133333333333311122
1410 DATA 100000000033333112
1420 DATA 100000000000000012
1430 DATA 100000000000000001
1440 DATA 100000000001111111
1450 DATA 100000000111111111
1460 DATA 100000011100000001
1470 DATA 100000010000000001
1480 DATA 100000010000000001
1490 DATA 100000000000000001
1500 DATA 100000000000000001
1510 DATA 100000000000000001
1520 DATA 100000001000000001
1530 DATA 100000001000000001
1540 DATA 100000001000000001
1550 DATA 111111111111111111
1560 'garden 3
1570 DATA 111111111111111111
1580 DATA 133311111111111111
1590 DATA 133330000000000001
1600 DATA 100033000000000001
1610 DATA 100003000000000021
1620 DATA 100003000000000221
1630 DATA 100003000000000221
1640 DATA 100003000000000221
1650 DATA 100003300000000021
1660 DATA 100000000000000001
1670 DATA 100003300000000001
1680 DATA 133333300000000001
1690 DATA 111111101111111111
1700 DATA 100000000000000001
1710 DATA 100000000000000001
1720 DATA 100000000000000021
1730 DATA 100000000000000221
1740 DATA 100000000000022221
1750 DATA 100000000022222221
1760 DATA 111111111111111111