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 |