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