home *** CD-ROM | disk | FTP | other *** search
- 100 REM ****** CONNECT 4 ********
- 130 DIMB(8,7),E(2,9),Y(3),X(3)
- 200 GOSUB8000
- 220 IFNP=1ANDRND(0)>.5THENPRINT" I'LL GO FIRST THIS TIME":GOTO300
- 250 C=2:GOSUB7000
- 300 C=1
- 310 IFNP=2THENGOSUB7000:GOTO250
- 350 GOSUB1000:GOTO250
- 499 REM * EVAL X & Y
- 500 E=EC(X)
- 510 FORD=0TO3
- 520 Q=X(D):R=Y(D)
- 530 FORC1=1TO2
- 540 N=0:I=X+Q:J=Y+R
- 550 IFB(I,J)<>C1THEN580
- 560 I=I+Q:J=J+R:N=N+1
- 570 IFB(I,J)=C1THEN560
- 580 O=(B(I,J)=0)
- 590 I=X-Q:J=Y-R
- 600 IFB(I,J)<>C1THEN630
- 610 I=I-Q:J=J-R:N=N+1
- 620 IFB(I,J)=C1THEN610
- 630 O=-(B(I,J)=0)-O
- 640 A=N*3+O:IFA>9THENA=9
- 645 C2=C1:IFC=2THENC2=3-C2
- 650 E=E+E(C2,A)
- 660 NEXT
- 670 NEXT
- 890 RETURN
- 996 /22
- 1000 REM ***** COMP MOVE ********
- 1020 B=-1:BE=-1E9
- 1050 FORX=1TO7
- 1060 GOSUB1900:IFY>6THEN1200
- 1100 GOSUB500
- 1110 PRINT""TAB(X*3+5)MID$(STR$(E),2)
- 1120 IFE>BETHENBE=E:B=X
- 1200 NEXTX
- 1400 X=B:IFX<0THENRETURN
- 1410 GOSUB7500
- 1420 IFE<500THENRETURN
- 1430 PRINT"ƒ I WIN. HIT SPACE "
- 1440 GETA$:IFA$<>" "THEN1440
- 1450 RUN
- 1900 FORY=1TO6:IFB(X,Y)THENNEXT
- 1910 RETURN
- 7000 GOSUB7400
- 7020 PRINT" "MID$("WHITEBLACK",C*5-4,5)" MOVE (OR STOP) "
- 7030 GETA$:IFA$<>""THEN7030
- 7050 GETA$:IFA$="S"THENRUN
- 7100 X=VAL(A$)
- 7110 IFX=0ORX>7THEN7050
- 7120 GOSUB7500
- 7150 IFY>6THEN7050
- 7200 IFE<500THEN7400
- 7210 PRINT" YOU WIN. HIT SPACE "
- 7250 GETA$:IFA$<>" "THEN7250
- 7270 RUN
- 7400 FORA=1104TO1223:POKEA,32
- 7410 NEXT
- 7490 RETURN
- 7500 FORY=1TO6
- 7510 IFB(X,Y)THENNEXT:RETURN
- 7550 FORA=X*3+1189TO
- 7555 POKEA-40,32:POKEA-39,32
- 7560 IFC=1THENPOKEA,233:POKEA+1,223:POKEA+40,95:POKEA+41,105
- 7570 IFC=2THENPOKEA,78:POKEA+1,77:POKEA+40,77:POKEA+41,78
- 7600 NEXTA
- 7610 GOSUB500
- 7650 B(X,Y)=C
- 7990 RETURN
- 8000 REM ******* NEW GAME **********
- 8010 PRINT"ô₧ *** CONNECT 4 *** "
- 8020 PRINT" 1 OR 2 PLAYERS ? "
- 8025 POKE53281,0:POKE53280,10
- 8050 PRINT""
- 8100 FORX=1TO18:PRINT" ▌ ▌ ▌ ▌ ▌ ▌ ▌ ▌":NEXT
- 8120 PRINT" 1 2 3 4 5 6 7 "
- 8130 GETA$:NP=VAL(A$)
- 8140 IFNP<1ORNP>2THEN8130
- 8200 FORX=1TO7:FORY=1TO6
- 8205 B(X,Y)=0:NEXT:NEXT
- 8210 FORX=0TO8:B(X,0)=-1
- 8215 B(X,7)=-
- 8220 FORY=0TO7:B(0,Y)=-1
- 8225 B(8,Y)=-1:NEXT
- 8400 RESTORE
- 8410 FORC=1TO2:FORX=0TO9
- 8415 READE(C,X):NEXT:NEXT
- 8420 FORX=0TO3:READX(X):NEXT
- 8430 FORX=0TO3:READY(X):NEXT
- 8450 FORX=1TO7:READEC(X):NEXT
- 8490 RETURN
- 9600 DATA0,2,3,0,4,6,1,12,16,1000
- 9620 DATA0,0,0,0,2,3,0,8,11,120
- 9700 DATA0,1,1,1
- 9710 DATA1,1,0,-1
- 9750 DATA0,0,1,3,1,0,0
-