Listing of file='HOUNDS.BAS;01' on disk='vmedia/chip_16-sector.ccvf'
0 REM FOX AND HOUNDS KILOBAUD 9/78 (J.INMAN) 1 REM MODIFIED FOR CCII AND FOX STRATEGY BY T.MONTEMARANO 2 PLOT 12:GOTO 5000 5 CLEAR 200 8 DIM P(9,9) 9 PLOT 15 10 PLOT 27,24,8 15 PLOT 12 16 QQ= 0 17 HF= 0 18 PRINT :PRINT 20 C= 1 25 ST= 1:REM * * * CAN'T MOVE SAME UNIT 2X'S * * * 30 PRINT TAB( 30);"neee eeee eeee eeee " 40 GOSUB 2000 50 GOSUB 2000 55 C= C+ 1 56 IF C= 8THEN 300 60 FOR I= 1TO 3:PRINT TAB( 30);" b" 70 NEXT 75 C= C+ 1 80 FOR I= 1TO 3:GOSUB 2000:NEXT 85 GOTO 55 250 FOR C= 0TO 8STEP 2 260 P(2,C)= 1:P(4,C)= 1:P(6,C)= 1:P(8,C)= 1:P(3,C)= 4:P(5,C)= 4:P(7,C)= 4 265 NEXT 270 FOR C= 1TO 7STEP 2 280 P(2,C)= 4:P(4,C)= 4:P(6,C)= 4:P(8,C)= 4:P(3,C)= 1:P(5,C)= 1:P(7,C)= 1:NEXT 298 GOTO 390 300 GOSUB 3000 310 GOSUB 3000 320 PRINT TAB( 30);:PRINT " m" 328 PLOT 8 330 PRINT TAB( 30);" C1 C2 C3 C4 C5 C6 C7 C8" 335 FOR I= 1TO 8 340 PLOT 3,26,3* I,6,5:PRINT "L";I:PLOT 6,2:NEXT 345 T9= PEEK (33209):T8= PEEK (33210):T7= - (T8+ T9):T6= RND (T7):T6= RND (1) 350 GOTO 250 390 RESTORE 400 READ PF,PB,P1,P2,PO,PS 410 FOR C= 1TO 8STEP 2 420 P(1,C)= 1:P(1,C+ 1)= 2:NEXT 425 H0$= "{}" 430 SH$= " ":SF$= " ":SB$= " " 435 TH$= "``":TF$= "``" 436 FT$= "{}" 437 SF$= " " 438 SB$= " " 440 FOR C= 0TO 9 445 P(0,C)= 1:P(C,0)= 1:P(9,C)= 1:P(C,9)= 1:NEXT 450 P(8,5)= 3:X= 8:Y= 5:A= X:B= Y 500 GOSUB 3100 505 R1= 0:S1= 0 510 QL= 1:QC= 2:GOSUB 3200 520 QC= 4:GOSUB 3200 530 QC= 6:GOSUB 3200 540 QC= 8:GOSUB 3200 550 YM$= "* * * YOU MOVE * * *" 560 YF$= " FROM (L,C)" 570 YT$= " TO (L,C)" 590 CM$= "COMPUCOLOR MOVE" 595 CY= 16 600 REM * * * PLAYER MOVES * * * 603 GOSUB 5500 605 IF HF= 1THEN PLOT 3,1,CY- 7:PRINT "### YOU CAN'T MOVE ###":GOTO 1500 610 PLOT 3,1,16:PRINT YM$ 615 FOR I= - 1TO 7:PLOT 3,0,CY+ I:PRINT " ":NEXT 617 PLOT 3,0,CY- 2:PRINT SPC( 21) 620 PLOT 3,1,18:PRINT " " 622 PLOT 3,0,18:PRINT " " 625 PLOT 3,1,17:PRINT YF$:INPUT F,F1 627 FOR I= - 1TO - 2:PLOT 3,1,CY+ I:PRINT SPC( 20):NEXT 628 IF F< 0OR F> 8THEN PLOT 3,1,CY- 2:PRINT "NOTHING THERE":PLOT 3,1,CY- 1:PRINT "TRY AGAIN":GOTO 620 629 IF F1< 0OR F1> 8THEN PLOT 3,1,CY- 2:PRINT "NOTHING THERE":PLOT 3,1,CY- 1:PRINT "TRY AGAIN":GOTO 620 630 IF P(F,F1)< > 2THEN PLOT 3,1,CY- 2:PRINT "NOTHING THERE":PLOT 3,1,CY- 1:PRINT "TRY AGAIN":GOTO 620 635 PLOT 3,1,CY- 2:PRINT SPC( 20):PLOT 3,1,CY- 1:PRINT SPC( 20) 640 PLOT 3,27+ (4* F1),3* F:PRINT TH$ 650 PLOT 3,0,CY+ 4:PRINT SPC( 20):PLOT 3,1,CY+ 3:PRINT YT$:INPUT T,T1 655 PLOT 3,1,CY- 2:PRINT SPC( 20) 660 IF T= 0THEN PLOT 3,1,CY- 2:PRINT "START TURN OVER":GOTO 680 670 GOTO 690 680 FOR I= - 1TO 5:PLOT 3,1,CY+ I:PRINT SPC( 20):NEXT :QL= F:QC= F1:GOSUB 3200:GOTO 610 690 IF T< = FTHEN PLOT 3,1,CY- 2:PRINT "CAN'T MOVE BACKWARDS":GOTO 650 694 IF T< 1OR T> 8THEN 710 696 IF T1< 1OR T1> 8THEN 710 700 IF T1= F1+ 1OR T1= F1- 1AND P(T,T1)= 4THEN 730:REM GOOD MOVE 710 PLOT 3,1,CY- 2:PRINT " INVALID MOVE ":GOTO 650 730 P(F,F1)= 4:P(T,T1)= 2:QL= T:QC= T1:GOSUB 3200:FOR I= 1TO 200:I= I:NEXT :QL= F:QC= F1:GOSUB 3500 735 ON ST+ 1GOTO 800,740,780 740 P(T,T1)= - 2:IF R1= 0THEN 770 750 QL= R1:QC= S1:GOSUB 3500:P(R1,S1)= 4 755 P(R1,S1)= 2 760 GOSUB 3200 770 R1= T:S1= T1:GOSUB 3800 780 REM * * * FUTURE SPACE FOR RNDM MOVES 800 REM CC II MOVES 803 PLOT 3,1,CY- 6:PRINT CM$ 805 PLOT 3,1,CY- 5:PRINT SPC( 20) 806 PLOT 3,1,CY- 4:PRINT SPC( 21) 807 PLOT 3,0,CY:PRINT SPC( 21) 810 QL= X:QC= Y:GOSUB 3400 815 L= X:C= Y 820 FOR Z= 1TO 4 830 ON ZGOTO 840,850,860,870 840 LL= L+ 1:CC= C- 1 845 V(Z)= PB:GOTO 900 850 LL= L+ 1:CC= C+ 1 855 V(Z)= PB:GOTO 900 860 LL= L- 1:CC= C- 1 865 V(Z)= PF:GOTO 900 870 LL= L- 1:CC= C+ 1 875 V(Z)= PF 900 IF P(LL,CC)< 4THEN V(Z)= - 20:GOTO 980 910 GOSUB 3700 915 IF LL= 1THEN 1500:REM CC II WINS 916 IF L< 4THEN 920 917 PM= INT (100* RND (1)+ 1):IF PM= > 92THEN K= Z:GOTO 4000 920 IF CC= 1OR CC= 8THEN V(Z)= V(Z)+ P1 922 IF Z= 1OR Z= 2THEN 930 925 IF CC= 1OR CC= 8THEN GOSUB 3900 930 IF CC= 2OR CC= 7THEN V(Z)= V(Z)+ P2 935 VV= V(Z):V(Z)= .2 940 IF P(LL+ 1,CC+ 1)> 2THEN V(Z)= V(Z)+ PO 950 IF P(LL+ 1,CC- 1)> 2THEN V(Z)= V(Z)+ PO 960 IF P(LL- 1,CC+ 1)> 2THEN V(Z)= V(Z)+ PO 970 IF P(LL- 1,CC- 1)> 2THEN V(Z)= V(Z)+ PO 973 V(Z)= INT (V(Z)):V(Z)= V(Z)+ VV 975 QL= LL:QC= CC:GOSUB 3500 980 NEXT 990 IF V(1)+ V(2)+ V(3)+ V(4)= - 80THEN 1600:REM CC II LOSES 1000 IF V(1)> V(2)THEN J= 1:GOTO 1030 1010 IF V(2)> V(1)THEN J= 2:GOTO 1030 1020 J= INT (INT (3- 1)* RND (1)+ 1) 1030 IF V(3)> V(4)THEN K= 3:GOTO 1060 1040 IF V(4)> V(3)THEN K= 4:GOTO 1060 1050 K= INT (INT (5- 3)* RND (1)+ 3) 1060 IF V(J)> V(K)THEN K= J 1065 QL= L:QC= C 1070 ON KGOTO 1080,1090,1100,1110 1080 L= L+ 1:C= C- 1:GOTO 1120 1090 L= L+ 1:C= C+ 1:GOTO 1120 1100 L= L- 1:C= C- 1:GOTO 1120 1110 L= L- 1:C= C+ 1 1120 A= L:B= C:GOSUB 3100 1130 FOR I= 1TO 500:I= I:NEXT :GOSUB 3500 1140 P(X,Y)= 4:P(L,C)= 3 1150 PLOT 3,1,CY- 5:PRINT "I MOVED FROM :";X;",";Y 1160 PLOT 3,1,CY- 4:PRINT " TO :";L;",";C 1170 PLOT 3,1,CY- 6:PRINT SPC( 20) 1180 FOR I= 0TO 8:PLOT 3,0,CY+ I:PRINT SPC( 21):NEXT 1183 PLOT 3,2,CY+ 2:PRINT " " 1185 X= A:Y= B 1190 GOTO 600 1500 A= LL:B= CC:QL= L:QC= C:GOSUB 3100 1510 FOR I= 1TO 500:I= I:NEXT :GOSUB 3500 1520 PLOT 3,1,CY- 5:PRINT "! ! ! GOTCHA ! ! !" 1530 PLOT 3,1,CY- 4:PRINT " *** I WIN ***" 1540 GOTO 1620 1600 PLOT 3,1,CY- 5:PRINT "??? I CAN'T MOVE ???" 1610 PLOT 3,1,CY- 4:PRINT " *** YOU WIN ***" 1620 PLOT 3,1,CY+ 5:INPUT "PLAY AGAIN ??";Y$ 1630 IF LEFT$ (Y$,1)= "Y"THEN 15 1650 END 2000 PRINT TAB( 30);:PRINT "a " 2001 RETURN 3000 PRINT TAB( 30);:PRINT " b" 3001 RETURN 3100 PLOT 3,27+ (4* B),3* A:PRINT SF$:RETURN 3200 PLOT 3,27+ (4* QC),3* QL:PRINT SH$:RETURN 3300 PLOT 3,27+ (4* F1),3* F:PRINT TH$:RETURN 3400 PLOT 3,27+ (4* QC),3* QL:PRINT TF$:RETURN 3500 PLOT 3,27+ (4* QC),3* QL:PRINT SB$:RETURN 3700 PLOT 3,27+ (4* CC),3* LL:PRINT FT$:RETURN 3800 PLOT 3,27+ (4* S1),3* R1:PRINT H0$:RETURN 3900 IF CC= 1AND ABS (P(LL- 1,2))< > 2AND ABS (P(LL- 2,1))< > 2AND ABS (P(LL- 2,3))< > 2THEN V(Z)= 20 3910 IF CC= 8AND ABS (P(LL- 1,7))< > 2AND ABS (P(LL- 2,8))< > 2AND ABS (P(LL- 2,6))< > 2THEN V(Z)= 20 3920 RETURN 4000 QQ= QQ+ 1:PLOT 3,2,30:PRINT "R";QQ 4001 GOTO 1065 5000 PRINT ,," " 5010 PRINT ,," F O X A N D H O U N D S " 5020 PRINT ,," " 5030 PRINT :PRINT :PRINT :PRINT ,"DO YOU WANT INSTRUCTIONS (Y/N) ? ";:INPUT A9$ 5040 IF A9$< > "Y"THEN 5 5050 PRINT :PRINT ,"THE GAME FOX AND HOUNDS IS PLAYED ON A CHECKER BOARD" 5060 PRINT ,"THE PLAYING PIECES MOVE ON THE RED SQUARES." 5070 PRINT :PRINT ,"THE OBJECT OF THE GAME IS FOR 4 HOUNDS TO TRAP " 5080 PRINT ,"THE 1 FOX BY SURROUNDING IT SO IT CAN NOT MOVE." 5090 PRINT :PRINT ,"SOUNDS EASY BUT..." 5100 PRINT ,"THERE'S A CATCH. THE FOX CAN MOVE IN ANY DIRECTION" 5110 PRINT ,"DIAGONALLY FORWARDS OR BACKWARDS. THE HOUNDS CAN ONLY" 5120 PRINT ,"MOVE DIAGONALLY DOWN THE SCREEN. THERE'S ONE OTHER" 5130 PRINT ,"PROBLEM; A HOUND CANNOT MAKE 2 CONSECUTIVE MOVES." 5140 PRINT :PRINT ,"IF THE COMPUTER CONTROLLED FOX REACHES THE TOP" 5150 PRINT ,"ROW OF SQUARES THE COMPUTER WINS." 5155 PRINT ,"IF THE HOUNDS CANNOT MAKE A LEGAL MOVE-FOX WINS." 5160 PRINT :PRINT ,"NOTE: ENTERING 0 FOR A HOUNDS DESTINATION STARTS" 5170 PRINT ,"THAT MOVE OVER." 5200 PRINT :PRINT ,,"PRESS <RETURN> WHEN READY ";:INPUT "";A9$ 5210 GOTO 5 5500 REM CAN HOUND MAKE VALID MOVE? 5510 HF= 1 5520 FOR HI= 1TO 7:FOR HJ= 1TO 8 5530 IF P(HI,HJ)< > 2THEN 5650 5540 IF P(HI+ 1,HJ- 1)= 4OR P(HI+ 1,HJ+ 1)= 4THEN HF= 0:HI= 7:HJ= 8 5650 NEXT :NEXT 5660 RETURN 10001 DATA 1.7,-.8,-3,-1,1.4,0