Listing of file='TEASER.BAS;01' on disk='vmedia/board_games-sector.ccvf'
5 REM 10 PLOT 30,16,29,22,14,12 15 PRINT :PRINT TAB( 26)"BRAIN TEASER" 20 REM 25 REM BY HAL KNIPPENBERG 30 REM CREATIVE COMPUTING 35 REM JULY, 1979 P.104 40 REM 45 REM WITH ALTERATIONS FOR 50 REM COMPUCOLOR DISK BASIC 6.78 55 REM BY DAVID B. SUITS, JULY, 1979 60 REM 65 GOSUB 950:PLOT 6,2:PRINT :PRINT 68 PRINT "THE OBJECT OF THIS GAME IS TO CHANGE THE PATTERN OF RED AND" 70 PRINT "GREEN SQUARES IN A 3 X 3 ARRAY SO THAT ALL SQUARES ARE GREEN" 72 PRINT "EXCEPT FOR A RED SQUARE IN THE CENTER." 74 PRINT 76 PRINT "CHOOSING A SQUARE IN THE CENTER OF AN EDGE CAUSES THE THREE" 78 PRINT "SQUARES ALONG THAT EDGE TO CHANGE COLOR (FROM RED TO GREEN" 80 PRINT "OR FROM GREEN TO RED)." 82 PRINT 84 PRINT "CHOOSING A CORNER SQUARE CAUSES THAT SQUARE AND THE THREE" 86 PRINT "ADJACENT SQUARES TO CHANGE COLOR." 88 PRINT 90 PRINT "AND CHOOSING THE CENTER SQUARE CAUSES ALL BUT THE CORNER" 92 PRINT "SQUARES TO CHANGE COLOR." 94 PRINT 96 PRINT "YOU LOSE IF ALL SQUARES BECOME RED." 98 GOSUB 3000:PLOT 3,15,25 99 INPUT "PRESS RETURN TO BEGIN ";A$ 100 S$= "124501230023560147002456836900457807890056890" 120 PLOT 15,6,6,12 300 M= 0 304 REM SET UP BOARD 305 GOSUB 1000 310 GOSUB 950 349 REM PRINT BOARD 350 GOSUB 900:GOSUB 550 399 REM CHECK FOR WIN 400 GOSUB 552:GOSUB 700 410 IF LEN (W$)> 2THEN 10000 449 REM GET MOVE 450 PLOT 14,6,3,3,0,25,11 455 PRINT TAB( 26); 460 INPUT "SQUARE: ";MO$ 470 IF MO$= "0"THEN END 475 IF MO$= "A"THEN PLOT 12:GOTO 300 480 MO= VAL (MO$):IF MO< 1OR MO< > INT (MO)OR MO> 9THEN 450 490 IF B(MO)< > 0THEN 520 500 PLOT 6,1,15:PRINT TAB( 26)"ILLEGAL MOVE!" 510 FOR T= 1TO 500:NEXT :PLOT 28,11:GOTO 450 519 REM REVISE BOARD 520 GOSUB 600 530 M= M+ 1 540 GOTO 350 550 PLOT 15,6,6,3,29,1:PRINT "NUMBER":PLOT 3,28,2:PRINT "OF MOVES:" 552 PLOT 14,6,3,3,30,5:PRINT M 554 RETURN 600 REM 610 B(0)= 5 620 FOR I= (5* MO- 4)TO 5* MO 630 T= VAL (MID$ (S$,I,1)) 640 IF B(T)= 0THEN B(T)= 1:GOTO 660 650 B(T)= 0 660 NEXT :RETURN 700 S= 0:W$= "" 710 FOR J= 1TO 9:S= S+ B(J):NEXT 720 IF S= 0THEN W$= "LOST" 730 IF S< > 8THEN 850 740 IF B(5)= 0THEN W$= "WON" 750 RETURN 800 REM 810 PLOT 30,3,X,Y 820 PRINT "neeo";:GOSUB 890 830 PRINT "a"N"b";:GOSUB 890 840 PRINT "lm" 850 PLOT 29,6,6 860 RETURN 890 PLOT 10,26,26,26,26:RETURN 899 REM PRINT BOARD 900 N= 0:PLOT 15:FOR Y= 8TO 14STEP 3 910 FOR X= 26TO 34STEP 4 920 N= N+ 1:PLOT 6,12+ 8* B(N):GOSUB 810 930 NEXT X,Y 940 RETURN 950 PLOT 15,6,5,8:PRINT " WIN":PRINT " WITH:" 955 PRINT 960 PRINT " {}{}{}":PRINT " {}{}{}":PRINT " {}{}{}" 965 PLOT 6,5,3,57,0:PRINT "LOSE":PLOT 3,57,1:PRINT "WITH:" 970 PLOT 3,57,3:FOR J= 1TO 3:GOSUB 985:NEXT :RETURN 975 PLOT 3,57,5:PRINT "{}{}{}" 980 RETURN 985 PRINT "{}{}{}";:PLOT 10,26,26,26,26,26,26:RETURN 999 REM SET UP BOARD 1000 S= 0 1010 FOR I= 1TO 9 1020 T= RND (1) 1030 B(I)= 0:IF T< .9THEN B(I)= 1 1040 S= S+ B(I) 1050 NEXT :IF S= 0THEN 1010 1055 IF S= 8AND B(5)= 0THEN 1010 1060 RETURN 3000 PLOT 3,0,28:PRINT " * CHALLENGE TO AMBITIOUS PROGRAMMERS:" 3010 PRINT " WRITE A PROGRAM WHICH WILL LEARN HOW TO PLAY THIS GAME.":RETURN 9999 REM GAME OVER 10000 PLOT 14,3,0,25,11 10010 PRINT TAB( 28)"YOU "W$ 10030 PRINT 10040 PRINT TAB( 22); 10045 INPUT "CARE TO PLAY AGAIN? ";A$ 10050 IF LEFT$ (A$,1)= "Y"OR LEFT$ (A$,1)= "O"THEN PLOT 12:GOTO 300 10060 IF LEFT$ (A$,1)< > "N"THEN PLOT 28,11:GOTO 10040 10070 LOAD "MENU":RUN