DIM gun(72, 51, 3), dam1$(6), dam2$(6), dam3$(6), dam4$(6), dam$(6, 14) DIM name$(72), shlpf(72), shtpf(72), rmax(72), gsrmax(72), names$(72) DIM styp$(5), fdam$(6, 14) CLS PRINT "American Civil War Naval Wargame Assist Program" PRINT "Version 1.0" PRINT "Programmed by Paul Glowacki" PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT PRINT "American Civil War Naval Wargame Assist Program copyright 1996 Paul Glowacki" PRINT "**************************************************************************" PRINT "Reading Data" PRINT styp$(1) = "Shot" styp$(2) = "Shell" styp$(3) = "Doubleshot" styp$(4) = "Grapeshot" styp$(5) = "Mortar" FOR x = 1 TO 6 STEP 1 READ dam1$(x), dam2$(x), dam3$(x), dam4$(x) NEXT x DATA "bow.", "bow.", "stern.", "foreship.", "foreship.", "bow.", "stern.", "foreship." DATA "midship.", "bow.", "stern.", "midship.", "midship.", "bow.", "stern.", "midship." DATA "aftership.", "foreship.", "aftership.", "aftership.", "stern.", "midship.", "midship.", "aftership." FOR x = 1 TO 14 FOR y = 1 TO 6 READ dam$(y, x) NEXT y NEXT x DATA "no damage.","no damage.","no damage.", "no damage.", "no damage.", "no damage." DATA "1 armor factor.", "no damage.", "no damage.", "no damage.", "no damage.", "special damage..." DATA "1 armor factor.", "1 armor factor.", "no damage.", "no damage.", "no damage.", "special damage..." DATA "1 armor factor plus...", "1 armor factor.", "1 armor factor.", "no damage.", "no damage.", "special damage..." DATA "1 armor factor plus...", "1 armor factor plus...", "1 armor factor.", "1 hull factor.", "no damage.", "special damage..." DATA "2 armor and 1 crew factors plus...", "1 armor factor plus...", "1 armor and 1 hull factor.", "1 armor factor.", "1 hull factor.", "special damage..." DATA "3 armor and 1 crew factors plus...", "2 armor factors plus...", "1 armor factor plus...", "1 armor factor.", "1 armor and 1 hull factor.", "1 hull factor plus special damage..." DATA "3 armor, 1 crew and 1 hull factors plus...", "2 armor and 1 crew factors plus...", "2 armor factors plus...", "2 armor factors.", "1 armor factor.", "1 armor and 1 hull factor plus special damage..." DATA "4 armor, 1 crew and 2 hull factors plus...", "3 armor, 2 hull and 1 crew factors plus...", "2 armor, 1 hull and 1 crew factors plus...", "1 armor, 1 hull and 1 crew factors plus..." DATA "2 armor and 1 crew factors.", "1 armor, 1 crew and 1 hull factor plus special damage..." DATA "4 armor, 1 crew and 3 hull factors plus...", "3 armor, 3 hull and 1 crew factors plus...", "2 armor, 2 hull and 1 crew factors plus..." DATA "2 armor, 2 hull and 1 crew factors plus...", "2 armor, 1 hull and 1 crew factors.", "2 armor, 2 crew and 4 hull factors." DATA "5 armor, 3 crew and 3 hull factors plus...", "4 armor, 3 hull and 3 crew factors plus...", "3 armor, 3 hull and 2 crew factors plus..." DATA "3 armor, 2 hull and 2 crew factors plus...", "2 armor, 2 hull and 2 crew factors plus...", "4 armor, 3 crew and 3 hull factors." DATA "6 armor, 3 crew and 4 hull factors plus...", "5 armor, 4 hull and 3 crew factors plus...", "4 armor, 3 hull and 3 crew factors plus..." DATA "3 armor, 3 hull and 2 crew factors plus...", "3 armor, 3 hull and 2 crew factors plus...", "4 armor, 4 crew and 4 hull factors." DATA "7 armor, 4 crew and 5 hull factors plus...", "6 armor, 4 hull and 4 crew factors plus...", "5 armor, 4 hull and 4 crew factors plus..." DATA "4 armor, 3 hull and 3 crew factors plus...", "3 armor, 3 hull and 2 crew factors plus...", "3 armor, 2 crew and 2 hull factors plus..." DATA "7 armor, 5 crew and 6 hull factors plus...", "6 armor, 6 hull and 4 crew factors plus...", "6 armor, 5 hull and 4 crew factors plus..." DATA "5 armor, 4 hull and 3 crew factors plus...", "4 armor, 4 hull and 3 crew factors plus...", "3 armor, 3 crew and 3 hull factors plus..." FOR x = 1 TO 14 FOR y = 1 TO 6 READ fdam$(y, x) NEXT y NEXT x DATA "no damage.","no damage.","no damage.", "no damage.", "no damage.", "no damage." DATA "1 armor factor.", "no damage.", "no damage.", "no damage.", "no damage.", "special damage..." DATA "1 armor factor.", "1 armor factor.", "no damage.", "no damage.", "no damage.", "special damage..." DATA "1 armor factor plus...", "1 armor factor.", "1 armor factor.", "no damage.", "no damage.", "special damage..." DATA "1 armor factor plus...", "1 armor factor plus...", "1 armor factor.", "1 hull factor.", "no damage.", "special damage..." DATA "2 armor and 1 crew factors plus...", "1 armor factor plus...", "1 armor and 1 hull factor.", "1 armor factor.", "no damage.", "special damage..." DATA "3 armor and 1 crew factors plus...", "2 armor factors plus...", "1 armor factor plus...", "1 armor factor.", "1 armor factor.", "special damage..." DATA "3 armor 1 crew factors plus...", "2 armor and 1 crew factors plus...", "2 armor factors plus...", "2 armor factors.", "1 armor factor.", "1 armor factor plus special damage..." DATA "4 armor and 1 crew factors plus...", "3 armor and 1 crew factors plus...", "2 armor and 1 crew factors plus...", "1 armor and 1 crew factors plus..." DATA "2 armor and 1 crew factors.", "1 armor and 1 crew factor plus special damage..." DATA "4 armor and 1 crew factors plus...", "3 armor and 1 crew factors plus...", "2 armor and 1 crew factors plus..." DATA "2 armor and 1 crew factors plus...", "2 armor and 1 crew factors.", "2 armor and 2 crew factors." DATA "5 armor and 3 crew factors plus...", "4 armor and 3 crew factors plus...", "3 armor and 2 crew factors plus..." DATA "3 armor and 2 crew factors plus...", "2 armor and 2 crew factors plus...", "4 armor and 3 crew factors." DATA "6 armor and 3 crew factors plus...", "5 armor and 3 crew factors plus...", "4 armor and 3 crew factors plus..." DATA "3 armor and 2 crew factors plus...", "3 armor and 2 crew factors plus...", "4 armor and 4 crew factors." DATA "7 armor and 4 crew factors plus...", "6 armor and 4 crew factors plus...", "5 armor and 4 crew factors plus..." DATA "4 armor and 3 crew factors plus...", "3 armor and 2 crew factors plus...", "3 armor and 2 crew factors plus..." DATA "7 armor and 5 crew factors plus...", "6 armor and 4 crew factors plus...", "6 armor and 4 crew factors plus..." DATA "5 armor and 3 crew factors plus...", "4 armor and 3 crew factors plus...", "3 armor and 3 crew factors plus..." FOR x = 1 TO 72 STEP 1 READ names$(x) NEXT x DATA "5.8 Inch Banded Rifles" DATA "6 Inch Dahlgren Rifles" DATA "6.4 Inch Brooke/28 cal. Rifles" DATA "6.4 Inch Brooke/18 cal. Rifles" DATA "6.4 Inch Banded Rifles" DATA "7 Inch Brooke/18 cal. Rifles" DATA "7 Inch Brooke/28 cal. Rifles" DATA "7 Inch Brooke/38 cal. Rifles" DATA "8 Inch Brooke/28 cal. Rifles" DATA "8 Inch Dahlgren Smoothbores" DATA "9 Inch Dahlgren Smoothbores" DATA "10 Inch Brooke Smoothbores" DATA "10 Inch Dahlgren Smoothbores" DATA "11 Inch Dahlgren Smoothbores" DATA "15 Inch Dahlgren Smoothbores" DATA "13 Inch Mortars" DATA "12 Pounder Smoothbores" DATA "20 Pounder Parrott Rifles" DATA "24 Pounder Smoothbores" DATA "30 Pounder Parrott Rifles" DATA "32 Pounder Smoothbores 52 Caliber" DATA "32 Pounder Smoothbores 27 Caliber" DATA "42 Pounder Smoothbores" DATA "42 Pounder Army Rifles" DATA "60 Pounder Parrott Rifles" DATA "68 Pounder Smoothbores (English)" DATA "70 Pounder Armstrong Rifles" DATA "100 Pounder Blakely Rifles" DATA "100 Pounder Parrott Rifles" DATA "110 Pounder Blakely Rifles" DATA "120 Pounder Blakely Rifles" DATA "128 Pounder Banded Rifles" DATA "150 Pounder Parrott Rifles" DATA "200 Pounder Blakely Rifles" DATA "250 Pounder Blakely Rifles" DATA "300 Pounder Armstrong Rifles" DATA "8 Inch Brooke Smoothbores" DATA "8 Inch Columbiad Smoothbores" DATA "10 Inch Columbiad Smoothbores" DATA "11 Inch Brooke Smoothbores" DATA "5.5 Inch RML's" DATA "5.8 Inch RML's" DATA "6 Inch Sawyer Rifles" DATA "6 Inch RML's" DATA "6.4 Inch RML's" DATA "6.4 Inch BLR's" DATA "7 Inch RML's (English)" DATA "7.6 Inch RML's" DATA "8 Inch RML's (English)" DATA "8 Inch RML's" DATA "9 Inch RML's (English)" DATA "9.4 Inch BLR's" DATA "10 Inch BLR's" DATA "10.8 Inch BLR's" DATA "12 Pounder Dahlgren Rifles" DATA "40 Pounder Armstrong Rifles" DATA "70 Pounder Armstrong Rifles" DATA "110 Pounder Armstrong Rifles" DATA "150 Pounder Armstrong Rifles" DATA "250 Pounder Armstrong Rifles" DATA "30 Pounder Smoothbores" DATA "55 Pounder Smoothbores" DATA "48 Pounder Smoothbores" DATA "68 Pounder Smoothbores" DATA "8 Inch Smoothbores" DATA "8.8 Inch Howitzers" DATA "10 Inch Smoothbores" DATA "20 Inch Dahlgren Smoothbores" DATA "8 Inch Mortars" DATA "10 Inch Mortars" DATA "24 Pounder Coehorns" DATA "10 Pounder Parrott Rifles" FOR x = 1 TO 72 STEP 1 READ name$(x), shtpf(x), shlpf(x), rmax(x), gsrmax(x) DATA "5.8 Inch Banded Rifle",5,4,30,2 DATA "6 Inch Dahlgren Rifle",6,5,30,3 DATA "6.4 Inch Brooke/28 cal. Rifle",8,7,35,4 DATA "6.4 Inch Brooke/18 cal. Rifle",7,6,35,4 DATA "6.4 Inch Banded Rifle",6,5,32,3 DATA "7 Inch Brooke/18 cal. Rifle",9,8,51,4 DATA "7 Inch Brooke/28 cal. Rifle",10,8,51,4 DATA "7 Inch Brooke/38 cal. Rifle",12,10,51,4 DATA "8 Inch Brooke/28 cal. Rifle",15,13,45,4 DATA "8 Inch Dahlgren Smoothbore",5,4,14,3 DATA "9 Inch Dahlgren Smoothbore",6,5,18,3 DATA "10 Inch Brooke Smoothbore",12,10,18,3 DATA "10 Inch Dahlgren Smoothbore",7,6,15,3 DATA "11 Inch Dahlgren Smoothbore",10,9,18,3 DATA "15 Inch Dahlgren Smoothbore",20,12,16,3 DATA "13 Inch Mortar",14,14,40,1 DATA "12 Pounder Smoothbore",1,1,8,2 DATA "20 Pounder Parrott Rifle",3,2,30,2 DATA "24 Pounder Smoothbore",2,1,9,2 DATA "30 Pounder Parrott Rifle",4,2,32,2 DATA "32 Pounder Smoothbore 52 Caliber",3,2,11,2 DATA "32 Pounder Smoothbore 27 Caliber",3,2,9,2 DATA "42 Pounder Smoothbore",4,3,10,2 DATA "42 Pounder Army Rifle",5,3,26,2 DATA "60 Pounder Parrott Rifle",6,5,40,2 DATA "68 Pounder Smoothbore (English)",5,4,13,3 DATA "70 Pounder Armstrong Rifle",7,6,40,3 DATA "100 Pounder Blakely Rifle",7,5,30,3 DATA "100 Pounder Parrott Rifle",8,6,45,3 DATA "110 Pounder Blakely Rifle",8,7,35,3 DATA "120 Pounder Blakely Rifle",9,8,36,3 DATA "128 Pounder Banded Rifle",8,5,32,3 DATA "150 Pounder Parrott Rifle",10,8,42,2 DATA "200 Pounder Blakely Rifle",11,9,37,4 DATA "250 Pounder Blakely Rifle",15,12,38,4 DATA "300 Pounder Armstrong Rifle",18,16,42,3 DATA "8 Inch Brooke Smoothbore",10,8,16,3 DATA "8 Inch Columbiad Smoothbore",10,8,16,3 DATA "10 Inch Columbiad Smoothbore",7,5,18,3 DATA "11 Inch Brooke Smoothbore",15,12,19,3 DATA "5.5 Inch RML",5,4,28,2 DATA "5.8 Inch RML",5,4,30,2 DATA "6 Inch Sawyer Rifle",5,4,28,3 DATA "6 Inch RML",6,5,30,3 DATA "6.4 Inch RML",6,5,32,3 DATA "6.4 Inch BLR",6,5,32,3 DATA "7 Inch RML (English)",10,9,36,3 DATA "7.6 Inch RML",8,7,36,3 DATA "8 Inch RML (English)",12,11,37,4 DATA "8 Inch RML",10,8,39,2 DATA "9 Inch RML (English)",17,15,38,4 DATA "9.4 Inch BLR",15,12,38,4 DATA "10 Inch BLR",15,13,40,3 DATA "10.8 Inch BLR",19,15,40,3 DATA "12 Pounder Dahlgren Rifle",2,1,12,2 DATA "40 Pounder Armstrong Rifle",5,4,35,3 DATA "70 Pounder Armstrong Rifle",8,7,40,3 DATA "110 Pounder Armstrong Rifle",9,8,40,4 DATA "150 Pounder Armstrong Rifle",11,10,40,4 DATA "250 Pounder Armstrong Rifle",16,14,41,3 DATA "30 Pounder Smoothbore",3,2,8,2 DATA "55 Pounder Smoothbore",4,3,13,2 DATA "48 Pounder Smoothbore",4,3,10,2 DATA "68 Pounder Smoothbore",5,4,12,3 DATA "8 Inch Smoothbore",5,4,14,3 DATA "8.8 Inch Howitzer",5,4,10,3 DATA "10 Inch Smoothbore",7,6,15,3 DATA "20 Inch Dahlgren Smoothbore",32,25,30,3 DATA "8 Inch Mortar",10,10,20,1 DATA "10 Inch Mortar",12,12,36,1 DATA "24 Pounder Coehorn",4,4,10,1 DATA "10 Pounder Parrott Rifle",2,1,27,2 NEXT x FOR gn = 1 TO 72 STEP 1 FOR x = 1 TO rmax(gn) STEP 1 READ gun(gn, x, 1) NEXT x NEXT gn DATA 2,3,3,4,5,5,5,6,6,6,6,7,7,8,8,9,9,9,9,9,10,10,10,11,11,11,11,12,12,12 DATA 2,3,3,4,4,5,5,5,6,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10 DATA 2,2,3,3,3,4,4,4,4,5,5,6,6,6,6,6,7,7,8,8,8,8,9,9,9,10,10,10,10,10,11,11,11,11,11 DATA 2,2,3,3,3,4,4,4,4,5,5,6,6,6,6,6,7,7,8,8,8,8,9,9,9,10,10,10,10,10,11,11,11,11,11 DATA 2,3,3,4,5,5,5,6,6,7,7,7,7,8,8,8,9,9,9,9,10,10,10,11,11,11,11,12,12,12,12,12 DATA 2,2,3,3,3,3,4,4,4,4,4,5,5,5,6,6,6,6,6,7,7,7,7,7,7,8,8,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11 DATA 2,2,3,3,3,3,4,4,4,4,4,5,5,5,6,6,6,6,6,7,7,7,7,7,7,8,8,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11 DATA 2,2,3,3,3,3,4,4,4,4,4,5,5,5,6,6,6,6,6,7,7,7,7,7,7,8,8,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11 DATA 2,2,3,3,3,3,4,4,4,4,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,7,8,8,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10 DATA 2,3,4,5,5,6,6,7,7,8,9,10,11,11 DATA 2,3,3,4,5,5,6,6,6,7,8,8,9,9,9,10,10,10 DATA 2,3,3,4,5,6,6,7,7,8,8,9,10,11,11,11,12,12 DATA 2,3,3,4,5,5,6,6,7,7,8,9,10,10,11 DATA 2,3,3,4,5,5,5,6,6,6,7,7,8,9,9,10,10,10 DATA 2,3,3,4,5,5,6,6,6,7,7,8,9,10,10,10 DATA 0,0,0,0,0,10,10,10,10,9,9,9,8,8,8,7,7,7,8,8,8,8,8,8,8,9,9,9,9,9,10,10,10,10,10,10,11,11,11,11 DATA 2,3,4,5,6,7,8,9 DATA 2,3,3,4,5,5,5,6,6,6,6,7,7,7,7,7,8,8,8,8,9,9,9,10,10,10,10,11,11,11 DATA 2,3,4,5,6,7,8,8,9 DATA 2,3,3,4,5,5,5,6,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,9,10,10,10,10,10,11,11 DATA 2,3,4,5,6,7,7,8,9,9,10 DATA 2,3,4,5,6,6,7,8,9 DATA 2,3,4,5,6,6,7,8,9,9 DATA 2,3,3,4,5,5,5,6,6,6,7,7,8,9,9,9,10,10,11,11,11,11,12,12,12,12 DATA 2,3,3,4,5,5,5,5,6,6,6,6,6,7,7,7,7,8,8,8,8,8,9,9,9,9,9,10,10,10,10,10,11,11,11,11,12,12,12,12 DATA 2,3,4,5,5,5,6,6,7,8,9,10,11 DATA 2,2,3,3,3,4,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8,8,8,8,8,9,9,9,9,9,10,10,10,10,10,10,11,11,11,11 DATA 2,3,3,4,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8,8,8,9,9,9,9,10,10,10,10,10 DATA 2,2,3,3,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,7,7,8,8,8,8,8,9,9,9,10,10,10,10,10,10,11,11,11,11,11,11,12,12,12,12 DATA 2,2,3,3,3,4,4,4,5,5,5,6,6,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,10,11,11,11,11,11 DATA 2,2,3,3,3,4,4,4,4,5,5,5,6,6,7,7,7,8,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,11,11 DATA 2,3,3,4,4,5,5,5,6,6,6,6,7,7,7,7,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,11 DATA 2,3,3,3,4,4,5,5,5,5,5,5,6,6,6,6,7,7,7,7,7,7,8,8,8,8,8,9,9,9,9,10,10,10,10,10,10,11,11,11,11,11 DATA 2,2,3,3,3,4,4,4,4,4,5,5,5,6,6,6,6,6,7,7,7,7,7,8,8,8,8,8,9,9,9,9,10,10,10,10,10 DATA 2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,7,7,8,8,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,11,11,11 DATA 2,2,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,7,7,7,7,8,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10 DATA 2,3,3,4,5,5,6,6,7,7,8,9,10,11,11,11 DATA 2,3,3,4,5,5,6,6,6,7,7,8,9,10,10,10 DATA 2,3,3,4,5,5,6,6,6,7,7,8,9,9,9,10,10,10 DATA 2,3,3,4,5,6,6,7,7,8,8,9,10,11,11,11,12,12,12 DATA 2,3,3,4,5,5,5,6,6,6,6,7,7,8,8,9,9,9,9,9,10,10,10,11,11,11,11,12 DATA 2,3,3,4,5,5,5,6,6,6,6,7,7,8,8,9,9,9,9,9,10,10,10,11,11,11,11,12,12,12 DATA 2,3,3,4,4,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,10,10,10,11,11 DATA 2,3,3,4,4,5,5,5,6,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10 DATA 2,3,3,4,5,5,5,6,6,7,7,7,7,8,8,8,9,9,9,9,10,10,10,11,11,11,11,12,12,12,12,12 DATA 2,3,3,4,5,5,5,6,6,7,7,7,7,8,8,8,9,9,9,9,10,10,10,11,11,11,11,12,12,12,12,12 DATA 2,2,3,3,3,4,4,4,4,5,5,5,6,6,7,7,7,8,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,11,11 DATA 2,2,3,3,3,4,4,4,4,5,5,5,6,6,7,7,7,8,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,11,11 DATA 2,2,3,3,3,4,4,4,4,4,5,5,5,6,6,6,6,6,7,7,7,7,7,8,8,8,8,8,9,9,9,9,10,10,10,10,10 DATA 2,2,3,3,4,4,5,5,5,5,5,5,6,6,6,6,7,7,7,7,7,7,8,8,8,8,8,9,9,9,9,10,10,10,10,10,10,11,11 DATA 2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,7,7,8,8,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,11,11,11 DATA 2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,7,7,8,8,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,11,11,11 DATA 2,3,3,3,4,4,5,5,5,5,5,5,5,6,6,6,7,7,7,7,7,7,7,8,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11 DATA 2,3,3,3,4,4,5,5,5,5,5,5,5,6,6,6,7,7,7,7,7,7,7,8,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11 DATA 2,3,4,5,5,5,6,6,7,8,9,10 DATA 2,3,3,4,5,5,5,6,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,9,10,10,10,10,10,11,11,11,11,11 DATA 2,2,3,3,3,4,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8,8,8,8,8,9,9,9,9,9,10,10,10,10,10,10,11,11,11,11 DATA 2,2,3,3,3,4,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8,8,8,8,8,9,9,9,9,9,10,10,10,10,10,10,11,11,11,11 DATA 2,2,3,3,3,4,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8,8,8,8,8,9,9,9,9,9,10,10,10,10,10,10,11,11,11,11 DATA 2,2,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,6,7,7,7,7,7,7,7,7,8,8,8,8,8,9,9,9,9,9,9,10,10,10,10 DATA 2,3,4,5,6,6,7,8 DATA 2,3,4,5,6,6,7,8,9,9,10,10,11 DATA 2,3,4,5,6,6,7,8,9,9 DATA 2,3,4,5,5,5,6,7,8,9,10,11 DATA 2,3,4,5,5,6,6,7,7,8,9,10,11,11 DATA 2,3,4,5,5,6,6,7,7,8 DATA 2,3,3,4,5,5,6,6,7,7,8,9,10,10,11 DATA 2,3,3,4,5,6,6,7,7,8,8,8,8,9,9,9,9,9,10,10,10,10,10,10,10,11,11,11,11,11 DATA 0,0,6,5,4,4,4,5,5,5,6,7,7,7,8,8,8,9,9,9 DATA 0,0,0,9,8,7,7,7,6,6,6,5,5,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,10,11,11,11,11,11,11 DATA 8,7,6,5,6,6,7,8,9,9 DATA 2,3,3,4,5,5,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,11,11,11 FOR gn = 1 TO 72 STEP 1 FOR x = 1 TO rmax(gn) STEP 1 READ gun(gn, x, 2) NEXT x NEXT gn DATA 3,3,3,3,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,2,2,2,2,2,2,1,1,1,1,1 DATA 3,3,3,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1 DATA 3,3,3,3,3,2,2,2,2,2,2,1,1,1,1,1,1,1 DATA 3,3,3,2,2,2,2,2,2,2,1,1,1,1,1 DATA 3,3,3,3,2,2,2,2,2,2,2,2,1,1,1,1,1,1 DATA 3,3,3,3,2,2,2,2,2,2,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,2,2,2,1,1,1 DATA 3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,2,2,2,1,1,1,1 DATA 3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,2,2,2,2,2,1,1,1,1 DATA 3,3,2,2,2,2,1,1,1 DATA 3,3,2,2,2,2,2,1,1,1 DATA 3,3,3,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,2,2,2,2,2,2,1,1,1,1 DATA 3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,2,2,2,2,2,2,1,1,1,1,1,1 DATA 3,3,3,2,2,2,2,2,2,2,2,1,1,1,1,1 DATA 3,3,3,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1 DATA 3,3,3,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1 DATA 3,3,3,3,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,2,2,2,2,2,2,1,1,1 DATA 3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 3,3,2,2,2,2,1,1 DATA 3,3,2,2,2,2,2,2,1,1,1,1,1 DATA 3,3,2,2,2,2,2,1,1,1 DATA 3,3,3,2,2,2,2,2,2,1,1,1 DATA 3,3,3,2,2,2,2,2,2,1,1,1,1,1 DATA 3,3,3,2,2,2,2,1,1,1 DATA 3,3,3,2,2,2,2,2,2,2,1,1,1,1,1 DATA 3,3,3,3,3,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 DATA 1,1,1,1,1,1,1,1,1,1 DATA 3,3,3,3,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1 FOR gn = 1 TO 72 STEP 1 FOR x = 1 TO gsrmax(gn) STEP 1 READ gun(gn, x, 3) NEXT x NEXT gn DATA 2,1 DATA 3,2,1 DATA 3,2,1,1 DATA 3,2,1,1 DATA 3,2,1 DATA 3,2,2,1 DATA 3,2,2,1 DATA 3,2,2,1 DATA 4,3,3,2 DATA 3,2,1 DATA 3,2,1 DATA 4,3,2 DATA 3,2,1 DATA 4,3,2 DATA 5,4,2 DATA 0 DATA 1,1 DATA 2,1 DATA 1,1 DATA 2,1 DATA 2,1 DATA 2,1 DATA 3,1 DATA 2,1 DATA 3,1 DATA 3,2,1 DATA 3,2,1 DATA 3,2,1 DATA 3,2,1 DATA 3,2,1 DATA 4,3,1 DATA 3,2,1 DATA 4,2 DATA 4,3,2,1 DATA 4,3,3,2 DATA 5,4,2 DATA 4,3,2 DATA 3,2,1 DATA 3,2,1 DATA 5,4,2 DATA 2,1 DATA 2,1 DATA 3,2,1 DATA 3,2,1 DATA 3,2,1 DATA 3,2,1 DATA 4,3,1 DATA 4,3,1 DATA 4,3,2,1 DATA 4,2 DATA 4,3,3,2 DATA 4,3,3,2 DATA 5,3,2 DATA 5,3,2 DATA 2,1 DATA 3,2,1 DATA 3,2,1 DATA 3,2,1,1 DATA 4,3,2,1 DATA 5,4,2 DATA 2,1 DATA 3,1 DATA 3,1 DATA 3,2,1 DATA 3,2,1 DATA 4,3,2 DATA 3,2,1 DATA 8,6,4 DATA 0 DATA 0 DATA 0 DATA 2,1 PRINT "Data Reading Complete" PRINT PRINT "Press any key to continue." 1 k$ = INKEY$: IF k$ = "" THEN GOTO 1 clr = 1 10 PRINT IF clr = 1 THEN CLS gn = 0: qty = 0: styp = 0 r = 0: ttyp = 0: angle = 0 tur = 0: crew = 0: tspd = 0: atur = 0 tsize = 0: soot = 0: othr = 0: tcheck = 0 plunge = 0: deckdam = 0: fmiss = 0: tur$ = "n" 16 INPUT "Gun number"; gn IF gn > 72 THEN GOTO 16 IF gn < 1 THEN GOTO 16 clr = 1 PRINT 18 PRINT "Number of "; names$(gn): INPUT "firing at same target"; qty PRINT IF qty < 1 THEN GOTO 18 IF gn = 16 OR gn = 69 OR gn = 70 OR gn = 71 THEN styp = 5: GOTO 22 20 INPUT "Shot (1), Shell (2), Doubleshot (3), or Grapeshot (4)"; styp IF styp = 5 THEN GOTO 20 IF styp > 5 THEN GOTO 20 IF styp < 1 THEN GOTO 20 PRINT 22 INPUT "Range"; r IF r < 1 THEN GOTO 22 IF r > rmax(gn) THEN PRINT "Target out of range": clr = 0: GOTO 10 IF styp = 4 AND r > gsrmax(gn) THEN PRINT "Target out of range": clr = 0: GOTO 10 IF styp = 5 AND gun(gn, r, 1) = 0 THEN PRINT "Target is too close for indirect fire with this weapon.": clr = 0: GOTO 10 PRINT 24 PRINT "Target type- " PRINT "Wooden Vessel, Armored Frigate or Half Armored Frigate (1)," PRINT "Monitor (2)" PRINT "Casemate Ironclad (3) or" INPUT "Fort (4)"; ttyp PRINT IF ttyp > 4 THEN GOTO 24 IF ttyp < 1 THEN GOTO 24 IF ttyp = 2 THEN tur = 1: GOTO 26 IF ttyp = 3 THEN GOTO 26 IF ttyp = 4 THEN GOTO 28 25 INPUT "Does the target have turrets (n)"; tur$ IF tur$ = "n" THEN tcheck = 2 IF tur$ = "N" THEN tcheck = 2 IF tur$ = "y" THEN tcheck = 1 IF tur$ = "Y" THEN tcheck = 1 IF tcheck = 0 THEN GOTO 25 IF tcheck > 0 THEN GOTO 26 PRINT 26 INPUT "Angle on target-Broadside (1), Bow (2), or Stern (3)"; angle IF angle > 3 THEN GOTO 26 IF angle < 1 THEN GOTO 26 PRINT 28 INPUT "Firing Platform-Vessel (1) or Fort (2)"; fplat PRINT IF styp = 5 THEN plunge = 1: GOTO 30 IF fplat = 2 THEN INPUT "Plunging Fire from Fort"; plfire$: PRINT IF plfire$ = "y" THEN plunge = 1 30 PRINT "Firing crew quality- " INPUT "Elite (2), Crack (1), Average (0), or Green (-2)"; crew PRINT IF crew > 2 THEN 30 IF ttyp = 4 THEN GOTO 36 32 INPUT "Target Size"; tsize PRINT 34 INPUT "Target Speed"; tspd IF tspd < 3 THEN spdrm = 1 IF tspd = 3 OR tspd = 4 THEN spdrm = 0 IF tspd = 5 OR tspd = 6 OR tspd = 7 THEN spdrm = -1 IF tspd = 8 OR tspd = 9 OR tspd = 10 OR tspd = 11 THEN spdrm = -1 IF tspd > 15 THEN spdrm = -2 PRINT 36 INPUT "Smoke Modifier (0 to -5)"; soot PRINT 38 INPUT "Other modifers-Night, Sinking vessels, Submarine (Enter total)"; othr PRINT 40 IF styp = 5 THEN INPUT "Acquired Target Modifier (0 or -1)"; scat PRINT IF styp = 5 AND tspd < 3 THEN scat = scat - 1 50 GOSUB 4000 qty = qty - 1 IF qty = 0 THEN GOTO 10 ELSE GOTO 50 END 4000 REM Shot, shell, doubleshot and grapeshot hit resolution PRINT "******************************************************************" PRINT PRINT "Firing "; styp$(styp); " at target with "; name$(gn) PRINT GOSUB 6000 dr = rn GOSUB 6000 dr = dr + rn IF styp = 3 AND dr > 10 THEN PRINT name$(gn); " blew up.": GOTO 4050 IF styp < 5 THEN GOTO 4020 IF styp = 5 THEN GOSUB 6000 mdr = dr + scat IF mdr = 1 THEN PRINT "Mortar shot impacts target hex": GOTO 4020 IF mdr > 1 THEN GOSUB 6000 scatdr = rn IF scatdr = 1 THEN PRINT "Mortar shot drifted 1 hex north." IF scatdr = 2 THEN PRINT "Mortar shot drifted 1 hex northeast." IF scatdr = 3 THEN PRINT "Mortar shot drifted 1 hex southeast." IF scatdr = 4 THEN PRINT "Mortar shot drifted 1 hex south." IF scatdr = 5 THEN PRINT "Mortar shot drifted 1 hex southwest." IF scatdr = 6 THEN PRINT "Mortar shot drifted 1 hex northwest." INPUT "Is there any target in the impact hex"; tar$: PRINT IF tar$ = "y" THEN GOTO 4010 ELSE GOTO 4050 4010 PRINT "Target type- " PRINT "Wooden Vessel, Armored Frigate or Half Armored Frigate (1)," INPUT "Monitor (2), Casemate Ironclad (3) or Fort (4)"; ttyp PRINT IF ttyp > 4 THEN GOTO 4010 IF ttyp < 1 THEN GOTO 4010 IF ttyp = 2 THEN atur = 1: GOTO 4012 IF ttyp = 3 THEN GOTO 4012 IF ttyp = 4 THEN GOTO 4020 4011 INPUT "Does the target have turrets"; tur$ IF tur$ = "y" THEN atur = 1 ELSE atur = 0 IF tur$ = "Y" THEN atur = 1 ELSE atur = 0 PRINT 4012 INPUT "Angle on target-Broadside (1), Bow (2), or Stern (3)"; angle IF angle > 3 THEN GOTO 4012 IF angle < 1 THEN GOTO 4012 PRINT 4020 dr = dr + crew + tsize + spdrm + soot + othr IF dr < gun(gn, r, 1) THEN PRINT styp$(styp); " missed target.": GOTO 4050 IF ttyp < 4 THEN PRINT styp$(styp); " hit target." PRINT GOSUB 7000 RETURN 4050 PRINT : PRINT "Press any key to continue." 4060 k$ = INKEY$: IF k$ = "" THEN GOTO 4060 6000 REM roll the die RANDOMIZE TIMER rn = INT(RND * 6) + 1 IF rn = 7 THEN GOTO 6000 RETURN 7000 REM Shot and Shell hit resolution gsdam = 0 GOSUB 6000 blue = rn GOSUB 6000 red = rn IF ttyp = 1 THEN GOTO 7100 IF ttyp = 2 THEN GOTO 7200 IF ttyp = 3 THEN GOTO 7300 IF ttyp = 4 THEN GOTO 7400 7100 IF blue = 1 THEN GOTO 7110 ELSE GOTO 7105 7105 IF blue = 2 THEN GOTO 7110 ELSE GOTO 7120 7110 IF angle = 1 THEN GOTO 7111 IF angle = 2 THEN GOTO 7112 ELSE GOTO 7113 7111 IF angle = 1 THEN PRINT "Damage to target at waterline, "; dam1$(red) IF red = 3 OR red = 4 THEN gsdam = 1 GOTO 7500 7112 IF angle = 2 THEN PRINT "Damage to target at waterline, "; dam2$(red) IF red = 6 THEN gsdam = 1 GOTO 7500 7113 IF angle = 3 THEN PRINT "Damage to target at waterline, "; dam3$(red) IF red = 6 THEN gsdam = 1 GOTO 7500 7120 IF blue = 3 THEN GOTO 7125 ELSE GOTO 7121 7121 IF blue = 4 THEN GOTO 7125 ELSE GOTO 7130 7125 IF angle = 1 THEN GOTO 7126 IF angle = 2 THEN GOTO 7127 ELSE GOTO 7128 7126 IF angle = 1 THEN PRINT "Damage to target at hull, "; dam1$(red) IF red = 3 OR red = 4 THEN gsdam = 1 GOTO 7500 7127 IF angle = 2 THEN PRINT "Damage to target at hull, "; dam2$(red) IF red = 6 THEN gsdam = 1 GOTO 7500 7128 IF angle = 3 THEN PRINT "Damage to target at hull, "; dam3$(red) IF red = 6 THEN gsdam = 1 GOTO 7500 7130 IF blue = 5 THEN GOTO 7131 ELSE GOTO 7140 7131 IF tur = 1 OR atur = 1 THEN PRINT "Damage to target at turret A": GOTO 7500 7132 IF angle = 1 THEN GOTO 7133 IF angle = 2 THEN GOTO 7134 ELSE GOTO 7135 7133 IF angle = 1 THEN PRINT "Damage to target at hull, "; dam1$(red) IF red = 3 OR red = 4 THEN gsdam = 1 GOTO 7500 7134 IF angle = 2 THEN PRINT "Damage to target at hull, "; dam2$(red) IF red = 6 THEN gsdam = 1 GOTO 7500 7135 IF angle = 3 THEN PRINT "Damage to target at hull, "; dam3$(red) IF red = 6 THEN gsdam = 1 GOTO 7500 7140 IF blue = 6 THEN GOTO 7141 ELSE PRINT "blue= "; blue: END 7141 IF plunge = 1 THEN GOTO 7147 IF tur = 1 OR atur = 1 THEN PRINT "Damage to target at turret Z (If no turret Z, then damage to turret A)": GOTO 7500 7142 IF angle = 1 THEN GOTO 7143 IF angle = 2 THEN GOTO 7144 ELSE GOTO 7145 7143 IF angle = 1 THEN PRINT "Damage to target at hull, "; dam1$(red) IF red = 3 OR red = 4 THEN gsdam = 1 GOTO 7500 7144 IF angle = 2 THEN PRINT "Damage to target at hull, "; dam2$(red) IF red = 6 THEN gsdam = 1 GOTO 7500 7145 IF angle = 3 THEN PRINT "Damage to target at hull, "; dam3$(red) IF red = 6 THEN gsdam = 1 GOTO 7500 7147 PRINT "Damage to target on deck, "; dam1$(red): deckdam = 1 IF angle = 1 AND red = 3 THEN gsdam = 1 IF angle = 1 AND red = 4 THEN gsdam = 1 IF angle = 2 AND red = 6 THEN gsdam = 1 IF angle = 3 AND red = 6 THEN gsdam = 1 GOTO 7500 7200 IF blue = 1 THEN GOTO 7211 ELSE GOTO 7210 7210 IF blue = 6 THEN GOTO 7240 ELSE GOTO 7220 7211 IF angle = 1 THEN PRINT "Damage to target at waterline, "; dam1$(red): GOTO 7500 IF angle = 2 THEN PRINT "Damage to target at waterline, "; dam2$(red): GOTO 7500 IF angle = 3 THEN PRINT "Damage to target at waterline, "; dam3$(red): GOTO 7500 7220 IF blue = 2 OR blue = 3 THEN GOTO 7221 ELSE GOTO 7230 7221 PRINT "Damage to target at turret A": GOTO 7500 7230 IF blue = 4 OR blue = 5 THEN PRINT "Damage to target at turret Z": GOTO 7500 7240 IF plunge = 1 THEN PRINT "Damage to target on deck, "; dam1$(red): deckdam = 1: GOTO 7500 IF angle = 1 THEN PRINT "Damage to target at waterline, "; dam1$(red): GOTO 7500 IF angle = 2 THEN PRINT "Damage to target at waterline, "; dam2$(red): GOTO 7500 IF angle = 3 THEN PRINT "Damage to target at waterline, "; dam3$(red): GOTO 7500 7300 IF blue = 1 THEN GOTO 7310 ELSE GOTO 7305 7305 IF blue = 2 THEN GOTO 7310 ELSE GOTO 7306 7306 IF blue = 6 THEN GOTO 7330 ELSE GOTO 7320 7310 IF angle = 1 THEN GOTO 7311 IF angle = 2 THEN GOTO 7312 ELSE GOTO 7313 7311 IF angle = 1 THEN PRINT "Damage to target at waterline, "; dam1$(red): IF red = 3 OR red = 4 THEN gsdam = 1 GOTO 7500 7312 IF angle = 2 THEN PRINT "Damage to target at waterline, "; dam2$(red): IF red = 6 THEN gsdam = 1 GOTO 7500 7313 IF angle = 3 THEN PRINT "Damage to target at waterline, "; dam3$(red): IF red = 6 THEN gsdam = 1 GOTO 7500 7320 IF angle = 1 THEN GOTO 7321 IF angle = 2 THEN GOTO 7322 ELSE GOTO 7323 7321 IF angle = 1 THEN PRINT "Damage to target at casemate, "; dam4$(red) IF red = 3 OR red = 4 THEN gsdam = 1 GOTO 7500 7322 IF angle = 2 THEN PRINT "Damage to target at casemate, "; dam2$(red) IF red = 6 THEN gsdam = 1 GOTO 7500 7323 IF angle = 3 THEN PRINT "Damage to target at casemate, "; dam3$(red) IF red = 6 THEN gsdam = 1 GOTO 7500 7330 IF plunge = 1 THEN GOTO 7335 7331 IF angle = 1 THEN GOTO 7332 IF angle = 2 THEN GOTO 7333 ELSE GOTO 7334 7332 IF angle = 1 THEN PRINT "Damage to target at waterline, "; dam1$(red): IF red = 3 OR red = 4 THEN gsdam = 1 GOTO 7500 7333 IF angle = 2 THEN PRINT "Damage to target at waterline, "; dam2$(red): IF red = 6 THEN gsdam = 1 GOTO 7500 7334 IF angle = 3 THEN PRINT "Damage to target at waterline, "; dam3$(red): IF red = 6 THEN gsdam = 1 GOTO 7500 7335 PRINT "Damage to target on deck, "; dam1$(red): deckdam = 1 IF angle = 1 AND red = 3 THEN gsdam = 1 IF angle = 1 AND red = 4 THEN gsdam = 1 IF angle = 2 AND red = 6 THEN gsdam = 1 IF angle = 3 AND red = 6 THEN gsdam = 1 GOTO 7500 7400 GOSUB 6000 fdr = rn IF fdr < 5 THEN PRINT styp$(styp); " is on target.": fmiss = 0: GOTO 7405 IF fdr = 5 THEN PRINT styp$(styp); " is to left of target." IF fdr = 6 THEN PRINT styp$(styp); " is to right of target." 7402 INPUT "Is there an emplacement present"; femp$ IF femp$ = "y" THEN GOTO 7405 IF femp$ = "n" THEN PRINT styp$(styp); " missed fort." ELSE GOTO 7402 fmiss = 1 7405 GOTO 7500 7500 GOSUB 9000 RETURN 8000 REM grapeshot table GOSUB 6000 gdr = rn IF gun(gn, r, 3) = 1 AND gdr > 3 THEN PRINT "No Damage from Grapeshot.": GOTO 8450 IF gun(gn, r, 3) = 2 AND gdr > 4 THEN PRINT "No Damage from Grapeshot.": GOTO 8450 IF gun(gn, r, 3) = 3 AND gdr > 5 THEN PRINT "No Damage from Grapeshot.": GOTO 8450 IF gun(gn, r, 3) = 1 AND ttyp > 1 AND armor > 0 AND gdr > 1 THEN PRINT "No Damage from Grapeshot": GOTO 8450 IF gun(gn, r, 3) = 2 AND ttyp > 1 AND armor > 0 AND gdr > 1 THEN PRINT "No Damage from Grapeshot": GOTO 8450 IF gun(gn, r, 3) = 3 AND ttyp > 1 AND armor > 0 AND gdr > 2 THEN PRINT "No Damage from Grapeshot": GOTO 8450 IF gun(gn, r, 3) = 4 AND ttyp > 1 AND armor > 0 AND gdr > 3 THEN PRINT "No Damage from Grapeshot": GOTO 8450 IF gun(gn, r, 3) > 4 AND ttyp > 1 AND armor > 0 AND gdr > 5 THEN PRINT "No Damage from Grapeshot": GOTO 8450 IF armor > 0 AND ttyp > 1 AND gsdam = 0 THEN PRINT "No Damage from Grapeshot": GOTO 8450 IF gun(gn, r, 3) = 1 AND gdr = 1 AND gsdam = 1 AND armor > 0 AND ttyp > 1 THEN PRINT "1 Stack hit.": GOTO 8450 IF gun(gn, r, 3) = 1 AND gdr = 1 AND gsdam = 1 THEN PRINT "2 Crew Hits and 1 Stack hit.": GOTO 8450 IF gun(gn, r, 3) = 1 AND gdr = 1 AND gsdam = 0 THEN PRINT "2 Crew Hits": GOTO 8450 IF gun(gn, r, 3) = 1 AND gdr = 2 THEN PRINT "1 Crew Hit.": GOTO 8450 IF gun(gn, r, 3) = 1 AND gdr = 3 THEN PRINT "1 Crew Hit.": GOTO 8450 IF gun(gn, r, 3) = 2 AND gdr = 1 AND gsdam = 1 AND armor > 0 AND ttyp > 1 THEN PRINT "1 Stack hit.": GOTO 8450 IF gun(gn, r, 3) = 2 AND gdr = 1 AND gsdam = 1 THEN PRINT "2 Crew Hits and 1 Stack hit.": GOTO 8450 IF gun(gn, r, 3) = 2 AND gdr = 1 AND gsdam = 0 THEN PRINT "2 Crew Hits": GOTO 8450 IF gun(gn, r, 3) = 2 AND gdr = 2 THEN PRINT "2 Crew Hits.": GOTO 8450 IF gun(gn, r, 3) = 2 AND gdr = 3 THEN PRINT "1 Crew Hit.": GOTO 8450 IF gun(gn, r, 3) = 2 AND gdr = 4 THEN PRINT "1 Crew Hit.": GOTO 8450 IF gun(gn, r, 3) = 3 AND gdr = 1 AND gsdam = 1 AND armor > 0 AND ttyp > 1 THEN PRINT "1 Stack hit.": GOTO 8450 IF gun(gn, r, 3) = 3 AND gdr = 1 AND gsdam = 1 THEN PRINT "3 Crew Hits and 1 Stack hit.": GOTO 8450 IF gun(gn, r, 3) = 3 AND gdr = 1 AND gsdam = 0 THEN PRINT "3 Crew Hits": GOTO 8450 IF gun(gn, r, 3) = 3 AND gdr = 2 AND gsdam = 1 AND armor > 0 AND ttyp > 0 THEN PRINT "1 Stack hit.": GOTO 8450 IF gun(gn, r, 3) = 3 AND gdr = 2 AND gsdam = 1 THEN PRINT "2 Crew Hits and 1 Stack hit.": GOTO 8450 IF gun(gn, r, 3) = 3 AND gdr = 2 AND gsdam = 0 THEN PRINT "2 Crew Hits": GOTO 8450 IF gun(gn, r, 3) = 3 AND gdr = 3 THEN PRINT "2 Crew Hits.": GOTO 8450 IF gun(gn, r, 3) = 3 AND gdr = 4 THEN PRINT "2 Crew Hits.": GOTO 8450 IF gun(gn, r, 3) = 3 AND gdr = 5 THEN PRINT "1 Crew Hit.": GOTO 8450 IF gun(gn, r, 3) = 4 AND gdr = 1 AND gsdam = 1 AND armor > 0 AND ttyp > 1 THEN PRINT "1 Stack hit.": GOTO 8450 IF gun(gn, r, 3) = 4 AND gdr = 1 AND gsdam = 1 THEN PRINT "4 Crew Hits and 1 Stack hit.": GOTO 8450 IF gun(gn, r, 3) = 4 AND gdr = 1 AND gsdam = 0 THEN PRINT "4 Crew Hits": GOTO 8450 IF gun(gn, r, 3) = 4 AND gdr = 2 AND gsdam = 1 AND armor > 0 AND ttyp > 0 THEN PRINT "1 Stack hit.": GOTO 8450 IF gun(gn, r, 3) = 4 AND gdr = 2 AND gsdam = 1 THEN PRINT "3 Crew Hits and 1 Stack hit.": GOTO 8450 IF gun(gn, r, 3) = 4 AND gdr = 2 AND gsdam = 0 THEN PRINT "3 Crew Hits": GOTO 8450 IF gun(gn, r, 3) = 4 AND gdr = 3 AND gsdam = 1 AND armor > 0 AND ttyp > 0 THEN PRINT "1 Stack hit.": GOTO 8450 IF gun(gn, r, 3) = 4 AND gdr = 3 AND gsdam = 1 THEN PRINT "2 Crew Hits and 1 Stack hit.": GOTO 8450 IF gun(gn, r, 3) = 4 AND gdr = 3 AND gsdam = 0 THEN PRINT "2 Crew Hits": GOTO 8450 IF gun(gn, r, 3) = 4 AND gdr = 4 THEN PRINT "2 Crew Hits.": GOTO 8450 IF gun(gn, r, 3) = 4 AND gdr = 5 THEN PRINT "1 Crew Hits.": GOTO 8450 IF gun(gn, r, 3) = 4 AND gdr = 6 THEN PRINT "1 Crew Hit.": GOTO 8450 IF gun(gn, r, 3) > 4 AND gdr = 1 AND gsdam = 1 AND armor > 0 AND ttyp > 0 THEN PRINT "2 Stack hits.": GOTO 8450 IF gun(gn, r, 3) > 4 AND gdr = 1 AND gsdam = 1 THEN PRINT "5 Crew Hits and 2 Stack hits.": GOTO 8450 IF gun(gn, r, 3) > 4 AND gdr = 1 AND gsdam = 0 THEN PRINT "5 Crew Hits": GOTO 8450 IF gun(gn, r, 3) > 4 AND gdr = 2 AND gsdam = 1 AND armor > 0 AND ttyp > 0 THEN PRINT "1 Stack hit.": GOTO 8450 IF gun(gn, r, 3) > 4 AND gdr = 2 AND gsdam = 1 THEN PRINT "4 Crew Hits and 1 Stack hit.": GOTO 8450 IF gun(gn, r, 3) > 4 AND gdr = 2 AND gsdam = 0 THEN PRINT "4 Crew Hits": GOTO 8450 IF gun(gn, r, 3) > 4 AND gdr = 3 AND gsdam = 1 AND armor > 0 AND ttyp > 0 THEN PRINT "1 Stack hit.": GOTO 8450 IF gun(gn, r, 3) > 4 AND gdr = 3 AND gsdam = 1 THEN PRINT "3 Crew Hits and 1 Stack hit.": GOTO 8450 IF gun(gn, r, 3) > 4 AND gdr = 3 AND gsdam = 0 THEN PRINT "3 Crew Hits": GOTO 8450 IF gun(gn, r, 3) > 4 AND gdr = 4 AND gsdam = 1 AND armor > 0 AND ttyp > 0 THEN PRINT "1 Stack hit.": GOTO 8450 IF gun(gn, r, 3) > 4 AND gdr = 4 AND gsdam = 1 THEN PRINT "2 Crew Hits and 1 Stack hit.": GOTO 8450 IF gun(gn, r, 3) > 4 AND gdr = 4 AND gsdam = 0 THEN PRINT "2 Crew Hits": GOTO 8450 IF gun(gn, r, 3) > 4 AND gdr = 5 AND gsdam = 1 AND armor > 0 AND ttyp > 0 THEN PRINT "1 Stack hit.": GOTO 8450 IF gun(gn, r, 3) > 4 AND gdr = 5 AND gsdam = 1 THEN PRINT "2 Crew Hits and 1 Stack hit.": GOTO 8450 IF gun(gn, r, 3) > 4 AND gdr = 5 AND gsdam = 0 THEN PRINT "2 Crew Hits": GOTO 8450 IF gun(gn, r, 3) > 4 AND gdr = 6 THEN PRINT "1 Crew Hit.": GOTO 8450 PRINT "nothing was tagged for grapeshot damage" PRINT gun(gn, r, 3), gdr, gsdam, armor, ttyp 8450 PRINT : PRINT "Press any key to continue." 8500 k$ = INKEY$: IF k$ = "" THEN GOTO 8500 RETURN 9000 REM determine hit damage IF fmiss = 1 THEN GOTO 9445 PRINT INPUT "Armor factors in affected area"; armor PRINT IF styp = 1 THEN pf = gun(gn, r, 2) * shtpf(gn) IF styp = 2 THEN pf = gun(gn, r, 2) * shlpf(gn) IF styp = 3 THEN pf = (gun(gn, r, 2) * shtpf(gn)) + 4 IF styp = 4 AND ttyp > 1 AND armor > 0 AND gsdam = 0 THEN PRINT "No Damage from Grapeshot": GOTO 9445 IF styp = 4 THEN GOSUB 8000: RETURN IF styp = 5 THEN pf = gun(gn, r, 2) * shtpf(gn) column = pf - armor IF column < -14 THEN col = 1: GOTO 9050 IF column < -9 THEN col = 2: GOTO 9050 IF column < -4 THEN col = 3: GOTO 9050 IF column < 1 THEN col = 4: GOTO 9050 IF column < 6 THEN col = 5: GOTO 9050 IF column < 11 THEN col = 6: GOTO 9050 IF column < 16 THEN col = 7: GOTO 9050 IF column < 21 THEN col = 8: GOTO 9050 IF column < 26 THEN col = 9: GOTO 9050 IF column < 31 THEN col = 10: GOTO 9050 IF column < 36 THEN col = 11: GOTO 9050 IF column < 41 THEN col = 12: GOTO 9050 IF column < 46 THEN col = 13: GOTO 9050 col = 14 9050 IF styp = 2 AND armor = 0 THEN col = col + 1: GOTO 9060 IF styp = 2 AND ((gun(gn, r, 2) * shlpf(gn)) - armor) > 9 THEN col = col + 1: GOTO 9060 IF styp = 2 AND armor > 0 THEN col = col - 1 IF col = 0 THEN col = 1 9060 IF col = 15 THEN col = 14 GOSUB 6000 hdr = rn IF ttyp < 4 THEN PRINT "Damage is "; dam$(hdr, col) IF ttyp = 4 THEN PRINT "Damage is "; fdam$(hdr, col) IF col > 1 AND col < 10 AND hdr = 6 THEN GOSUB 10000 IF col > 4 AND hdr = 1 THEN GOSUB 10500 IF col > 7 AND hdr = 2 THEN GOSUB 10500 IF col > 9 AND hdr = 3 THEN GOSUB 10500 IF col > 11 AND hdr = 4 THEN GOSUB 10500 IF col > 12 AND hdr = 5 THEN GOSUB 10500 IF col = 4 AND hdr = 1 THEN GOSUB 11000 IF col = 5 AND hdr = 2 THEN GOSUB 11000 IF col = 6 AND hdr = 2 THEN GOSUB 11000 IF col = 7 AND hdr = 2 THEN GOSUB 11000 IF col = 7 AND hdr = 3 THEN GOSUB 11000 IF col = 8 AND hdr = 3 THEN GOSUB 11000 IF col = 9 AND hdr = 3 THEN GOSUB 11000 IF col = 9 AND hdr = 4 THEN GOSUB 11000 IF col = 10 AND hdr = 4 THEN GOSUB 11000 IF col = 11 AND hdr = 5 THEN GOSUB 11000 IF col = 11 AND hdr = 6 THEN GOSUB 11000 IF col = 12 AND hdr = 5 THEN GOSUB 11000 IF col = 13 AND hdr = 6 THEN GOSUB 11000 IF col = 14 AND hdr = 6 THEN GOSUB 11000 9445 PRINT : PRINT "Press any key to continue." 9450 k$ = INKEY$: IF k$ = "" THEN GOTO 9450 RETURN 10000 GOSUB 6000 sdr = rn GOSUB 6000 sdr = sdr + rn PRINT "Special damage die roll is "; sdr RETURN 10500 GOSUB 6000 cdr = rn GOSUB 6000 cdr = cdr + rn PRINT "Critical damage die roll is "; cdr RETURN 11000 GOSUB 6000 pdr = rn 11010 IF ttyp < 4 AND deckdam = 1 THEN GOTO 11020 ELSE GOTO 11030 11020 IF pdr = 1 THEN PRINT "2 armor factors." IF pdr = 2 THEN PRINT "1 armor factor." IF pdr = 3 THEN PRINT "1 hull factor." IF pdr = 4 THEN PRINT "1 stack factor." IF pdr = 5 THEN PRINT "2 crew factors." IF pdr = 6 THEN PRINT "1 stack and 1 armor factor." RETURN 11030 IF ttyp = 4 THEN GOTO 11040 ELSE GOTO 11050 11040 IF pdr = 1 THEN PRINT "2 armor and 1 crew factors." IF pdr = 2 THEN PRINT "1 armor and 1 crew factor." IF pdr = 3 THEN PRINT "2 armor factors." IF pdr = 4 THEN PRINT "1 armor factor." IF pdr = 5 THEN PRINT "1 crew factor." IF pdr = 6 THEN PRINT "1 armor and 1 crew factor and 1 gun out of action." RETURN 11050 IF pdr = 1 THEN PRINT "3 armor, 2 hull and 2 crew factors." IF pdr = 2 THEN PRINT "2 armor, 2 hull and 2 crew factors." IF pdr = 3 THEN PRINT "1 armor, 2 hull and 1 crew factors." IF pdr = 4 THEN PRINT "1 armor, 1 hull and 1 crew factor." IF pdr = 5 THEN PRINT "1 armor and 1 hull factor." IF pdr = 6 THEN GOSUB 10500 RETURN 11060 PRINT "Error-penetration damage-no resolution." RETURN