home *** CD-ROM | disk | FTP | other *** search
- 90 RANDOMIZE
- 100 PRINT "YOUR OBJECTIVE IS TO PLACE 5 MARKS"
- 110 PRINT "IN A STRAIGHT LINE (EITHER HORIZONTAL, VERTICAL, OR DIAGONAL)"
- 130 PRINT "ON A 9 X 9 BOARD, PLAYING AGAINST THE COMPUTER. ENTER YOUR"
- 140 PRINT "MOVE AS 2 NUMBERS; THE POSITIONS ACROSS AND THEN DOWN"
- 150 PRINT "FROM THE UPPER LEFT HAND CORNER OF THE BOARD. THE COMPUTER"
- 160 PRINT "WILL TELL YOU IT'S MOVE, AND PRINT THE BOARD. 'Y' IS YOU;"
- 170 PRINT "'C' IS THE COMPUTER. GOOD LUCK."
- 180 DIM A(27,27),P(22),Q(22)
- 190 LET L9=200
- 200 FOR J=1 TO 27
- 210 FOR K=1 TO 27
- 220 LET A(J,K)=3
- 230 NEXT K
- 240 NEXT J
- 250 LET S=0
- 260 FOR J=10 TO 18
- 270 FOR K=10 TO 18
- 280 LET A(J,K)=0
- 290 NEXT K
- 300 NEXT J
- 310 IF S=1 THEN 2440
- 320 LET S=1
- 330 GOTO 350
- 340 GOSUB 2220
- 350 INPUT J1,K1
- 360 IF J1+K1=0 THEN 260
- 370 LET J1=J1+9
- 380 LET K1=K1+9
- 390 IF A(J1,K1)<>0 THEN 2420
- 400 LET A(J1,K1)=2
- 410 LET D2=2
- 420 LET L3=0
- 430 LET D4=0
- 440 LET L2=81
- 450 LET Z9=1
- 460 GOTO 2480
- 470 LET D5=D4
- 480 IF D4>79 THEN 2080
- 490 LET D2=1
- 500 LET L2=65
- 510 LET D4=0
- 520 LET Z9=2
- 530 GOTO 2480
- 540 LET D6=D4
- 550 IF D5>31 THEN 570
- 560 IF D6<31 THEN 910
- 570 IF L3>0 THEN 2100
- 580 IF D5<65 THEN 610
- 590 LET D2=2
- 600 GOTO 640
- 610 LET D2=1
- 620 LET L2=55
- 630 IF D6<55 THEN 680
- 640 LET Z9=3
- 650 GOTO 2480
- 660 IF L3=3 THEN 2160
- 670 GOTO 2180
- 680 IF D5<55 THEN 780
- 690 LET D2=2
- 700 LET Z9=4
- 710 GOTO 2480
- 720 LET L2=31
- 730 LET L9=55
- 740 LET Z9=5
- 750 GOTO 2480
- 760 GOSUB 1830
- 770 GOTO 2160
- 780 LET L2=31
- 790 LET Z9=6
- 800 GOTO 2480
- 810 IF L3<2 THEN 830
- 820 GOSUB 1830
- 830 LET L3=0
- 840 LET D2=2
- 850 LET Z9=7
- 860 GOTO 2480
- 870 IF L3=0 THEN 920
- 880 IF L3=1 THEN 2140
- 890 GOSUB 1830
- 900 GOTO 2180
- 910 LET D2=2
- 920 LET L2=D5-5
- 930 LET L3=0
- 940 LET Z9=8
- 950 GOTO 2480
- 960 IF L3>0 THEN 2180
- 970 PRINT "DRAW, ";
- 980 GOTO 2120
- 990 FOR J=1 TO 9
- 1000 GOSUB 1760
- 1010 FOR K=1 TO 10
- 1020 GOSUB 1270
- 1030 NEXT K
- 1040 NEXT J
- 1050 FOR K=1 TO 9
- 1060 GOSUB 1760
- 1070 FOR J=1 TO 10
- 1080 GOSUB 1270
- 1090 NEXT J
- 1100 NEXT K
- 1110 FOR L=4 TO -4 STEP -1
- 1120 GOSUB 1760
- 1130 FOR J=1 TO 10
- 1140 LET K=J+L
- 1150 GOSUB 1270
- 1160 NEXT J
- 1170 NEXT L
- 1180 FOR L=5 TO 14
- 1190 GOSUB 1760
- 1200 FOR K=1 TO 10
- 1210 LET J=L-K
- 1220 GOSUB 1270
- 1230 NEXT K
- 1240 NEXT L
- 1250 LET L9=200
- 1260 RETURN
- 1270 LET B=A(J+9,K+9)
- 1280 IF B=0 THEN 1610
- 1290 IF B=D2 THEN 1500
- 1300 IF V1=0 THEN 1330
- 1310 IF C1=66 THEN 1330
- 1320 LET C1=C1-10
- 1330 LET S9=0
- 1340 LET V1=0
- 1350 IF C1<=C2 THEN 1370
- 1360 LET C2=C1
- 1370 IF C5>=5 THEN 1400
- 1380 GOSUB 1760
- 1390 RETURN
- 1400 LET C5=0
- 1410 IF C2<=D4 THEN 1430
- 1420 LET D4=C2
- 1430 IF C2<L2 THEN 1390
- 1440 IF C2>L9 THEN 1390
- 1450 IF L1=0 THEN 1390
- 1460 LET P(L3)=Q(L1-1)
- 1470 LET L3=L3+1
- 1480 LET L1=L1-1
- 1490 GOTO 1450
- 1500 IF V1=1 THEN 1550
- 1510 LET V1=1
- 1520 IF S9=0 THEN 1550
- 1530 GOSUB 1910
- 1540 LET S9=0
- 1550 LET C6=C7+C6+1
- 1560 LET C7=0
- 1570 LET C5=C5+1
- 1580 IF C6>5 THEN 1390
- 1590 LET C1=C1+20
- 1600 GOTO 1390
- 1610 IF V1=1 THEN 1640
- 1620 LET S9=10*J+K
- 1630 GOTO 1660
- 1640 GOSUB 1910
- 1650 LET V1=0
- 1660 LET C5=C5+1
- 1670 IF C1<=0 THEN 1690
- 1680 LET C7=C7+1
- 1690 IF C1<=C2 THEN 1730
- 1700 LET C2=C1
- 1710 LET C1=C1-4
- 1720 GOTO 1390
- 1730 IF C1>=0 THEN 1710
- 1740 LET C1=1
- 1750 GOTO 1390
- 1760 LET L1=0
- 1770 LET C1=-10
- 1780 LET C2=0
- 1790 LET C5=0
- 1800 LET C6=0
- 1810 LET C7=0
- 1820 RETURN
- 1830 FOR H=0 TO L3-2
- 1840 FOR I=H+1 TO L3-1
- 1850 IF P(H)=P(I) THEN 1890
- 1860 NEXT I
- 1870 NEXT H
- 1880 RETURN
- 1890 LET P(0)=P(H)
- 1900 GOTO 2140
- 1910 IF C1<65 THEN 1970
- 1920 IF L1=0 THEN 1970
- 1930 IF L1=1 THEN 2020
- 1940 LET Q(0)=Q(1)
- 1950 LET L1=L1-1
- 1960 GOTO 1930
- 1970 IF S9=0 THEN 2000
- 1980 LET Q(L1)=S9
- 1990 GOTO 2010
- 2000 LET Q(L1)=10*J+K
- 2010 LET L1=L1+1
- 2020 RETURN
- 2030 LET J=INT(P(0)/10)+9
- 2040 LET K=P(0)-10*(J-9)+9
- 2050 LET A(J,K)=1
- 2060 PRINT J-9;K-9
- 2070 RETURN
- 2080 PRINT "YOU WIN"
- 2090 GOTO 2210
- 2100 GOSUB 2030
- 2110 GOSUB 2220
- 2120 PRINT "COMPUTER WINS"
- 2130 GOTO 2210
- 2140 GOSUB 2030
- 2150 GOTO 340
- 2160 LET P(0)=P(1)
- 2170 GOTO 2140
- 2180 LET L9=INT(L3*RND(X))
- 2190 LET P(0)=P(L9)
- 2200 GOTO 2140
- 2210 GOTO 260
- 2220 PRINT
- 2230 PRINT " 1 2 3 4 5 6 7 8 9"
- 2240 FOR J=10 TO 18
- 2250 PRINT J-9;TAB(6);
- 2260 FOR K=10 TO 18
- 2270 FOR L=K TO 18
- 2280 IF A(L,J)<>0 THEN 2310
- 2290 NEXT L
- 2300 GOTO 2350
- 2310 IF A(K,J)=0 THEN 2400
- 2320 IF A(K,J)=1 THEN 2380
- 2330 PRINT "Y ";
- 2340 NEXT K
- 2350 PRINT
- 2360 NEXT J
- 2370 RETURN
- 2380 PRINT "C ";
- 2390 GOTO 2340
- 2400 PRINT ". ";
- 2410 GOTO 2340
- 2420 PRINT "BAD PLAY, MAKE A NEW ONE"
- 2430 GOTO 350
- 2440 LET A(14,14)=1
- 2450 PRINT "COMPUTER PLAYS FIRST WITH 5, 5"
- 2460 LET S=0
- 2470 GOTO 340
- 2480 GOSUB 990
- 2490 IF Z9>5 THEN 2510
- 2500 IF Z9=1 THEN 470
- 2501 IF Z9=2 THEN 540
- 2502 IF Z9=3 THEN 660
- 2503 IF Z9=4 THEN 720
- 2504 IF Z9=5 THEN 760
- 2510 LET Z9=Z9-5
- 2520 IF Z9=1 THEN 810
- 2530 IF Z9=2 THEN 870
- 2540 IF Z9=3 THEN 960
- 2550 END
-