2 ' SERPEN.BA by Marc LeMay, Quebec, Canada 4 ' With his permission uploaded by Russ Hall 6 ' Use space bar to proceed and "M" to exit. Eat the dots! 8 ' NOTE! Uses high memory. (See line 740) 10 GOTO740 20 CLEAR500:PL=2 30 DEFINTA-B,D-Z:DEFSTRC 40 DIME(10) 50 CLS:GOSUB590 60 CLS:GOSUB670 70 LINE(20,15)-(65,46),1,B 80 A=RND(1) 90 LINE(20,28)-(40,35):LINE(40,39)-(40,46) 100 C="":L=2:M=0:P=42:Q=30:P1=42:Q1=31:B=0:A=1:X=42:Y=28:F=-1:K=19:I=A 110 PRINT@98,"Points:"; 120 PRINT@139,L; 130 PRINT@178,"Record:";:PRINT@219,PL; 140 N=0 150 CALL62862,X,Y:IFF=-1ANDPEEK(62862)THEN510 160 IFPEEK(62862)=0THEN250 170 IFF=-1THEN250 180 H=0 190 FORG=0TOF 200 IFE(G)<>(X+Y*256)THEN220 210 M=M+5:FORJ=GTOF:E(J)=E(J+1):NEXT:F=F-1:SOUND3,1:GOTO250 220 H=H+1 230 NEXT 240 IFH=F+1THEN510 250 PSET(X,Y):IFP<>P1ORQ<>Q1THENPRESET(P,Q) 260 P1=P:Q1=Q 270 D$=INKEY$:IFD$="."THEND=3ELSEIFD$=","THEND=7ELSEIFD$="Q"THEND=1ELSEIFD$="A"THEND=5ELSED=0 280 IFD=1ORD=3ORD=5ORD=7THENA=D 290 IFA<>BTHENC=C+CHR$(X)+CHR$(Y)+CHR$(A) 300 B=A 310 K=K-(K<>20) 320 IFK=20ANDF<9THENGOSUB450 330 L=L-(M<>0):IFM<>0THENSOUND49,1:PRINT@139,L; 340 IFPL0) 360 IFM>0THEN420 370 IFLEN(C)=0THEN400 380 IFP<>ASC(MID$(C,1,1))ORQ<>ASC(MID$(C,2,1))THEN400 390 I=ASC(MID$(C,3,1)):C=MID$(C,4,LEN(C)-3) 400 P=P+(I=7)-(I=3) 410 Q=Q+(I=1)-(I=5) 420 X=X+(A=7)-(A=3) 430 Y=Y+(A=1)-(A=5) 440 GOTO150 450 IFF=9THENRETURN 460 O=RND(1)*43+21:R=RND(1)*29+16 470 CALL62862,O,R:IFPEEK(62862)THEN460 480 F=F+1:E(F)=O+R*256 490 PSET(O,R) 500 K=0:RETURN 510 X=X-(A=7)+(A=3):Y=Y-(A=1)+(A=5):FORI=1TO10:SOUND47,4:PSET(X,Y):SOUND48,4 520 PRESET(X,Y):NEXT 530 CLS:PRINT" Vous etes plante "; 540 IFNTHENPRINT", mais vous detenez le record "; 550 PRINT"a"L"points"; 560 K$=INKEY$:IFK$="M"THENMENU 570 IFK$<>" "THEN560 580 GOTO60 590 PRINT@0,"LE SERPENT et les OEUFS:" 600 PRINT@45,"Touche > = pour aller a droite"; 610 PRINT@85,"Touche < = pour aller a gauche"; 620 PRINT@125,"Touche Q = pour aller en haut"; 630 PRINT@165,"Touche A = pour aller en bas"; 640 PRINT@240,"Accumuler le plus de points possible en mangeant le plus d'oeufs possible..."; 650 IFINKEY$<>" "THENA=RND(1):GOTO650 660 RETURN 670 DATA 0,6,1,5,1,6,1,7,2,4,2,5,2,7,2,8,3,4,3,5,3,6,3,7,3,8,4,4,4,5,4,7,4,8,5,4,5,5,5,6,5,7,5,8,6,4,6,5,6,6,6,7,6,8,7,5,7,6,7,7,8,5,8,6,8,7,8,8,9,6,9,7,9,8,9,9 680 DATA 10,7,10,8,10,9,10,10,11,8,11,9,11,10,11,11,12,9,12,10,12,11,12,12,13,10,13,11,13,12,13,13,14,11,14,12,14,13,14,14,15,12,15,13,15,14,16,13,16,14,16,15,17,13,17,14,17,15,18,14,18,15,19,14,19,15,19,16 690 DATA 20,14,20,15,20,16,21,15,21,16,22,15,22,16,23,15,23,16,23,17,24,15,24,16,24,17,25,16,25,17,26,16,26,17,27,16,27,17,28,16,28,17,29,16,29,17,30,15,30,16,30,17,31,15,31,16,31,17,32,15,32,16,33,14,33,15,33,16,34,14,34,15,34,16 700 DATA 35,14,35,15,36,14,36,15,37,15,38,15,39,15,40,15,41,15,99,99 710 RESTORE670 720 READX,Y:IFX=99THENRETURN 730 PSET(X+165,Y+17):GOTO720 740 CLEAR256,62861 750 DATA 0,0,0,103,235,213,205,184,245,209,123,230,7,6,1,254,0,202,171,245,61,79,120,23,71,121,195,157,245,58,236,255,160,202,180,245,62,1,50,142,245,201 760 DATA 175,245,205,92,118,213,14,254,122,12,12,87,214,50,210,193,245,6,0,33,67,118,123,23,23,23,210,216,245,33,77,118,9,71,205,59,117,120,230,192,178,71,30,1,33,236,255,205,245,116,209,241,201,256 770 RESTORE750:A=62862 780 READB:IFB>255THEN20 790 POKEA,B:A=A+1:GOTO780