10 SCREEN 1:COLOR 1,0:CLS:RANDOMIZE CVD(TIME$):KEY OFF:CLEAR 100:DEFINT I-S: DIM IB(7,6),N$(2),IR(4),IS(7) 20 CLS:LOCATE 2,1:PRINT " CONNECT-4": PRINT : PRINT " This game can be played between":PRINT :PRINT " two people, or between one person,":PRINT :PRINT " and the IBM-PC": 30 PRINT : PRINT " Which option do you want":PRINT :INPUT "(I=IBM-PC or 2=Two people)";IN$ 40 IF IN$="I" OR IN$="i" THEN II=1: GOTO 200 50 IF IN$="2" THEN II=2: GOTO 70 60 GOTO 10 70 PRINT : INPUT " First player's name";N$(1):PRINT : PRINT " You are the GREEN Pieces" 80 PRINT :INPUT " Second player's name";N$(2):PRINT : PRINT " You will be the RED Pieces" 90 FOR I=1 TO 3000: NEXT I 100 GOSUB 510:IX=0 110 IX=IX+1 120 IF IX<43 THEN GOTO 140 130 CLS :LOCATE 10,12: PRINT "Tie Game!!!!": FOR I=1 TO 2000: NEXT : GOTO 430 140 MD=IX/2: IF MD*2=IX THEN IO=2 ELSE IO=1 150 LOCATE 24,2: PRINT N$(IO);", Your move ";:IN$="" 160 IN$=INKEY$: IF LEN(IN$)=0 THEN GOTO 160 170 IN=VAL(IN$): IF IN<1 OR IN>7 THEN GOTO 150 180 IF IB(IN,1)<>0 THEN GOTO 150 190 GOSUB 580: GOSUB 740: GOTO 110 200 PRINT : INPUT " What's your name";N$(1):PRINT : PRINT " You will be the GREEN Pieces" 210 FOR I=1 TO 3000: NEXT 220 GOSUB 510:IK=0 230 IK=IK+1: IF IK<43 THEN GOTO 250 240 CLS :LOCATE 24,2: PRINT "We TIED!!!" ;: FOR I=1 TO 3000: NEXT : GOTO 480 250 MD=IK/2: IF MD*2=IK THEN IO=2 ELSE IO=1 260 IF IO=2 THEN GOTO 330 270 LOCATE 24,2:PRINT N$(1);", Your move";: N$(2)="I" 280 IN$=INKEY$: IF LEN(IN$)=0 THEN GOTO 280 290 IN=VAL(IN$): IF IN<1 OR IN>7 THEN GOTO 270 300 IF IB(IN,1)<>0 THEN GOTO 270 310 LOCATE 24,1:PRINT " "; 320 GOSUB 580: GOSUB 740: GOTO 230 330 IF IK=2 THEN HX=INT(RND*7): GOTO 405 340 HI=0:HJ=1:HX=4: FOR IX=1 TO 7: GOSUB 1020 350 IF IS(IX)>HI THEN HI=IS(IX):HX=IX:HJ=JX 360 NEXT IX: IF HI=>625 THEN GOTO 410 370 IB(HX,HJ)=2 380 IX=HX: GOSUB 1020:IB(HX,HJ)=0: IF IS(IX)=>3125 GOTO 410 390 IF IS(IX)<625 THEN GOTO 410 400 HX=INT(RND*7): IF IB(HX,1)<>0 THEN GOTO 400 405 HX = INT(RND*7):IF HX = 0 THEN GOTO 405 410 IN=HX: GOSUB 580: GOSUB 740 420 GOTO 230 430 FOR I=1 TO 2000: NEXT I 440 CLS : INPUT "Do you want to play again";IN$ 450 A$=N$(1):N$(1)=N$(2):N$(2)=A$ 460 IF IN$="N" OR IN$="n" THEN SYSTEM ELSE GOTO 465 465 INPUT"Same players? (Return = Yes or NO)";Z$:IF LEFT$(Z$,1)="N" OR LEFT$(Z$,1)="N" THEN GOTO 70 ELSE GOTO 100 470 SYSTEM 480 CLS : INPUT "How about another game";IN$ 490 IF IN$="Y" OR IN$="y" THEN GOTO 220 500 SYSTEM 510 CLS :P=3: FOR I=1 TO 7: LOCATE 1,P:PRINT I;:P=P+5: NEXT 520 FOR I=47 TO 288 STEP 40: FOR J=10 TO 136 STEP 21:PSET(I,J),3: NEXT J,I 530 FOR I=12 TO 291 STEP 40: FOR J=10 TO 136 STEP 21:PSET(I,J),3: NEXT J,I 540 X=8:Y=11:FOR I = 1 TO 8:LINE(X,10)-(Y,136),,BF:X =X + 40:Y = Y + 40:NEXT I 550 LINE(7,136)-(292,138),,BF 560 FOR I=1 TO 7: FOR J=1 TO 6:IB(I,J)=0: NEXT J,I 565 X=8:Y=11:FOR I = 1 TO 8:LINE(X,10)-(Y,136),,BF:X =X + 40:Y = Y + 40:NEXT I 570 RETURN 580 FOR J=1 TO 6: IF IB(IN,J)=0 THEN JN=J: NEXT J 590 IL=IN*40-10: IF IO=2 GOTO 650 600 IB(IN,JN)=1:JL=JN*21-1 635 CIRCLE (IL,JL),12,1:PAINT(IL,JL),1 640 GOTO 730 650 IB(IN,JN)=2:JL=JN*21-1 660 CIRCLE (IL,JL),12,2:PAINT(IL,JL),2 730 RETURN 740 IF JN>3 THEN GOTO 790 750 IC=0:J=JN 760 IF IB(IN,J)=IO THEN IC=IC+1 ELSE IC=0 770 IF IC=4 THEN GOTO 960 780 J=J+1: IF J<7 THEN GOTO 760 790 IC=0: FOR I=1 TO 7: IF IB(I,JN)=IO THEN IC=IC+1 ELSE IC=0 800 IF IC=4 THEN GOTO 960 810 NEXT 820 IC=0:IL=IN:JL=JN 830 IF IL=1 OR JL=6 THEN GOTO 850 840 IL=IL-1:JL=JL+1: GOTO 830 850 IF IB(IL,JL)=IO THEN IC=IC+1 ELSE IC=0 860 IF IC=4 THEN GOTO 960 870 IL=IL+1:JL=JL-1: IF IL>7 OR JL<1 THEN GOTO 890 880 GOTO 850 890 IC=0:IL=IN:JL=JN 900 IF IL=1 OR JL=1 THEN GOTO 920 910 IL=IL-1:JL=JL-1: GOTO 900 920 IF IB(IL,JL)=IO THEN IC=IC+1 ELSE IC=0 930 IF IC=4 THEN GOTO 960 940 IL=IL+1:JL=JL+1: IF IL>7 OR JL>6 THEN GOTO 1010 950 GOTO 920 960 FOR I=1 TO 10:LOCATE 24,2: PRINT N$(IO);" WON!!!!!!!";: 970 FOR J=1 TO 200: NEXT J 980 LOCATE 24,1:PRINT " ";: NEXT I 990 IF II=1 THEN GOTO 480 1000 GOTO 430 1010 RETURN 1020 IS(IX)=0:J=0: IF IB(IX,1)<>0 THEN GOTO 1370 1030 J=J+1: IF J>6 GOTO 1060 1040 IF IB(IX,J)=0 THEN JX=J 1050 GOTO 1030 1060 JA=JX+3 1070 IF JA>6 THEN JA=JA-1: GOTO 1070 1080 IF JA<3 THEN GOTO 1120 1090 IF JA4 THEN GOTO 1180 1150 IF IA>IX THEN GOTO 1180 1160 J=0: FOR I=IA TO IA+3:J=J+1:IR(J)=IB(I,JX): NEXT I 1170 GOSUB 1380:IS(IX)=IS(IX)+IS:IA=IA+1: GOTO 1140 1180 IA=IX-3:JA=JX-3 1190 IF IA<0 THEN IA=IA+1:JA=JA+1: GOTO 1190 1200 IF JA<0 THEN IA=IA+1:JA=JA+1: GOTO 1200 1210 IF IA>IX THEN GOTO 1270 1220 IF IA>4 THEN GOTO 1270 1230 IF JA>JX THEN GOTO 1270 1240 IF JA>3 THEN GOTO 1270 1250 J=0:K=JA-1: FOR I=IA TO IA+3:J=J+1:K=K+1:IR(J)=IB(I,K): NEXT I 1260 GOSUB 1380:IS(IX)=IS(IX)+IS:IA=IA+1:JA=JA+1: GOTO 1210 1270 IA=IX-3:JA=JX+3 1280 IF IA<0 THEN IA=IA+1:JA=JA-1: GOTO 1280 1290 IF JA>6 THEN IA=IA+1:JA=JA-1: GOTO 1290 1300 IF IA>IX THEN GOTO 1370 1310 IF IA>4 THEN GOTO 1370 1320 IF JA