1000 CLEAR
1005 SET COLOR 5
1010 RANDOMIZE
1020 FOR I = 1 TO 8
1030 PRINT
1040 NEXT I
1050 PRINT SPC(14); "#####################################"
1060 PRINT SPC(14); "#                                   #"
1070 PRINT SPC(14); "#    Brain Teaser by Y. R. Sova     #"
1080 PRINT SPC(14); "#                                   #"
1090 PRINT SPC(14); "# This computer game is based on    #"
1100 PRINT SPC(14); "# BrainTeaser by Wim Nijland.       #"
1110 PRINT SPC(14); "#                                   #"
1120 PRINT SPC(14); "# Choose digits from 1 to 9, split  #"
1130 PRINT SPC(14); "# by reaction method into three     #"
1140 PRINT SPC(14); "# groups (1-3-7-9, 2-4-6-8, and 5). #"
1150 PRINT SPC(14); "#                                   #"
1160 PRINT SPC(14); "# The goal is to display all digits #"
1170 PRINT SPC(14); "# except 5, without letting the     #"
1180 PRINT SPC(14); "# field be cleared.                 #"
1190 PRINT SPC(14); "#                                   #"
1200 PRINT SPC(14); "#####################################"
1210 CALL INKEY(K$)
1220 IF LEN(K$) = 0 THEN GOTO 1210
1240 CLEAR
1250 Z = 0
1260 PRINT
1270 PRINT
1280 PRINT
1290 PRINT
1300 PRINT
1310 FOR I = 1 TO 3
1320 PRINT SPC(19); "#########################"
1330 FOR J = 1 TO 7
1340 PRINT SPC(19); "#       #       #       #"
1350 NEXT J, I
1360 PRINT SPC(19); "#########################"
1370 S1 = INT(RND(1) * 2) + 1
1380 S2 = INT(RND(1) * 2) + 1
1390 S3 = INT(RND(1) * 2) + 1
1400 S4 = INT(RND(1) * 2) + 1
1410 S5 = INT(RND(1) * 2) + 1
1420 S6 = INT(RND(1) * 2) + 1
1430 S7 = INT(RND(1) * 2) + 1
1440 S8 = INT(RND(1) * 2) + 1
1450 S9 = INT(RND(1) * 2) + 1
1460 IF S1+S2+S3+S4+S5+S6+S7+S8+S9=18 THEN GOTO 1370
1470 X = 22
1480 Y = 14
1490 IF S1 = 1 THEN GOSUB 3160
1500 IF S1 = 2 THEN GOSUB 3700
1510 X = 30
1520 IF S2 = 1 THEN GOSUB 3220
1530 IF S2 = 2 THEN GOSUB 3700
1540 X = 38
1550 IF S3 = 1 THEN GOSUB 3280
1560 IF S3 = 2 THEN GOSUB 3700
1570 X = 22
1580 Y = 10
1590 IF S4 = 1 THEN GOSUB 3340
1600 IF S4 = 2 THEN GOSUB 3700
1610 X = 30
1620 IF S5 = 1 THEN GOSUB 3400
1630 IF S5 = 2 THEN GOSUB 3700
1640 X = 38
1650 IF S6 = 1 THEN GOSUB 3460
1660 IF S6 = 2 THEN GOSUB 3700
1670 X = 22
1680 Y = 2
1690 IF S7 = 1 THEN GOSUB 3520
1700 IF S7 = 2 THEN GOSUB 3700
1710 X = 30
1720 IF S8 = 1 THEN GOSUB 3580
1730 IF S8 = 2 THEN GOSUB 3700
1740 X = 38
1750 IF S9 = 1 THEN GOSUB 3640
1760 IF S9 = 2 THEN GOSUB 3700
1770 IF S1+S2+S3+S4+S6+S7+S8+S9=8 AND S5=2 THEN Z=1
1780 IF S1+S2+S3+S4+S5+S6+S7+S8+S9=18 THEN Z=2
1790 IF Z > 0 THEN GOTO 2850
1800 CALL INKEY(K$)
1810 IF LEN(K$) = 49 THEN GOTO 1920
1820 IF LEN(K$) = 50 THEN GOTO 1950
1830 IF LEN(K$) = 51 THEN GOTO 1980
1840 IF LEN(K$) = 52 THEN GOTO 2010
1850 IF LEN(K$) = 53 THEN GOTO 2040
1860 IF LEN(K$) = 54 THEN GOTO 2070
1870 IF LEN(K$) = 55 THEN GOTO 2100
1880 IF LEN(K$) = 56 THEN GOTO 2130
1890 IF LEN(K$) = 57 THEN GOTO 2160
1900 IF LEN(K$) = 27 THEN CLEAR : STOP
1910 GOTO 1800
1920 IF S1 = 2 THEN PRINT "";
1930 IF S1 = 1 THEN GOSUB 2190
1940 GOTO 1800
1950 IF S2 = 2 THEN PRINT "";
1960 IF S2 = 1 THEN GOSUB 2270
1970 GOTO 1800
1980 IF S3 = 2 THEN PRINT "";
1990 IF S3 = 1 THEN GOSUB 2330
2000 GOTO 1800
2010 IF S4 = 2 THEN PRINT "";
2020 IF S4 = 1 THEN GOSUB 2410
2030 GOTO 1800
2040 IF S5 = 2 THEN PRINT "";
2050 IF S5 = 1 THEN GOSUB 2470
2060 GOTO 1800
2070 IF S6 = 2 THEN PRINT "";
2080 IF S6 = 1 THEN GOSUB 2570
2090 GOTO 1800
2100 IF S7 = 2 THEN PRINT "";
2110 IF S7 = 1 THEN GOSUB 2630
2120 GOTO 1800
2130 IF S8 = 2 THEN PRINT "";
2140 IF S8 = 1 THEN GOSUB 2710
2150 GOTO 1800
2160 IF S9 = 2 THEN PRINT "";
2170 IF S9 = 1 THEN GOSUB 2770
2180 GOTO 1800
2190 S1 = 2
2200 IF S2 = 1 THEN S2 = 2 : GOTO 2220
2210 IF S2 = 2 THEN S2 = 1
2220 IF S4 = 1 THEN S4 = 2 : GOTO 2240
2230 IF S4 = 2 THEN S4 = 1
2240 IF S5 = 1 THEN S5 = 2 : GOTO 2260
2250 IF S5 = 2 THEN S5 = 1
2260 GOTO 1470
2270 S2 = 2
2280 IF S1 = 1 THEN S1 = 2 : GOTO 2300
2290 IF S1 = 2 THEN S1 = 1
2300 IF S3 = 1 THEN S3 = 2 : GOTO 2320
2310 IF S3 = 2 THEN S3 = 1
2320 GOTO 1470
2330 S3 = 2
2340 IF S2 = 1 THEN S2 = 2 : GOTO 2360
2350 IF S2 = 2 THEN S2 = 1 
2360 IF S5 = 1 THEN S5 = 2 : GOTO 2380
2370 IF S5 = 2 THEN S5 = 1
2380 IF S6 = 1 THEN S6 = 2 : GOTO 2400
2390 IF S6 = 2 THEN S6 = 1
2400 GOTO 1470
2410 S4 = 2
2420 IF S1 = 1 THEN S1 = 2 : GOTO 2440
2430 IF S1 = 2 THEN S1 = 1
2440 IF S7 = 1 THEN S7 = 2 : GOTO 2460
2450 IF S7 = 2 THEN S7 = 1
2460 GOTO 1470
2470 S5 = 2
2480 IF S2 = 1 THEN S2 = 2 : GOTO 2500
2490 IF S2 = 2 THEN S2 = 1
2500 IF S4 = 1 THEN S4 = 2 : GOTO 2520
2510 IF S4 = 2 THEN S4 = 1 
2520 IF S6 = 1 THEN S6 = 2 : GOTO 2540
2530 IF S6 = 2 THEN S6 = 1
2540 IF S8 = 1 THEN S8 = 2 : GOTO 2560
2550 IF S8 = 2 THEN S8 = 1
2560 GOTO 1470
2570 S6 = 2
2580 IF S3 = 1 THEN S3 = 2 : GOTO 2600
2590 IF S3 = 2 THEN S3 = 1
2600 IF S9 = 1 THEN S9 = 2 : GOTO 2620
2610 IF S9 = 2 THEN S9 = 1
2620 GOTO 1470
2630 S7 = 2
2640 IF S4 = 1 THEN S4 = 2 : GOTO 2660
2650 IF S4 = 2 THEN S4 = 1
2660 IF S5 = 1 THEN S5 = 2 : GOTO 2680
2670 IF S5 = 2 THEN S5 = 1
2680 IF S8 = 1 THEN S8 = 2 : GOTO 2700
2690 IF S8 = 2 THEN S8 = 1
2700 GOTO 1470
2710 S8 = 2
2720 IF S7 = 1 THEN S7 = 2 : GOTO 2740
2730 IF S7 = 2 THEN S7 = 1 
2740 IF S9 = 1 THEN S9 = 2 : GOTO 2760
2750 IF S9 = 2 THEN S9 = 1
2760 GOTO 1470
2770 S9 = 2
2780 IF S5 = 1 THEN S5 = 2 : GOTO 2800
2790 IF S5 = 2 THEN S5 = 1
2800 IF S6 = 1 THEN S6 = 2 : GOTO 2820
2810 IF S6 = 2 THEN S6 = 1
2820 IF S8 = 1 THEN S8 = 2 : GOTO 2840
2830 IF S8 = 2 THEN S8 = 1
2840 GOTO 1470
2850 CALL INKEY(K$)
2860 IF LEN(K$) = 0 THEN GOTO 2850
2865 CLEAR
2870 X = 26
2880 Y = 12
2890 CUR X, Y + 6 : PRINT "###########"
2900 CUR X, Y + 3 : PRINT "#         #"
2910 CUR X, Y + 4 : PRINT "#         #"
2920 CUR X, Y + 5 : PRINT "#         #"
2930 CUR X, Y + 2 : PRINT "#         #"
2940 CUR X, Y + 1 : PRINT "#         #"
2950 CUR X, Y + 0 : PRINT "###########"
2960 IF Z = 1 THEN CUR X + 3, Y + 3 : PRINT "W I N"
2970 IF Z = 2 THEN CUR X + 2, Y + 3 : PRINT "L O S E"
2980 CALL INKEY(K$)
2990 IF LEN(K$) = 0 THEN GOTO 2980
3000 CUR X + 2, Y + 4 : PRINT "AGAIN ?"
3010 CUR X + 2, Y + 3 : PRINT "       "
3020 CUR X + 2, Y + 2 : PRINT "[Y]/[N]"
3030 CALL INKEY(K$)
3040 IF LEN(K$) = 89 THEN GOTO 1240
3050 IF LEN(K$) = 121 THEN GOTO 1240
3060 IF LEN(K$) = 78 THEN CLEAR : STOP
3070 IF LEN(K$) = 110 THEN CLEAR : STOP
3080 IF LEN(K$) = 27 THEN CLEAR : STOP
3090 GOTO 3030
3100 CUR X, Y + 4 : PRINT "###"
3110 CUR X, Y + 3 : PRINT "# #"
3120 CUR X, Y + 2 : PRINT "# #"
3130 CUR X, Y + 1 : PRINT "# #"
3140 CUR X, Y + 0 : PRINT "###"
3150 RETURN
3160 CUR X, Y + 4 : PRINT "  #"
3170 CUR X, Y + 3 : PRINT " ##"
3180 CUR X, Y + 2 : PRINT "# #"
3190 CUR X, Y + 1 : PRINT "  #"
3200 CUR X, Y + 0 : PRINT "  #"
3210 RETURN
3220 CUR X, Y + 4 : PRINT "###"
3230 CUR X, Y + 3 : PRINT "  #"
3240 CUR X, Y + 2 : PRINT "###"
3250 CUR X, Y + 1 : PRINT "#  "
3260 CUR X, Y + 0 : PRINT "###"
3270 RETURN
3280 CUR X, Y + 4 : PRINT "###"
3290 CUR X, Y + 3 : PRINT "  #"
3300 CUR X, Y + 2 : PRINT "###"
3310 CUR X, Y + 1 : PRINT "  #"
3320 CUR X, Y + 0 : PRINT "###"
3330 RETURN
3340 CUR X, Y + 4 : PRINT "# #"
3350 CUR X, Y + 3 : PRINT "# #"
3360 CUR X, Y + 2 : PRINT "###"
3370 CUR X, Y + 1 : PRINT "  #"
3380 CUR X, Y + 0 : PRINT "  #"
3390 RETURN                
3400 CUR X, Y + 4 : PRINT "###"
3410 CUR X, Y + 3 : PRINT "#  "
3420 CUR X, Y + 2 : PRINT "###"
3430 CUR X, Y + 1 : PRINT "  #"
3440 CUR X, Y + 0 : PRINT "###"
3450 RETURN
3460 CUR X, Y + 4 : PRINT "###"
3470 CUR X, Y + 3 : PRINT "#  "
3480 CUR X, Y + 2 : PRINT "###"
3490 CUR X, Y + 1 : PRINT "# #"
3500 CUR X, Y + 0 : PRINT "###"
3510 RETURN
3520 CUR X, Y + 4 : PRINT "###"
3530 CUR X, Y + 3 : PRINT "  #"
3540 CUR X, Y + 2 : PRINT " # "
3550 CUR X, Y + 1 : PRINT "#  "
3560 CUR X, Y + 0 : PRINT "#  "
3570 RETURN
3580 CUR X, Y + 4 : PRINT "###"
3590 CUR X, Y + 3 : PRINT "# #"
3600 CUR X, Y + 2 : PRINT "###"
3610 CUR X, Y + 1 : PRINT "# #"
3620 CUR X, Y + 0 : PRINT "###"
3630 RETURN
3640 CUR X, Y + 4 : PRINT "###"
3650 CUR X, Y + 3 : PRINT "# #"
3660 CUR X, Y + 2 : PRINT "###"
3670 CUR X, Y + 1 : PRINT "  #"
3680 CUR X, Y + 0 : PRINT "###"
3690 RETURN
3700 CUR X, Y + 4 : PRINT "   "
3710 CUR X, Y + 3 : PRINT "   "
3720 CUR X, Y + 2 : PRINT "   "
3730 CUR X, Y + 1 : PRINT "   "
3740 CUR X, Y + 0 : PRINT "   "
3750 RETURN


































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































