10 POKE53281,0:POKE53280,0:PRINT"[147]" 20 DIMIN(15,4):FORA=984TO1023:POKEA,32:NEXT 30 DR(0)=-40:DR(1)=1:DR(2)=40:DR(3)=-1 40 CL(1)=3:CL(2)=4:CL(3)=11:CL(4)=9 50 P(1)=1360:P(2)=1358:P(3)=1440:P(4)=1438:CO=54272 60 FORX=1TO4:P(X)=1024+INT(RND(1)*15)*2+INT(RND(1)*10)*80:NEXT 70 GOTO560 80 PRINT"[147]";:FORX=1TO10:FORY=1TO15:PRINT"[209] ";:NEXT:PRINT:PRINT:NEXT 90 GOSUB630:PRINTTAB(22);" I[157][157]J[219]K[157][157]M" 100 QF=1:FORPL=1TO4:P=P(PL):CL=CL(PL):Q=0:FL=0 110 P1=P:GOSUB380:P2=SI:LF=0 120 GOSUB470:GOSUB630:PRINT"PLAYER"PL"'S TURN";:POKE646,CL:PRINT" [209]" 130 PRINT " " 140 GOSUB380 150 IN=IN(SI,PL):IFIN=0THENGOSUB290 160 GOTO500 170 IFABS(IN)=1THENPOKEP+IN,67:GOTO190 180 POKEP+IN,66 190 POKEP+CO,1:POKEP+CO+IN*2,CL:POKEP+IN+CO,CL 200 P(PL)=P+IN*2:GOSUB410 210 IF(S1=15)AND(PEEK(X+D)=32)THENPOKEX+D,160:POKEX+D+CO,CL:B(PL)=B(PL)+1 220 IF(S2=15)AND(PEEK(X-D)=32)THENPOKEX-D,160:POKEX-D+CO,CL:B(PL)=B(PL)+1 230 P=P(PL):GOSUB520 240 GOSUB380:IFP1=PANDP2=SITHENLF=1:Q=9 250 IFQ=>9THEN270 260 Q=Q+1:GOTO140 270 IFLF=0THENQF=0 280 NEXTPL:GOTO640 290 GOSUB630:PRINT"WHAT DIRECTION":POKEP+CO,CL:POKE198,0 300 IFTY(PL)=2THENGOSUB340:Q=10:GOTO330 310 GETA$:IFA$<>"I"ANDA$<>"M"ANDA$<>"J"ANDA$<>"K"THEN310 320 Q=10:D=(A$="J")*-3+(A$="K")*-1+(A$="M")*-2 330 IN(SI,PL)=DR(D):IN=IN(SI,PL):RETURN 340 IFSI=15THEND=INT(RND(1)*4):RETURN 350 IFFL=>4THEND=INT(RND(1)*4):RETURN 360 D=INT(RND(1)*4):IF(SIAND2^D)=2^DTHEN360 370 FL=FL+1:RETURN 380 SI=0:FORX=0TO3:I=PEEK(DR(X)+P) 390 IFI<>32THENSI=SI+2^X 400 NEXT:RETURN 410 S1=0:S2=0:X=(P(PL)+P)/2:IFABS(X-P)=1THEND=40:GOTO430 420 D=1 430 FORY=0TO3:Z=PEEK(X+DR(Y)+D):IF(Z=66)OR(Z=67)THENS1=S1+2^Y 440 NEXT 450 FORY=0TO3:Z=PEEK(X+DR(Y)-D):IFZ=(66)OR(Z=67)THENS2=S2+2^Y 460 NEXT:RETURN 470 GOSUB630:PRINT" " 480 PRINT" " 490 PRINT" ":GOTO520 500 IFPEEK(P+IN*2)=81THEN170 510 GOSUB630:PRINT:GOSUB480:GOSUB630:PRINT"ILLEGAL MOVE":GOSUB290:GOTO140 520 PRINT"":FORX=1TO4 530 PRINT TAB(29);" PLR."X;:POKE646,CL(X):PRINT"[209]" 540 PRINTTAB(30);B(X):NEXT 550 RETURN 560 PRINT"[147][129]"SPC(16)"SQUARES" 570 PRINT" [159]1. PLAYER CONTROLLED 580 [153]" 2. COMPUTER CONTROLLED 590 FORX=1TO4 600 PRINT"[158] SNAKE "X" (CHOOSE 1 OR 2)" 610 GETA$:IFVAL(A$)>2ORVAL(A$)=0THEN610 620 TY(X)=VAL(A$):NEXT:GOTO80 630 PRINT"":FORQQ=1TO18:PRINT:NEXT:RETURN 640 IFQF=0THEN100 650 PRINT"[147]"SPC(14)"[129]GAME OVER!" 660 FORX=1TO4:POKE 646,CL(X):PRINTTAB(7)"PLAYER"X;"...."B(X)" SQUARES" 670 NEXT 680 PRINT""SPC(10)"ANOTHER GAME? (Y/N)":POKE198,0 690 GETA$:IFA$="Y"THENRUN 700 IFA$="N"THENPRINT"[147]":END 710 GOTO690