Listing of file='COWIND.BAS;01' on disk='vmedia/nsw_ug_1-sideA-sector.ccvf'
90 CLEAR 800 100 DIM IX(10),IY(10),CX(10),CY(10) 105 GOSUB 60000:REM CALL KEYBOARD 110 PLOT 12,14,27,88 120 PLOT 6,57 130 FOR I= 18TO 26:PLOT 3,I,4,32,3,I,12,32:NEXT I 140 PLOT 3,18,6:PRINT " COWBOYS " 150 PLOT 3,18,8:PRINT " AND ":PLOT 3,18,10::PRINT " INDIANS " 160 PLOT 15,3,36,5,6,1 170 INPUT "INDIAN LEADER :";I$:I$= LEFT$ (I$,6) 180 PLOT 15,3,36,11,6,7 190 INPUT "COWBOY LEADER :";C$:C$= LEFT$ (C$,5) 192 PLOT 3,0,19 195 PRINT "DO YOU WANT INSTRUCTIONS :";:A= CALL (0):PLOT 28,11 200 IF A= 89THEN GOSUB 3000 490 PLOT 14,12 495 PLOT 6,3 500 PLOT 2,5,125,242,8,115,4,115,7,125,255 510 PLOT 2,11,120,242,14,110,10,110,13,120,255 520 PLOT 2,1,112,242,5,102,0,102,4,112,255 525 PLOT 15,3,8,1,6,5:PRINT I$;"S":PLOT 3,8,2:PRINT "CAMP":PLOT 6,2,14 530 PLOT 6,3 535 FOR J= 28TO 30:PLOT 3,56,J,43,3,63,J,43:NEXT J 540 FOR I= 56TO 63:PLOT 3,I,27,43,3,I,31,43:NEXT I 560 PLOT 15,6,5,3,57,28:PRINT C$;"S":PLOT 3,58,29:PRINT "FORT":PLOT 14,6,2 570 PLOT 6,4 580 PLOT 2,20,0,242,40,20,40,40,87,90,100,127,255 590 PLOT 2,107,127,242,93,88,45,38,45,19,24,0,255 600 L= 0:K= 1:PLOT 6,1 610 FOR I= 4TO 6STEP 2 620 FOR J= 8TO 16STEP 2 630 PLOT 3,J+ L,I,99 635 IX(K)= J+ L:IY(K)= I:K= K+ 1 640 NEXT J 645 L= 1 650 NEXT I 655 L= 0:K= 1:PLOT 6,7 660 FOR I= 22TO 24STEP 2 670 FOR J= 54TO 62STEP 2 680 PLOT 3,J+ L,I,99 685 CX(K)= J+ L:CY(K)= I:K= K+ 1 690 NEXT J 695 L= 1 700 NEXT I 710 PLOT 15,6,6,3,46,4,32 720 FOR I= 46TO 50 730 PLOT 3,I,5,61,3,I+ 1,4,61 740 NEXT I 750 FOR I= 15TO 20 760 PLOT 3,I,29,61,3,I+ 1,28,61 770 NEXT I 775 REM 780 REM ## BOULDERS FOLLOW ## 785 REM 790 PLOT 14,6,2,3,2,17,116,117,3,8,23,116,117 800 PLOT 3,30,7,116,117,3,26,11,116,117 810 PLOT 3,57,13,116,117,3,48,15,116,117 812 PLOT 3,34,25,116,117,3,26,31,116,117 814 PLOT 3,42,3,116,117,3,21,5,116,117 815 PLOT 3,55,5,116,117,3,50,7,116,117 816 PLOT 3,59,9,116,117,3,14,11,116,117 818 PLOT 3,5,13,116,117,3,10,17,116,117 819 PLOT 3,43,19,116,117,3,58,19,116,117 821 PLOT 3,14,23,116,117,3,15,27,116,117 822 PLOT 3,28,27,116,117,3,46,27,116,117 824 PLOT 3,34,29,116,117,3,3,31,116,117 825 CHECK= 0 830 FOR II= 10TO 1STEP - 1 840 IF IX(II)= 0AND IY(II)= 0THEN 900 850 PLOT 14,6,65,3,IX(II),IY(II),99 860 GOSUB 1100:REM GET SELECTION 890 PLOT 6,1,3,IX(II),IY(II),99 892 IF A= 12THEN PLOT 6,0,3,IX(II),IY(II),32:IX(II)= 0:IY(II)= 0 895 IF A= 13THEN II= 1 900 NEXT II 905 CHECK= 1 910 FOR II= 1TO 10 920 IF CX(II)= 0AND CY(II)= 0THEN 980 930 PLOT 14,6,71,3,CX(II),CY(II),99 940 GOSUB 1200:REM GET SELECTION 970 PLOT 6,7,3,CX(II),CY(II),99 972 IF A= 12THEN PLOT 6,0,3,CX(II),CY(II),32:CX(II)= 0:CY(II)= 0 975 IF A= 13THEN II= 10 980 NEXT II 990 GOSUB 2000:REM CHECK GAME STATUS 995 GOTO 825 1000 REM ## END ROUTINE ## 1010 REM 1020 PLOT 6,6,15,3,28,28:PRINT "DO YOU WANT ANOTHER GAME :"; 1030 A= CALL (0):IF A= 89THEN RUN 110 1090 PLOT 27,75,6,2,15:END 1100 REM ## GET INDIAN SELECTION ## 1110 REM 1120 PLOT 6,65,3,14,0:PRINT ">";:A= CALL (0) 1122 PLOT 3,14,0:PRINT " " 1124 IF A< 58AND A> 48THEN 1170 1125 IF A= 27THEN 1000 1126 IF A= 1THEN GOSUB 4000 1127 IF A= 1THEN PLOT 14,6,65,3,IX(II),IY(II),99:GOTO 1120 1130 IF A< > 83THEN 1160 1142 PLOT 6,1,3,22,0:PRINT "SHOT ANGLE :";:A= CALL (0) 1144 PLOT 3,22,0:PRINT " " 1150 GOSUB 1600 1152 X= IX(II):Y= IY(II) 1155 GOSUB 1300 1160 RETURN 1170 REM ## MOVE ## 1171 GOSUB 1600 1175 IF (IX(II)+ DX)< 0OR (IX(II)+ DX)> 63OR (IY(II)+ DY)< 0OR (IY(II)+ DY)> 31THEN RETURN 1180 PLOT 3,IX(II),IY(II),32:IX(II)= IX(II)+ DX:IY(II)= IY(II)+ DY 1185 IF IX(II)> 56AND IY(II)> 27THEN 2220 1190 RETURN 1200 REM ## GET COWBOY SELECTION ## 1210 REM 1220 PLOT 6,71,3,42,31:PRINT "<";:A= CALL (0) 1222 PLOT 3,42,31:PRINT " " 1224 IF A< 58AND A> 48THEN 1270 1226 IF A= 27THEN 1000 1227 IF A= 1THEN GOSUB 4000 1228 IF A= 1THEN PLOT 14,6,71,3,CX(II),CY(II),99:GOTO 1220 1230 IF A< > 83THEN 1260 1242 PLOT 6,7,3,31,31:PRINT "SHOT ANGLE :";:A= CALL (0) 1244 PLOT 3,31,31:PRINT " " 1250 GOSUB 1600 1252 X= CX(II):Y= CY(II) 1255 GOSUB 1300 1260 RETURN 1270 REM ## MOVE ## 1271 GOSUB 1600 1275 IF (CX(II)+ DX)< 0OR (CX(II)+ DX)> 63OR (CY(II)+ DY)< 0OR (CY(II)+ DY)> 31THEN RETURN 1280 PLOT 3,CX(II),CY(II),32:CX(II)= CX(II)+ DX:CY(II)= CY(II)+ DY 1285 IF CX(II)< 7AND CY(II)< 4THEN 2120 1290 RETURN 1300 REM ## SHOT FIRED! ## 1310 REM 1312 IF DX< > 0THEN DX= DX/ 3 1314 IF DY< > 0THEN DY= DY/ 2 1330 IF CHECK= 0THEN 1500:REM COWBOY CHECK 1340 FOR I= 1TO 7 1350 XC= X+ I* DX:YC= Y+ I* DY 1360 FOR J= 1TO 10 1370 IF IX(J)= XCAND IY(J)= YCTHEN IX(J)= 0:IY(J)= 0:GOTO 1400 1380 NEXT J 1385 NEXT I 1390 IF XC> 63OR YC> 31OR XC< 0OR YC< 0THEN RETURN 1400 REM ## A HIT ## 1410 PX= XC* 2+ 1:PY= 127- (YC* 4+ 3) 1415 QX= X* 2+ 1:QY= 127- (Y* 4+ 3) 1420 PLOT 6,5,2,QX,QY,242,PX,PY,255 1430 FOR I= 1TO 1000:NEXT I 1440 PLOT 6,0,2,QX,QY,242,PX,PY,255,3,XC,YC,32 1445 IF CHECK= 1THEN 1470 1450 PLOT 14,6,1,3,X,Y,99 1460 RETURN 1470 PLOT 14,6,7,3,X,Y,99 1480 RETURN 1500 FOR I= 1TO 7 1510 XC= X+ I* DX:YC= Y+ I* DY 1520 FOR J= 1TO 10 1530 IF CX(J)= XCAND CY(J)= YCTHEN CX(J)= 0:CY(J)= 0:GOTO 1400 1540 NEXT J 1550 NEXT I 1555 IF XC> 63OR YC> 31OR XC< 0OR YC< 0THEN RETURN 1560 GOTO 1400 1600 REM SUBROUTINE FOR CALL FUNCTION 1610 REM 1620 A= A- 48:DX= - 3:DY= - 2:IF A= 3OR A= 6OR A= 9THEN DX= 3 1630 IF A= 1OR A= 2OR A= 3THEN DY= 2 1640 IF A= 2OR A= 8THEN DX= 0 1650 IF A= 4OR A= 6THEN DY= 0 1660 RETURN 1670 REM 2000 REM 2010 REM ## CHECK GAME STATUS ## 2015 K= 0:L= 0 2020 FOR I= 1TO 10 2030 IF IX(I)= 0AND IY(I)= 0THEN K= K+ 1 2040 IF CX(I)= 0AND CY(I)= 0THEN L= L+ 1 2050 NEXT I 2060 IF K= 10THEN 2100 2070 IF L= 10THEN 2200 2080 RETURN 2100 REM ## ALL INDIANS SHOT ## 2110 PLOT 6,5,3,2,2:PRINT "ALL INDIANS DEAD" 2120 PLOT 6,69,3,50,30:PRINT "COWBOYS WIN" 2130 FOR I= 1TO 2000:NEXT I 2140 GOTO 1000 2200 REM ## ALL COWBOYS SHOT ## 2205 PLOT 6,5,3,42,25:PRINT "ALL COWBOYS DEAD" 2220 PLOT 6,69,3,2,2:PRINT "INDIANS WIN" 2230 FOR I= 1TO 1000:NEXT I 2240 GOTO 1000 2990 REM 3000 REM ## INSTRUCTIONS ## 3010 REM 3020 PLOT 15,6,6,3,0,16 3025 PRINT 3030 PRINT TAB( 5);"THIS IS A TACTICAL GAME IN WHICH YOU" 3040 PRINT TAB( 5);"MOVE YOUR MEN SO THAT YOU REACH THE " 3050 PRINT TAB( 5);"ENEMY CAMP / FORT FIRST. YOU CAN ALSO" 3060 PRINT TAB( 5);"WIN BY ELIMINATING ALL THE ENEMY FORCE." 3070 PRINT :PRINT TAB( 10);:INPUT "HIT RETURN TO CONTINUE :";A$ 3080 FOR I= 16TO 28:PLOT 3,0,I,11:NEXT I 3090 PLOT 3,5,16,6,5:PRINT "RULES :":PRINT TAB( 5);"-----" 3100 PRINT :PRINT TAB( 5);"YOU CAN MOVE ONE MAN AT A TIME." 3110 PRINT :PRINT TAB( 5);"YOU CAN SHOOT AT THE ENEMY, BUT YOU" 3120 PRINT TAB( 5);"CANNOT MOVE THAT MAN AS WELL." 3130 PRINT :PRINT TAB( 5);"YOU CAN CROSS THE RIVER AT ANY POINT." 3140 PRINT :PRINT TAB( 5);"NO SHOOTING THROUGH ROCKS / ACROSS RIVER" 3150 PRINT :PRINT :PRINT TAB( 10);:INPUT "HIT RETURN TO CONTINUE :";A$ 3190 PLOT 12 3200 PLOT 3,6,12:PRINT "7" 3210 PLOT 3,10,12:PRINT "8" 3220 PLOT 3,14,12:PRINT "9" 3230 PLOT 3,6,15:PRINT "4" 3240 PLOT 3,14,15:PRINT "6" 3250 PLOT 3,6,18:PRINT "1" 3260 PLOT 3,10,18:PRINT "2" 3270 PLOT 3,14,18:PRINT "3" 3280 PLOT 18 3290 PLOT 2,10,82,242,15,82,15,73,10,73,10,82 3300 PLOT 253,10,70,242,15,70,15,61,10,61,10,70 3310 PLOT 253,10,58,242,15,58,15,49,10,49,10,58 3320 REM 3330 PLOT 253,18,82,242,23,82,23,73,18,73,18,82 3340 PLOT 253,18,58,242,23,58,23,49,18,49,18,58 3350 REM 3360 PLOT 253,26,82,242,31,82,31,73,26,73,26,82 3370 PLOT 253,26,70,242,31,70,31,61,26,61,26,70 3380 PLOT 253,26,58,242,31,58,31,49,26,49,26,58 3390 PLOT 255,30,16,29,18 3400 PLOT 21,3,2,5:PRINT "TEN-KEY NUMBER PAD" 3410 PLOT 17<0xFC> _9,47,242,3,35,3,39,253,3,35,242,5,35 3430 PLOT 253,21,47,242,CN -VAL UEND <0xCD> <0xFF> 21,35,19,37,253,21,35,242,23,37 3440 PLOT 253,32,47,242,38,35,38,39,253,38,35,242,36,35 3450 PLOT 253,33,65,242,40,65,38,67,253,40,65,242,38,63 3460 PLOT 253,32,84,242,38,96,36,96,253,38,96,242,38,92 3470 PLOT 253,21,84,242,21,96,19,94,253,21,96,242,23,94 3480 PLOT 253,9,84,242,3,96,3,92,253,3,96,242,5,96 3490 PLOT 253,8,65,242,1,65,3,67,253,1,65,242,3,63 3500 PLOT 255 3510 PLOT 6,6,3,24,7 3520 PRINT "MOVING OR SHOOTING :" 3530 PLOT 6,7,3,24,8:PRINT "------ --------" 3540 PLOT 6,2,15,3,26,10 3550 PRINT "SIMPLY ENTER THE REQUIRED DIRECTION AS" 3560 PLOT 3,26,11 3570 PRINT "PER THE TEN KEY NUMERICAL PAD @ LEFT." 3580 PLOT 3,26,13 3590 PRINT "TO MOVE ENTER THE DIRECTION WHEN THE" 3600 PLOT 3,26,14 3610 PRINT "RELEVANT MAN IS FLASHING." 3620 PLOT 3,26,16 3630 PRINT "IF YOU DON'T WANT TO MOVE / SHOOT" 3640 PLOT 3,26,17 3650 PRINT "TYPE ANY KEY EXCEPT SPECIAL KEYS." 3660 PLOT 3,26,19 3670 PRINT "WHEN SHOOTING ENTER 'S', THE ANGLE" 3680 PLOT 3,26,20 3690 PRINT "WILL THEN BE ASKED FOR. USE KEY PAD."" 3700 PLOT 3,26,23 3710 PRINT "SPECIAL KEYS ARE -" 3720 PLOT 3,28,25 3730 PRINT "'RETURN' FOR ENDING YOUR GO" 3740 PLOT 3,28,27 3750 PRINT "'ERASE PAGE' FOR REMOVING A MAN" 3760 PLOT 3,28,29 3770 PRINT "E.G. A MAN HITS RIVER / BOULDER." 3780 PLOT 3,20,2:INPUT "HIT RETURN TO CONTINUE :";AOS + PRINT TAB( SPC( REM 4010 END <0xCD> VAL U- y<0xFF> REM ## PLOT ALL CHARACTERS ## 4020 REM 4030 FOR KK= 10TO 1STEP - 1 4040 IF IX(KK)= 0AND IY(KK)= 0THEN 4060 4050 PLOT 6,1,3,IX(KK),IY(KK),99 4060 IF CX(KK)= 0AND CY(KK)= 0THEN 4080 4070 PLOT 6,7,3,CX(KK),CY(KK),99 4080 NEXT KK 4090 RETURN 60000 REM ## READ FROM KEYBOARD 'CALL()' ## 60010 REM 60020 POKE 33283,232:POKE 33284,253 60030 ADR= 65000 60040 FOR I= 0TO 18 60050 READ V:POKE (ADR+ I),V 60060 NEXT I 60070 RETURN 60080 DATA 245,229,197,205,36,0 60090 DATA 194,235,253,95,175,87 60100 DATA 50,255,129,193,225,241 60110 DATA 201