10 REM GRAND PRIX.
20 REM à PAUL STANLEY. 25 REM PAN BOOKS 1984 30 MODE 1:BORDER 0:INK 0,0:INK 1,24:INK 2,20:INK 3,6:WINDOW #1,1,40,1,25:PAPER #1,0:PEN #1,1:CLS #1 40 DIM B$(3),I(3):FOR F=1 TO 3:B$(F)="":I(F)=0:NEXT 50 GOSUB 880 60 GOSUB 410 70 WINDOW #0,5,36,1,25:PAPER #0,0:PEN #0,1:CLS #0 80 LOCATE 1,24:PEN 3:PRINT CHR$(20);"ENTER SKILL (1-good to 4-bad)";:INPUT SK:IF SK<1 OR SK>4 THEN 80:PEN 1 90 LOCATE 1,24:PEN 2:PRINT CHR$(20);"How many laps";:INPUT LAPS:IF LAPS <1 THEN 90:PEN 1 100 LOCATE 1,24:PRINT CHR$(20);"1-hard Or 2-Easy Circuit";:INPUT CI:IF CI<>1 AND CI<>2 THEN 100 110 CLS:GOSUB 490 120 READ Q 130 LOCATE 18,3:PEN 3:PRINT"READY";:GOSUB 900:SOUND 1,120,3:SOUND 1,180,3:LOCATE 18,3:PEN 2:PRINT"STEADY";:GOSUB 900:SOUND 1,120,3:SOUND 1,90,3:LOCATE 18,3:PEN 1:PRINT"GO ";:SOUND 1,180,3:SOUND 1,90,3:LOCATE 18,3:PRINT" "; 140 GOSUB 900 150 IF INKEY$<>"" THEN 150 160 IF INKEY$="1" THEN G=1:SOUND 1,200,3 170 IF INKEY$="2" THEN G=2:SOUND 1,170,3 180 PO=PO-(INKEY(1)=0 AND PO<227)+7*(INKEY(1)=0 AND PO=227)+(INKEY(8)=0 AND PO>220)-7*(INKEY(8)=0 AND PO=220):IF X<5 THEN C=1 190 FOR F=1 TO G 200 SOUND 1,250,1:SOUND 1,300,1 210 Y=Y+(PO>220 AND PO<224)-(PO>224):X=X+(PO<222 OR PO=227)-(PO>222 AND PO<226) 220 LOCATE X+1,Y+1:CALL 360:K=PEEK(367): IF K=228 OR K=0 THEN Y=Y1:X=X1:SOUND 1,90,3:PO=INT(RND*8)+220 230 PEN 0:LOCATE X1+1,Y1+1:PRINT CHR$(PO1);:PEN 1 240 LOCATE X+1,Y+1:PRINT CHR$(PO); 250 Y1=Y:X1=X:PO1=PO 260 IF Y=10 THEN IF X>27 THEN IF C=1 THEN SOUND 1,200,3:L1=L1+1:LOCATE 11,1:PRINT MID$(STR$(L1),2);:C=0:IF L1=LAPS+1 THEN 370 270 NEXT F 280 SOUND 1,1180,1:SOUND 1,500,1 290 PEN 3:CY=CY+(CPO>220 AND CPO<224)-(CPO>224):CX=CX+(CPO<222 OR CPO=227)-(CPO>222 AND CPO<226):PEN 1 300 READ Q:CPO=220+Q 310 SOUND 1,1180,1:SOUND 1,500,1 320 PEN 0:LOCATE CX1+1,CY1+1:PRINT CHR$(CPO);:PEN 1 330 PEN 3: LOCATE CX+1,CY+1:PRINT CHR$(CPO);:PEN 1 340 CY1=CY:CX1=CX:CPO1=CPO 350 IF CY=11 THEN IF CX=30 THEN FG=1:GOSUB 710:L2=L2+1:SOUND 1,120,1:IF L2=LAPS+1 THEN 370 ELSE LOCATE 30,1:PRINT MID$(STR$(L2),2); 360 GOTO 160 370 FOR F=1 TO 40:SOUND 1,(F+100),3:NEXT 380 LOCATE 3,24:PRINT CHR$(24);"PRESS ANY KEY TO PLAY AGAIN.";CHR$(24); 390 IF INKEY$<>"" THEN 390 400 IF INKEY$="" THEN 400 ELSE CLS:GOTO 80 410 a$=" GRAND PRIX - BY PAUL STANLEY" 420 PEN 2:LOCATE 1,5:PRINT"Steer your car around the Race-track andtry to beat [A] car driven by the computer.":PEN 1 430 PEN 3:PRINT:PRINT"Turn left with the left arrow key and right with the right arrow key.":PEN 1 440 PRINT:PRINT"You can select gears with [1] slow and [2] fast.The computer will stay in [1]" 450 PEN 3:PRINT:PRINT"If you crash you will restart randomly. So you must sort yourself out as fast aspossible.Your car is the Yellow one.":PEN 1 460 PRINT:PRINT:PRINT" PRESS ANY KEY TO START" 470 PEN 1:B$=STRING$(40,46)+A$+STRING$(40,46):FOR N=1 TO LEN(B$)-40:IF INKEY$<>"" THEN CLS ELSE LOCATE 1,1:PRINT CHR$(24);MID$(B$,N,40);CHR$(24):PEN 1:LOCATE 1,24:PRINT CHR$(24);MID$(B$,N,40);CHR$(24):NEXT:PEN 1 : GOTO 470 480 RETURN 490 RESTORE 510 500 SYMBOL AFTER 219 510 SYMBOL 220,0,110,132,252,252,132,110,0 520 SYMBOL 221,40,108,240,58,223,76,24,8 530 SYMBOL 222,60,90,90,24,90,126,90,0 540 SYMBOL 223,20,54,15,92,251,50,24,16 550 SYMBOL 224,0,118,33,63,63,33,118,0 560 SYMBOL 225,16,24,50,251,92,15,54,20 570 SYMBOL 226,0,90,126,90,24,90,90,60 580 SYMBOL 227,8,24,76,223,58,240,108,40 590 SYMBOL 228,60,66,189,165,165,189,66,60 600 LOCATE 1,2 610 M$=" IIIIIIIIIIIIIIIIIIIIIIIIIIII II II II III IIIIIIIII II II I II II II I II II IIIIIIIIII I II I":GOSUB 860 620 M$="I I I I II I I I II I I I I III I III I I I IIIIII I I I I I I II I I I I I I IIIIII I I I I I I":GOSUB 860 630 M$="II I I I II II II I I I IIIII II IIIIII I I II I I II I I III II II II IIIIIIIIIIIIII IIIIIIIIIIIII":GOSUB 860 640 LOCATE 28,12:PEN 3:PRINT CHR$(228);" ";CHR$(228);:PEN 1 650 IF CI=1 THEN LOCATE 7,4:PEN 2:PRINT CHR$(228);CHR$(228);:LOCATE 6,5:PRINT CHR$(228);CHR$(228);:LOCATE 3,9:PRINT CHR$(228);:LOCATE 3,10:PRINT CHR$(228);CHR$(228); 660 IF CI=1 THEN LOCATE 4,18:PRINT CHR$(228);:LOCATE 4,19:PRINT CHR$(228);:LOCATE 19,9:PRINT CHR$(228);:LOCATE 29,14:PRINT CHR$(228);:PEN 1 670 DATA 2,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,0,7,5,5,5,5,6,6,7,7,0,7,6,5,4,4,4,4,4,4,3,2,2,2,2,2,3,3,3,4,5,5,6,6,6,6,5,5,4,4,4,4,4,4,4,3,3,3,2,2,2,2 680 DATA 2,2,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,0,7,6,5,4,5,5,5,6,7,7,0,7,6,5,4,4,4,4,4,4,3,3,2,2,2,2,3,3,3,4,5,6,6,6,5,5,5,5,4,4,4,4,3,3,3,3,2,2,2 690 DATA 2,2,2,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,0,0,0,0,0,0,7,7,6,6,5,4,4,4,4,4,5,5,6,6,6,7,0,0,0,0,0,7,6,5,4,4,4,4,4,4,4,4,3,3,3,2,2,2,2,2,2,3,3,3,4,5,6,6,6,6,6,6,6,6,5,5,5,5,4,4,3,3,3,3,3,2,2,2,2,2 700 DATA 2,2,2,2,2,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0.0,7,6,6,6,6,5,4,4,4,4,4,5,5,5,6,7,7,0,0,0,0,0,7,7,6,5,4,4,4,4,4,4,4,4,4,3,3,3,2,2,2,2,2,2,2,2,3,3,4,4,5,5,6,6,6,6,6,6,6,6,5,5,4,4,4,4,4,3,3,3,2,2,2,2,2,2,2 710 IF SK=1 THEN RESTORE 670 720 IF SK=2 THEN RESTORE 680 730 IF SK=3 THEN RESTORE 690 740 IF SK=4 THEN RESTORE 700 750 IF FG=1 THEN FG=0: RETURN 760 PO=222:CPO=222 770 Y=10:X=28:CY=Y:CX=30 780 Y1=Y:X1=X:PO1=PO 790 CY1=CY:CX1=CX:CPO1=CPO 800 L1=1:L2=L1 810 G=1:C=0 820 PEN 1:LOCATE X+1,Y+1:PRINT CHR$(PO);" ";:PEN 3:PRINT CHR$(CPO); 830 LOCATE 1,1:PRINT CHR$(24);"YOUR LAPS:";MID$(STR$(L1),2);" ";CHR$(24); 840 PEN 2:PRINT CHR$(24);" COMPUTER'S LAPS:";MID$(STR$(L2),2);" ";CHR$(24);:PEN 1 850 RETURN 860 PEN 2: FOR X=1 TO LEN(M$):IF MID$(M$,X,1)=" " THEN PRINT " "; ELSE PRINT CHR$(155+ASC(MID$(M$,X,1))); 870 NEXT:PEN 1:RETURN 880 RESTORE 890:FOR X=360 TO 366:READ A:POKE X,A:NEXT:RESTORE:RETURN 890 DATA 205,96,187,50,111,1,201 900 FOR LX=1 TO 800:NEXT 910 RETURN |