5 ' d'apres YOUR COMPUTER 1/85
10 INK 1,24:INK 0,1:INK 2,20:INK 3,6
20 RANDOMIZE TIME:CALL &BB03
30 GOSUB 790
40 GOSUB 650
50 CLS:GOTO 410
60 IF INT(RND*100)>98 AND fg=1 THEN GOSUB 300
70 IF fg=0 THEN cou=cou-1:IF cou=0 THEN GOSUB 290
80 IF wi<1 THEN SOUND 131,0,50,7,0,0,3:fred=REMAIN(1):lives=lives-1:IF lives>0 THEN 540 ELSE GOTO 320
90 LOCATE a,b:PEN 1:PRINT CHR$(240):PRINT CHR$(22);CHR$(1):LOCATE a,b:PEN 3:PRINT CHR$(241):PEN 1:PRINT CHR$(22);CHR$(0)
100 IF e>0 THEN LOCATE c(e),d(e):PRINT" "
110 IF e>180 THEN e=0
120 e=e+1
130 IF f>180 THEN f=0
140 f=f+1:c(f)=a:d(f)=b
150 x$=UPPER$(INKEY$):IF x$="" THEN x$=z$
160 IF x$=l$ THEN t=FN tl:Z$=l$:A=A-1:GOTO 210
170 IF x$=r$ THEN t=FN tr:Z$=r$:A=A+1:GOTO 210
180 IF x$=u$ THEN t=FN tu:Z$=u$:B=B-1:GOTO 210
190 IF x$=d$ THEN t=FN td:Z$=d$:B=B+1:GOTO 210
200 GOTO 60
210 IF t=0 THEN 60 ELSE ON t GOSUB 230,250,270
220 ON ff GOTO 540,320,60
230 IF t=1 THEN fg1=0:SOUND 4,0,10,5,0,0,8:FOR n=1 TO 3:f=f+1:IF f>181 THEN f=1
240 c(f)=a:d(f)=b:NEXT:sc=sc+100:LOCATE #1,10,1:PRINT #1,USING"######";sc:ff=3:RETURN
250 IF t=2 THEN SOUND 4,0,10,5,0,0,8:FOR n=1 TO 3:f=f+1:IF f>181 THEN f=1
260 c(f)=a:d(f)=b:NEXT:sc=sc+10:LOCATE #1,10,1:PRINT #1,USING"######";sc:men=men+1:IF men=20 THEN sh=sh+1:fred=REMAIN(1):ff=1:RETURN ELSE ff=3:RETURN
270 IF t=3 THEN SOUND 131,0,50,7,0,0,3:fred=REMAIN(1):lives=lives-1:IF lives>0 THEN ff=1 ELSE ff=2
280 RETURN
290 fg=1:IF fg1=1 THEN LOCATE aa1,bb1:PRINT " ";:RETURN ELSE RETURN
300 aa1=INT(RND*37)+2:bb1=INT(RND*18)+2:IF FN CH=2 OR FN CH=3 THEN RETURN ELSE SOUND 1,30,0,0,1:LOCATE aa1,bb1:IF RND<0.5 THEN PEN 1 ELSE PEN 3
310 PRINT CHR$(245):fg=0:fg1=1:cou=100:RETURN
320 MODE 0:IF sc>VAL(MID$(a$(1),13)) THEN PEN 15:PRINT "YOUR SCORE IS IN THE ";TAB(7);CHR$(10); "TOP TEN " ELSE GOTO 410
330 LOCATE 6,6:PEN 13:PRINT "YOUR NAME ? ";CHR$(10);TAB(3) "(max 10 letters)":LOCATE 6,10:PRINT STRING$(13," "):LOCATE 6,10:CALL &BB03:INPUT "",n$:n$=UPPER$(n$)
340 IF LEN(n$)>10 OR LEN(n$)<1 THEN 330
350 check=10
360 WHILE sc<VAL(MID$(a$(check),13))
370 check=check-1
380 WEND
390 IF check>1 THEN FOR n=1 TO check-1:a$(n)=a$(n+1):NEXT
400 a$(check)=n$+STRING$(11-LEN(n$)+7-LEN(STR$(sc))," ")+STR$(sc)
410 CLS:PEN 15:PRINT TAB(5) "HIGH SCORES";CHR$(10):FOR n=10 TO 1 STEP -1
420 PEN INT(RND*4)+1:PRINT TAB(2) a$(n);CHR$(10);
430 NEXT
440 CALL &BB03
450 LOCATE 1,24:PEN 12:PRINT "PRESS";:PEN 11:PRINT " C ";:PEN 12:PRINT "TO CONTINUE":LOCATE 1,25:PRINT "OR ";:PEN 11:PRINT "O ";:PEN 12:PRINT "FOR KEY OPTIONS";
460 sc=0:sh=0:lives=3
470 IF INKEY(62)<>-1 THEN GOTO 520
480 IF INKEY(34)<>-1 THEN GOSUB 650:CLS:GOTO 410
490 IF INKEY(58)<>-1 THEN INK 0,13:INK 1,0:PAPER 0:PEN 1:BORDER 13:MODE 2:LIST
500 GOTO 470
510 DI:wi=wi-1:PLOT wi,4,1:DRAWR 0,8,1:IF wi=100 THEN SOUND 2,150,0,0,2:EI:RETURN ELSE EI:RETURN
520 INK 2,0:INK 0,0:INK 1,0:INK 3,0:BORDER 0:PAPER 0:MODE 1:WINDOW 1,40,1,21:WINDOW #1,1,40,23,23:WINDOW #2,2,39,2,20:PAPER #1,0
530 CLS:PEN 3:PAPER 0:FOR n=2 TO 20:LOCATE 1,n:PRINT CHR$(254);:LOCATE 40,n:PRINT CHR$(247);:NEXT:LOCATE 1,1:PRINT CHR$(249);STRING$(38,CHR$(248));CHR$(250);:LOCATE 1,21:PRINT CHR$(251);STRING$(38,CHR$(253));CHR$(252);
540 INK 2,0:INK 0,0:INK 1,0:INK 3,0:CLS #2:PEN 3:PAPER 1:LOCATE 2,6:PRINT STRING$((sh MOD 6)*4,CHR$(244)):LOCATE 40-((sh MOD 6)*4),15:PRINT STRING$((sh MOD 6)*4,CHR$(244))
550 IF sh>5 THEN PEN 3:PAPER 0:LOCATE 30,2:GOSUB 640:LOCATE 10,15:GOSUB 640:IF sh>11 THEN LOCATE 35,2:GOSUB 640:LOCATE 5,15:GOSUB 640:IF sh>17 THEN LOCATE 25,2:GOSUB 640:LOCATE 15,15:GOSUB 640
560 PAPER 0:LOCATE 10,5:PEN 1:PRINT CHR$(240):PRINT CHR$(22);CHR$(1):LOCATE 10,5:PEN 3:PRINT CHR$(241)
570 FOR v=1 TO 20
580 aa1=INT(RND*37)+2:bb1=INT(RND*18)+2:IF FN ch=2 OR FN ch=3 THEN GOTO 580
590 LOCATE aa1,bb1:PEN 2:PRINT CHR$(242):LOCATE aa1,bb1:PEN 3:PRINT CHR$(243):NEXT:PRINT CHR$(22)+CHR$(0):ORIGIN 0,0,0,100,12,4:CLG 3:ORIGIN 0,0,101,640,12,4:CLG 2:ORIGIN 0,0,0,640,400,0
600 PEN #1,1:CLS #1:PRINT #1,TAB(4)"SCORE":LOCATE #1,10,1:PRINT #1,USING"######";sc;:LOCATE #1,30,1:PRINT #1,"LIVES ";lives:INK 2,24:INK 0,0:INK 3,6:INK 1,26
610 men=0:z=0:z$=" ":e=0:f=0:a=10:b=5:c(1)=10:d(1)=5:fg=1:wi=639:EVERY 4,1 GOSUB 510
620 CALL &BB03
630 GOTO 60
640 PRINT cl1$;:PRINT cl2$;:PRINT cl2$;:PRINT cl2$;:PRINT cl2$;:PRINT cl3$:RETURN
650 MODE 0:PAPER 13:CLS:BORDER 22:PEN 5:LOCATE 7,6:PRINT "KEYBOARD":PRINT:PRINT TAB(10)"OR":PRINT:PRINT TAB(7)"JOYSTICK":PRINT:PRINT TAB(8)"(k..j)"
660 CALL &BB03
670 IF INKEY(37)<>-1 THEN du$=INKEY$:GOTO 700
680 IF INKEY(45)<>-1 THEN l$=CHR$(8):r$=CHR$(9):u$=CHR$(11):d$=CHR$(10):GOTO 780
690 GOTO 670
700 CLS:PEN 6:PRINT "DEFINE YOUR OWN KEYS":PRINT TAB(5)"AS PROMPTED":PEN 5:LOCATE 7,7:PRINT"LEFT: ";:CALL &BB03
710 l$=UPPER$(INKEY$):IF l$="" THEN 710 ELSE PRINT l$
720 PEN 7:LOCATE 6,9:PRINT "RIGHT: ";:CALL &BB03
730 r$=UPPER$(INKEY$):IF r$="" OR r$=l$ THEN 730 ELSE PRINT r$
740 PEN 3:LOCATE 9,11:PRINT "UP: ";:CALL &BB03
750 u$=UPPER$(INKEY$):IF u$="" OR u$=l$ OR u$=r$ THEN 750 ELSE PRINT u$
760 PEN 8:LOCATE 7,13:PRINT "DOWN: ";:CALL &BB03
770 d$=UPPER$(INKEY$):IF d$="" OR d$=l$ OR d$=r$ OR d$=u$ THEN 770 ELSE PRINT d$
780 FOR n=1 TO 200:NEXT:INK 0,0:INK 1,24:BORDER 0:PAPER 0:RETURN
790 SYMBOL AFTER 199:SYMBOL 200,255,192,127,63,26,26,26,26:SYMBOL 201,255,3,254,252,88,88,88,88:SYMBOL 202,26,26,26,26,63,127,192,255:SYMBOL 203,88,88,88,88,252,254,3,255:SYMBOL 204,26,26,26,26,26,26,26,26:SYMBOL 205,88,88,88,88,88,88,88,88
800 SYMBOL 249,255,180,205,182,157,210,172,187:SYMBOL 250,255,37,203,187,213,95,169,149:SYMBOL 251,169,149,250,171,221,211,164,255:SYMBOL 252,221,53,75,185,108,179,45,255:SYMBOL 253,0,40,102,218,89,213,117,255
810 SYMBOL 254,168,252,198,248,154,228,140,240:SYMBOL 248,255,117,213,89,218,102,40,0:SYMBOL 247,21,63,99,31,89,39,49,15:SYMBOL 242,0,126,24,60,126,126,126,60:SYMBOL 243,0,0,29,2,0,0,0,0
820 SYMBOL 240,0,24,60,102,102,60,24,0:SYMBOL 241,0,0,0,24,24,0,0,0:SYMBOL 244,238,238,0,187,187,0,238,238:SYMBOL 245,126,126,126,126,60,24,24,126:SYMBOL 246,0,42,84,42,0,0,0,0
830 cl1$=CHR$(200)+CHR$(201)+CHR$(8)+CHR$(8)+CHR$(10):cl2$=CHR$(204)+CHR$(205)+CHR$(8)+CHR$(8)+CHR$(10):cl3$=CHR$(202)+CHR$(203)
840 REM 
850 DEFINT a-r,t-z:DIM c(181),d(181):sc=0:sh=0:lives=3:ENV 2,127,6,1:ENV 1,1,15,1,14,-1,5,5,0,1
860 DIM a$(10)
870 a$(10)="MOSSOFT       5000"
880 a$(9)="WILLY WHO?    4500" 
890 a$(8)="SPRIG         4000"
900 a$(7)="SPROG         3500"
910 a$(6)="MR TRAIN      3000"
920 a$(5)="ARNOLD        2500"
930 a$(4)="PSYCHO        2000"
940 a$(3)="STAN STILL    1500"
950 a$(2)="CHAS WHAT?    1000"
960 a$(1)="LITTLE SID     500"
970 DEF FN tr=TEST(a*16+7,(25-b)*16+8):DEF FN tl=TEST(a*16-25,(25-b)*16+8):DEF FN tu=TEST(a*16-9,(25-b)*16+24):DEF FN td=TEST(a*16-9,(25-b)*16-8):DEF FN ch=TEST(aa1*16-7,(25-bb1)*16+8)
980 RETURN