Compucolor.org – Virtual Media

Listing of file='LINFIV.BAS;01' on disk='vmedia/chess-sector.ccvf'

100 PLOT 30,16,12:REM  COMPUCOLOR LINE FIVE (C) A.W.GROGONO
110 PLOT  14,10,10:PRINT  TAB( 20);"COMPUCOLOR LINE FIVE":PLOT  10
120 PLOT  15:PRINT "THE OBJECT OF THIS GAME IS TO GET 5 IN A LINE OF YOUR COLOR"
130 PLOT 3,0,10
140 CLEAR :INPUT "CHOOSE THE BOARD SIZE BY ENTERING A NUMBER BETWEEN 7 AND 10: ";L
150 PLOT  27,24
160 IF L< 7OR L> 10THEN PLOT 3,0,10,11,3,0,10:GOTO 140
170 DIM S(L+ 1,L+ 1):PLOT 6,6,29
180 M= INT (28.5- 2.5* L):T= INT (18- 1.5* L):PLOT 12:FOR A= 0TO L- 1:FOR B= 1TO L
190 PLOT 3,M+ B* 5,3* A+ T- 1:PRINT A* L+ B:NEXT B,A:F= 0:PLOT 22
200 PLOT 2,250,M* 2+ 10:FOR I= 1TO L+ 1:PLOT 147- 4* T- 12* I,M* 2+ L* 10+ 10:NEXT I
210 PLOT 246,136- 4* T- 12* L:FOR I= 1TO L+ 1:PLOT M* 2+ I* 10,134- 4* T:NEXT I:PLOT 255
220 PLOT  30,17+ C,8,11:INPUT "ENTER YOUR SQUARE: ";N
230 IF  N< 1 OR  N> L* L THEN 220
240 A= 1+ INT ((N- 1)/ L):B= N- L* INT ((N- 1)/ L):IF S(A,B)= 0THEN 260
250 PLOT 8,11:INPUT "ITS TAKEN REPEAT: ";N:GOTO 230
260 GOSUB 560:PRINT "   ";:S(A,B)= C- 1
270 GOSUB 560:PRINT "   ";:S(A,B)= C- 1
280 A1= A:A2= A:A3= A:A4= A:A5= A:A6= A:A7= A:B1= B:B2= B:B3= B:B4= B:B5= B:B6= B:B7= B
290 A1= A1- 1:B1= B1- 1:IF S(A1,B1)= S(A,B)THEN 290
300 A2= A2+ 1:B2= B2+ 1:IF S(A2,B2)= S(A,B)THEN 300
310 IF A2- A1> 5THEN 500
320 A3= A3- 1:B3= B3+ 1:IF S(A3,B3)= S(A,B)THEN 320
330 A4= A4+ 1:B4= B4- 1:IF S(A4,B4)= S(A,B)THEN 330
340 IF A4- A3> 5THEN 490
350 A5= A5- 1:IF S(A5,B)= S(A,B)THEN 350
360 A6= A6+ 1:IF S(A6,B)= S(A,B)THEN 360
370 IF  A6- A5> 5 THEN 470
380 B5= B5- 1:IF S(A,B5)= S(A,B)THEN 380
390 B6= B6+ 1:IF S(A,B6)= S(A,B)THEN 390
400 F= F+ 1:IF F= L* LTHEN 610
410 IF  B6- B5< 6 THEN C= ABS (C- 3):GOTO 220
420 REM
LINE 250 IS FOR 5 ACROSS
430 REM  LINE 300 IS FOR 5 DOWN
440 REM  LINE 350 IS FOR 5 UP DIAGONAL
450 REM  LINE 400 IS FOR 5 DOWN DIAGONAL

460 A= A7:B= B5:GOSUB 560:FOR I= 2TO B6- B5:GOSUB 550:GOSUB 570:NEXT I:GOTO 580
470 A= A5:B= B7:GOSUB 560:IF L= 9AND T= 4AND T+ (A- 1)* 3- 1< = 0THEN PLOT 28
480 FOR I= 2TO A6- A5:GOSUB 530:GOSUB 570:NEXT I:GOTO 580
490 A= A4:B= B4:GOSUB 560:FOR I= 2TO A4- A3:GOSUB 520:GOSUB 550:GOSUB 570:NEXT I:GOTO 580
500 A= A1:B= B1:GOSUB 560:IF L= 10AND A= 0THEN PLOT 28,28
510 FOR I= 2TO A2- A1:GOSUB 530:GOSUB 550:GOSUB 570:NEXT I:GOTO 580
520 PLOT 28:PLOT 28:PLOT 28:RETURN
530 PLOT 10,10,10:RETURN
540 RETURN
550 FOR J= 1TO 5:PLOT 25:NEXT J:RETURN
560 PLOT 8:FOR I= 1TO T+ (A- 1)* 3- 1:PLOT 10:NEXT I:FOR I= 1TO M+ B* 5+ 1:PLOT 25:NEXT I:RETURN
570 PRINT " ";:PLOT 23:PRINT " ";:PLOT 17+ C:PRINT " ";:PLOT 26:PLOT 26:PLOT 26:RETURN
580 PLOT 8:PRINT "IT'S VICTORY FOR  ";:IF  C= 3 THEN 620
590 PRINT "RED.  ":GOTO 620
600 PRINT "BLUE. ":GOTO 620
610 PLOT 30:PLOT 16:PLOT 8:PRINT "IT'S A DRAW !  ";
620 GOSUB 650:PRINT "FOR ANOTHER GAME TYPE YES AND PRESS RETURN: ";
630 INPUT Z$:PLOT 12:IF Z$= "Y"OR Z$= "YES"THEN 130
640 PLOT 27,11,6,2,12,1
650 PLOT 3,64,0:FOR I= 1TO 1500:NEXT I:PLOT 30,16,3,0,0,11:RETURN