90 HOME : HTAB 15: VTAB 12: INVERSE : FLASH : PRINT "FOUR-IN-A-ROW": NORMAL : HTAB 20: VTAB 20: PRINT "BY J.A.ROGAN": FOR D = 1 TO 1500: NEXT D
100 TEXT : HOME : CLEAR : HTAB 9: VTAB 12: PRINT "DO YOU WANT INSTRUCTIONS ?";: GET A$: PRINT A$
110 IF A$ < >"Y" THEN 200
120 HOME : INVERSE : HTAB 16: PRINT "RULES": NORMAL : PRINT : PRINT : PRINT "THE RULES OF THE GAME ARE VERY SIMPLE."
122 PRINT : PRINT "THIS IS A TWO PLAYER GAME.": PRINT : PRINT "THE OBJECT OF THE GAME IS TO GET FOUR": PRINT "OF YOUR PIECES IN A ROW, EITHER UP AND": PRINT "DOWN, ACROSS OR DIAGONALLY."
124 PRINT : PRINT "THE FIRST PLAYER TO GET FOUR IN A ROW": PRINT "IS THE WINNER!"
126 PRINT : PRINT "DUE TO THE FORCE OF GRAVITY THE PIECES": PRINT "WILL FALL TO THE BOTTOM OF THE GAME": PRINT "BOARD OR ON TOP OF ANOTHER PIECE."
128 PRINT : PRINT : PRINT : PRINT "HIT ANY KEY TO BEGIN.";: GET A$: PRINT A$
129 HOME
200 REM DRAW GAME BOARD
201 GR : COLOR= 15: FOR X = 0 TO 39: HLIN 0,39 AT X: NEXT
210 COLOR= 14:A = 0:D = 39:B = 39:C = 32: FOR X = 1 TO 2: HLIN A,B AT A: VLIN A,B AT B: HLIN B,A AT C: VLIN A,B AT A:A = A +1:B = B -1:C = C -1: HLIN 0,39 AT D:D = D -1: NEXT
215 VLIN 0,32 AT 2: VLIN 0,32 AT 37
220 A = 7:B = 0:C = 32: FOR X = 1 TO 6: VLIN B,C AT A:A = A +5: NEXT
230 A = 2:B = 37:C = 6: FOR X = 1 TO 5: HLIN A,B AT C:C = C +5: NEXT
240 COLOR= INT(14 * RND(1))
241 PLOT 4,33: VLIN 33,37 AT 5: HLIN 4,6 AT 37
242 COLOR= INT(14 * RND(1)): HLIN 9,11 AT 33: PLOT 11,34: HLIN 9,11 AT 35: PLOT 9,36: HLIN 9,11 AT 37
243 COLOR= INT(14 * RND(1)): HLIN 14,16 AT 33: HLIN 15,16 AT 35: HLIN 14,16 AT 37: PLOT 16,34: PLOT 16,36
244 COLOR= INT(14 * RND(1)): VLIN 33,35 AT 19: VLIN 33,37 AT 21: HLIN 19,21 AT 35
245 COLOR= INT(14 * RND(1)): HLIN 24,26 AT 33: HLIN 24,26 AT 35: HLIN 24,26 AT 37: PLOT 24,34: PLOT 26,36
246 COLOR= INT(14 * RND(1)): HLIN 29,31 AT 33: HLIN 29,31 AT 35: HLIN 29,31 AT 37: VLIN 33,37 AT 29: PLOT 31,36
247 COLOR= INT(14 * RND(1)): HLIN 34,36 AT 33: VLIN 33,37 AT 36
248 REM BEGIN PLAY
250 HOME : PRINT "WHO IS PLAYER #1 ";: INPUT N$
255 PRINT
260 PRINT "WHO IS PLAYER #2 ";: INPUT M$
270 FOR D = 1 TO 500: NEXT
280 HOME : PRINT N$" YOUR COLOR IS RED.": PRINT : PRINT M$" YOUR COLOR IS BLACK."
290 FOR D = 1 TO 3000: NEXT D
300 HOME : PRINT "WHAT IS YOUR MOVE ";N$;" ?";: GET A$:A = VAL(A$): PRINT A
310 IF A = >1 AND A < = 7 THEN 500
320 HOME : PRINT "COLUMN 1 TO 7 PLEASE !": FOR D = 1 TO 500: NEXT D: GOTO 300
330 HOME : PRINT "WHAT IS YOUR MOVE ";M$;" ?";: GET A$:A = VAL(A$): PRINT A
340 IF A = >1 AND A < = 7 THEN 502
350 HOME : PRINT "COLUMN 1 TO 7 PLEASE !": FOR D = 1 TO 500: NEXT D: GOTO 330
490 HOME : PRINT "THAT COLUMN IS FULL!"
491 FOR D = 1 TO 500: NEXT D
492 GOTO 330
495 HOME : PRINT "THAT COLUMN IS FULL!"
496 FOR D = 1 TO 500: NEXT D
497 GOTO 300
500 COLOR= 1:J = 1: GOTO 510: REM PLAYER #1
502 COLOR= 0:J = 0: GOTO 510: REM PLAYER #2
504 REM CHECK FOR NEXT PLAYER WHEN ROW IS FULL
505 IF J = 1 THEN 495
506 GOTO 490
510 X = (A *5) -2:Y = X +3:W = 2:Z = W:V = 1
514 REM CHECK IF ROW IS FULL
515 IF SCRN( X,W) < >15 THEN 505
520 FOR D = 1 TO 4:SOUND = PEEK( -16336): HLIN X,Y AT W:W = W +1: NEXT D:W = W +1: IF SCRN( X,W) < >15 THEN 580
530 COLOR= 15: FOR D = 1 TO 4: HLIN X,Y AT Z:Z = Z +1: NEXT D:Z = Z +1
540 COLOR= J:V = V +1: GOTO 515
567 IF J = 1 THEN 330
569 GOTO 300
580 A(V,A) = J +5
590 GOSUB 600
595 GOSUB 700
596 IF J = 1 THEN 330
597 GOTO 300
600 REM CHECK FOR WIN
601 PRINT : PRINT : PRINT "I'M CHECKING FOR A WINNER !"