10 KEY OFF:CLS
20 SCREEN 0
30 WIDTH 40
40 PRINT"???????????????????????????????????????"
50 PRINT"??????????????????????????????????????"
60 PRINT"??                                   ??"
70 PRINT"??            2070-A.BAS             ??"
80 PRINT"??             FLIPPER               ??"
90 PRINT"??                                   ??"
100 PRINT"??                                   ??"
110 PRINT"?? BROUGHT TO YOU BY THE MEMBERS OF  ??"
120 PRINT"??      ????? ????? ????? ?????      ??"
130 PRINT"??        ?   ?   ? ?     ?   ?      ??"
140 PRINT"??        ?   ????? ?     ?   ?      ??"
150 PRINT"??        ?   ?     ?     ?   ?      ??"
160 PRINT"??      ????? ?     ????? ?????      ??"
170 PRINT"??                                   ??"
180 PRINT"??      International PC Owners      ??"
190 PRINT"??                                   ??"
200 PRINT"??P.O. Box 10426, Pittsburgh PA 15234??"
210 PRINT"??                                   ??"
220 PRINT"??????????????????????????????????????"
230 PRINT"???????????????????????????????????????"
240 PRINT
250 PRINT "       PRESS ANY KEY TO CONTINUE
260 A$=INKEY$: IF A$="" THEN 260
270 WIDTH 80
280 CLS
1000 REM <<<<< FLIPPER >>>>> 23 JUN 83
1010 CLS:FOR I=1 TO 23
1020 LOCATE I,I+37:PRINT "FLIPPER":LOCATE I,39-I:PRINT "FLIPPER"
1030 LOCATE 24-I,39-I:PRINT "FLIPPER":LOCATE 24-I,I+37:PRINT "FLIPPER":NEXT I
1040 LOCATE 12,1:PRINT "A GAME FOR THE `IBM PC'":LOCATE 12,60:PRINT "BY PETER AIRD"
1050 FOR II=1 TO 10:LOCATE 12,38:PRINT "FLIPPER":FOR I=1 TO 200:NEXT I:LOCATE 12,38:PRINT "       ":FOR I=1 TO 150:NEXT I:NEXT II
1060 CLS:DEFINT A-X
1070 DEF SEG=&H40:POKE &H17,PEEK(&H17) OR 64
1080 GOTO 1100
1090 LOCATE 1,70:PRINT TIME$:RETURN
1100 TI=VAL(RIGHT$(TIME$,2)):RANDOMIZE TI:Z=RND(Z)
1110 LOCATE 20,24,1:PRINT "DO YOU WANT INSTRUCTIONS (Y/N) -";
1120 D$=INKEY$:IF D$="" THEN 1120
1130 IF D$="Y" THEN GOSUB 1760
1140 CLS:N=0:T=0
1150 LOCATE 5,25:PRINT 1;:PRINT TAB(40) 2;:PRINT TAB(55) 3
1160 LOCATE 11,25:PRINT 4;:PRINT TAB(40) 5;:PRINT TAB(55) 6
1170 LOCATE 17,25:PRINT 7;:PRINT TAB(40) 8;:PRINT TAB(55) 9
1180 FOR I=1 TO 9:Z=INT(RND(Z)*3)+1
1190 IF Z<2 THEN 1210
1200 P(I)=0:GOTO 1220
1210 P(I)=1
1220 NEXT I
1230 FOR I=1 TO 9:T=T+P(I):NEXT I
1240 IF T<1 OR T>7 THEN 1180
1250 FOR I=1 TO 9:M=I:X=I:GOSUB 1460:NEXT I
1260 LOCATE 1,34:PRINT "MOVE NUMBER -";N:TIME$="00:00:00"
1270 GOSUB 1090:LOCATE 21,34:PRINT "YOUR MOVE IS - ";
1280 M$=INKEY$:IF M$="" THEN GOSUB 1090:GOTO 1280
1290 M=ASC(M$):M=M-48:IF M<1 OR M>9 THEN 1280
1300 LOCATE 21,48:PRINT M
1310 IF P(M)<>1 THEN 1730
1320 N=N+1:LOCATE 1,47:PRINT N
1330 ON M GOTO 1340,1350,1360,1370,1380,1390,1400,1410,1420
1340 X=1:GOSUB 1430:X=2:GOSUB 1430:X=4:GOSUB 1430:X=5:GOSUB 1430:GOTO 1630
1350 X=2:GOSUB 1430:X=1:GOSUB 1430:X=3:GOSUB 1430:GOTO 1630
1360 X=3:GOSUB 1430:X=2:GOSUB 1430:X=5:GOSUB 1430:X=6:GOSUB 1430:GOTO 1630
1370 X=4:GOSUB 1430:X=1:GOSUB 1430:X=7:GOSUB 1430:GOTO 1630
1380 X=5:GOSUB 1430:X=2:GOSUB 1430:X=4:GOSUB 1430:X=8:GOSUB 1430:X=6:GOSUB 1430:GOTO 1630
1390 X=6:GOSUB 1430:X=3:GOSUB 1430:X=9:GOSUB 1430:GOTO 1630
1400 X=7:GOSUB 1430:X=4:GOSUB 1430:X=5:GOSUB 1430:X=8:GOSUB 1430:GOTO 1630
1410 X=8:GOSUB 1430:X=7:GOSUB 1430:X=9:GOSUB 1430:GOTO 1630
1420 X=9:GOSUB 1430:X=8:GOSUB 1430:X=5:GOSUB 1430:X=6:GOSUB 1430:GOTO 1630
1430 IF P(X)=1 THEN 1450
1440 P(X)=1:GOTO 1460
1450 P(X)=0
1460 ON X GOTO 1470,1480,1490,1500,1510,1520,1530,1540,1550
1470 A=3:B=22:GOTO 1560
1480 A=3:B=37:GOTO 1560
1490 A=3:B=52:GOTO 1560
1500 A=9:B=22:GOTO 1560
1510 A=9:B=37:GOTO 1560
1520 A=9:B=52:GOTO 1560
1530 A=15:B=22:GOTO 1560
1540 A=15:B=37:GOTO 1560
1550 A=15:B=52
1560 IF P(X)<>1 THEN 1600
1570 LOCATE A,B:PRINT "?????????":LOCATE A+1,B:PRINT "?????????"
1580 LOCATE A+2,B:PRINT "??":LOCATE A+2,B+7:PRINT "??"
1590 LOCATE A+3,B:PRINT "?????????":LOCATE A+4,B:PRINT "?????????":RETURN
1600 LOCATE A,B:PRINT "????????":LOCATE A+1,B:PRINT "?       ?"
1610 LOCATE A+2,B:PRINT "? ":LOCATE A+2,B+7:PRINT " ?"
1620 LOCATE A+3,B:PRINT "?       ?":LOCATE A+4,B:PRINT "?????????":RETURN
1630 S=0:FOR I=1 TO 9:S=S+P(I):NEXT I
1640 IF S=0 THEN 1670
1650 IF S=8 AND P(5)=0 THEN 1710
1660 GOTO 1270
1670 LOCATE 23,30:PRINT "SORRY, YOU LOSE..........."
1680 LOCATE 25,30:PRINT "ANOTHER GAME (Y/N) - ";
1690 R$=INKEY$:IF R$="" THEN 1690
1700 IF R$="Y" THEN 1140 ELSE IF R$<>"N" THEN 1690 ELSE CLS:END
1710 LOCATE 23,30:PRINT "THAT'S IT, YOU WON !!!!!"
1720 GOTO 1680
1730 BEEP:LOCATE 23,34:PRINT "- ILLEGAL MOVE -":FOR I=1 TO 400:NEXT I
1740 LOCATE 23,34:PRINT "                "
1750 GOTO 1270
1760 CLS:LOCATE 1,35:PRINT "- FLIPPER -":PRINT
1770 PRINT "FLIPPER is a puzzle played on a 3 X 3 board using tokens which are WHITE on one":PRINT "side and BLACK on the other."
1780 PRINT "The playing positions are numbered 1 to 9."
1790 PRINT "At least one piece is white at the commencement of each game."
1800 PRINT "The object of the game is to FLIP the tokens until the centre piece is BLACK"
1810 PRINT "and all the other pieces are WHITE."
1820 PRINT :PRINT "The board and rules are as follows:-"
1830 PRINT :PRINT TAB(10)"1   2   3":PRINT :PRINT TAB(10)"4   5   6":PRINT :PRINT TAB(10)"7   8   9"
1840 LOCATE 12,25:PRINT "1) Only white pieces may be selected."
1850 LOCATE 14,25:PRINT "2) If a corner piece is selected, as well as FLIPPING":LOCATE 15,28:PRINT "itself, the three adjacent pieces also FLIP."
1860 LOCATE 16,28:PRINT "For example, FLIP '1' and 2,4 and 5 FLIP too."
1870 LOCATE 18,25:PRINT "3) Select the middle of a side and the whole side FLIPS"
1880 LOCATE 20,25:PRINT "4) FLIP '5' and 2,4,6 and 8 will also FLIP."
1890 LOCATE 22,25:PRINT "5) You LOSE if all tokens become BLACK, you":LOCATE 23,28:PRINT "WIN if all tokens except '5' become WHITE."
1900 LOCATE 20,1:PRINT "(PRESS ANY KEY)":LOCATE 21,4:PRINT "(TO PLAY)"
1910 G$=INKEY$:IF G$="" THEN 1910 ELSE RETURN
HITE."
1900 LOCATE 20,1:PRINT "(PRESS ANY KEY)":LOCATE 21,4:PRINT "(TO PLAY)"
1910 G$=INKEY$:IF G