古代帝王為了擴張版圖、奪取資源,經常發動戰爭,在歷史劇中也很常看到攻城戰,然而「守城容易,攻城難」,若是想要拿下一座城池,就必須先克服3大難關,包含地勢、城防和兵器,如果沒有良好的決策、足夠的兵力,攻城方在戰爭中幾乎不可能拿下勝利。
首先攻城的第一大難關就是地勢,大部分的城池都建在一個不打不行、打了又容易吃虧的位置,比如唐朝的發祥地「太原城」,就是東、西、北三面環山,南邊則是太原盆地,想要進攻很容易會被發現,但卻是行軍路上必經的地方,更是重要的戰略位置,在古代還有許多類似地勢的城池,往往給進攻方帶來不小的麻煩。
至於地勢沒那麼險峻的城池,通常都具有3點特徵,第一是人口眾多,可以快速徵召大量兵力;第二是政治地位突出,可以調度周邊軍隊支援;第三則是經濟發達,能累積大量財富、糧草;3點兼具的城池包含東漢的洛陽、唐朝的長安、宋朝的開封、明清2朝的北京,而其他不是首都的城池,大多也會符合其中一點。
第二大難關為城防,城池按字面上理解,就是由城和池共同組成,其中池在外、城在內,而池就是護城河,由人工挖鑿並引水灌入,在內陸缺水地區護城河通常比較狹窄,甚至乾脆不鑿,但在水源豐富的地方,護城河的規模就相當壯觀,比如南宋的防禦重鎮「襄陽城」,在對抗元軍南下時,南宋不斷將護城河開掘、加寬,導致其平均寬度超過180公尺,最寬的地方甚至高達250公尺。
而城則有最外圍的「羊馬牆」,是過護城河後的第一道防線,較大一點的城還會建3、4道羊馬牆,變成「羊馬城」,上方還會有士兵不斷往下攻擊,包含弓箭、滾木、雷石等;等敵軍攻破羊馬牆才會接觸到外城牆,但戰事並沒有變得輕鬆,因為外城牆每隔一段距離就會有一座微微突出的「墩台」,以阻礙敵軍進攻、消除牆下死角。
除此之外,城牆內側還有一座「內甕城」,如果城牆外的防守壓力太大,守將就會先開城門、再落閘、後合圍,把先衝進來的敵軍關在內甕城,接著從上方以弓箭攻擊,讓他們無處可逃。
最後的第三大難關就是兵器,除了上述提及的弓箭、滾木和雷石外,古人還會在外城牆下方鋪設「鐵蒺藜」,用以防止敵軍的馬通過,類似功能的還有「陷馬坑」、「鹿角木」、「拒馬槍」等;「飛鈎」則是從城牆上拋下,勾住敵軍的鎧甲,讓他懸空成為箭靶;更殘忍的還有「狼牙拍」,上面佈滿鐵釘子,四邊還能加裝刀刃,當敵軍在爬梯子時從上方放下,給對方來個致命一擊。
基於以上3大難關,古代善戰者如非必要,就會盡量避免打攻城戰,這也是《孫子兵法‧謀攻篇》中「上兵伐謀,其次伐交,其次伐兵,其下攻城。攻城之法為不得已」的背後原因。