【287】關鍵代碼
  激情與溫柔交織的纏綿告一段落,黎允兒的熱烈與主動,讓孫軼民此刻略感疲憊。

  黎允兒安靜的靠在孫軼民臂彎,猶如一隻滿足的綿羊。麵色緋紅中帶一絲嬌羞,潔白的凶口微微起伏。

  在這個陽光燦爛的午後,孫軼民領略到了這個小蘿莉不為人知的另一麵的美好,這令他有些沉醉。

  略作休息,孫軼民穿衣起身,坐到電腦桌前。

  黎允兒略微收拾打扮,恢複了正常形態,坐到了孫軼民身旁。

  此後的兩個小時,黎允兒陪伴他在電腦屏幕上解讀著複雜的程序代碼。

  通過研讀,孫軼民看出來了一點:黎允兒的程序中的計算功能,采用了大量的標準模板庫中的現成類模板以及函數,這造成了程序的臃腫,組件框架本身冗餘的基礎上,進一步降低了程序的效率。

  這一點令他欣慰,因為他此刻已經明白,如果能運用自己高超的編程技術,用純C語句避開那些冗餘低效率,重新構造加密解密功能模塊,那麽就可以讓自己的程序在一定程度上取得速度優勢,從而擊敗刑天(的程序)。

  或許刑天聘請的程序員有很牛逼,但很明顯他沒有能力自行破解醉風月的通訊加密方式和密碼,也就避不開黎允兒解碼組件的低效率。

  黎允兒重點講述的是代碼中的加密解密函數,以及破解後的通訊密碼。至於她是如何破解獲取,這個並不在代碼中體現,她的解碼組件僅僅是運用了破解的成果。

  當然,關於破解的原理,孫軼民之前也曾好奇的打聽了一下。

  黎允兒大致講述過原理:利用遊戲服務器上的漏洞取得管理員權限,截獲關鍵程序加以反編譯解讀得到。當然,這個破解涉及到高深的黑客知識,孫軼民目前是不會的。

  換句話說,如果醉風月運營方再次改變通訊密碼,那麽孫軼民還得再次求助黎允兒。

  加密解密函數的實現以及密碼本身都有點複雜,在獲得黎允兒允許的前提下,孫軼民用本子做了一點筆記,以免遺忘。

  研讀完畢已經接近傍晚,孫軼民為表謝意,請黎允兒吃晚飯。

  黎允兒想要挽留他晚上陪她。孫軼民心中雖有些留戀溫香軟玉的纏綿,但因為心中有著對依依的歉疚,以及急於回去做正事,便婉拒了黎允兒。

  晚上回到家,孫軼民便迫不及待的投入了刺客程序的改造工作之中。

  其實在掌握了黎允兒透露的醉風月通訊數據加密方式和密碼之後,改進工作並不複雜。

  孫軼民在刺客源代碼中,直接去掉了對原先黎允兒解碼組件的調用。然後采用純c語言重現構建加密解密函數。之所以不采用c++類模板,是因為其冗餘與低效。

  事實上這樣做能提高的效率,如果換算成時間其實微乎其微(時間以計算機的運算周期計,幾乎就是幾毫秒),但是在遊戲世界的競技戰場上,幾毫秒的時間差距,往往能決定戰鬥結果走向。

  舉例來說,疾風衝刺是霸王職業最重要的一個策略性技能,其本質為可以遠程發起的控製技能,並造成一定傷害。此技能冷卻比較短,使用頻率高,為霸王職業玩家公認的掌控戰局的關鍵技能。

  在戰局剛開始,或者雙方手中這個技能都已經冷卻完畢並再次逼近對方的時候,雙方必然會首先使用“疾風衝刺”擊倒控製對方。

  那麽如果其中一方能比對方快出1毫秒放出這一技能,被擊倒在地麵的就是對方了。而接下來,贏得先機的一方就有機會施放後續的攻擊技能,從而占據有利地位,掌控戰局。

  為了驗證新程序的效率優勢,他在代碼中加入了一種計時功能,然後編譯為兩個版本。

  一個版本仍然調用黎允兒的解碼組件,另一個版本則使用自己的解碼程序運行。然後將兩本版本的程序進行對比測試。

  他來到野外,用程序記錄對同一種怪物,從同樣的距離出發,從發起“疾風衝刺”技能的那一瞬間到將怪物擊倒在地的瞬間。

  測試結果顯示:新的戰鬥程序所使用的時間,要比舊程序所耗費的時間,少了約5毫秒左右。效果令人滿意。

  第二步驟,孫軼民從戰鬥策略層麵對程序進行了改進。

  從上一次街頭切磋中,孫軼民可以看出來刑天的戰鬥程序同樣采用了“控製+攻擊”的連招策略。這意味著同為霸王職業的雙方在戰鬥一開始的時候,便進入快速的內耗狀態。

  具體來說:A方使用控製技能控製B方然後準備施放攻擊技能,B方會迅速解控並且反控A方,打斷A方的攻擊技能。然後A方再次解控準備方劑……如此循環往複,在短時間內便將雙方的控製和解控技能使用完畢。

  而這些控製以及解控技能是需要冷卻的。控製技能冷卻較短,解控卻比較長一般在五分鍾以上。

  這就意味著在一場戰鬥中,第一輪火並結束後,雙方基本上沒有機會再次使用解控技能了。

  而大多數控製技能和攻擊技能不會同時冷卻完畢,這就意味著後續繼續采取連招模式的機會很少了。

  那麽這時候就需要進行靈活的遊擊策略——有技能就打,沒技能就跑,同時等冷卻。

  在這個過程中,最要講究的是速度和躲避策略。

  在雙方的控製技能(特別是疾風衝刺)再度冷卻完畢後,雙方必然再次逼近對方。很明顯此時誰先出手快控製對方,誰就占據了優勢(畢竟對方已經沒有解控技能了)。

  而在己方的控製技能沒有冷卻完畢,對方卻的衝刺技能已經冷卻完畢的情況下,則需要采取措施有效避開對方的衝刺(因為是遠程,衝刺技能有可能命中失敗。)

  特別是當對方開加速追擊,己方必然會被追上的前提下,必須走複雜曲線,以增加對方命中失敗的概率。

  (當然這個曲線躲避的戰鬥策略在當初對付幽鬼的時候已經加入程序中了,本次需要專門針對霸王的衝刺技能,做進一步優化。)

  反之,如果己方的衝刺技能已經冷卻完畢,而判斷對方還沒冷卻完畢,那麽就可以適當的運用加速技能追擊。從而占據優勢。

  為實現以上功能,需要增加專門針對霸王的技能冷卻時間的估算功能。孫軼民在程序中增加了一個線程專門記錄對手的關鍵技能特別是衝刺技能冷卻結束時間。

  如此一來,當自己手中的衝刺還未冷卻,而敵人折返逼近的時候,可以明確對方手裏到底有沒有貨,以便決策是否需要躲避。

  同時如果己方技能已經冷卻完畢,而對方未冷卻完畢,則可以開加速追擊。

  孫軼民花了2小時基本上改造程序完畢。然後跑到長安街頭實測效果。

  要實測,自然是要找到禺彊。畢竟其他人沒有戰鬥程序,與他們切磋沒有意義。

  但是孫軼民考慮到了一點:即便自己的程序功能改進讓自己占據了優勢,也不能過早讓刑天知道這點,從而引起警惕。畢竟下周末才進行決賽。

  他主動找到禺彊切磋,在比賽的前半場火力全開,主要測試疾風衝刺的速度和戰鬥策略。

  為了蒙蔽對方,在後半場他關掉了程序采用手動,故意輸給對方。

  另外有幾場,他采用了舊程序,讓禺彊在有時候率先衝刺成功。

  如此一來,孫軼民自己得出了令他滿意的測試結果。而刑天卻很可能還以為自己與對方旗鼓相當。

  具體測試結果令他滿意:采用新程序之後,冷月有85%的機會首先使出疾風從此控製對手。

  而曲線路徑躲避策略令對手命中失敗率達到60%左右。

  另外躲避與追擊的判斷基本準確無誤。

  測試完畢出房間,坐在沙發上抽煙。

  柳榮華關切問起新年爭霸賽一事,略微擔憂:“我聽說上次你在街頭切磋打不過刑天,今天我看了下,好像確實如此,怎麽辦呢?”

  “放心,我已經在努力,而且有把握了。”孫胸有成竹道。

  “有沒有我需要幫忙的?”柳榮華問。

  “你能幫什麽?”孫問。

  “我準備將電信寬帶升級到當前最先進的10m速率。”

  孫軼民笑道:“這個其實作用不大。網絡客戶端與服務器交換的數據並不多,因此所占用的網絡帶寬並不大。

  即便是在打群架那種大場麵,所需要的帶寬也就是不會超過100kb,理論上隻要我們的寬帶速度超過這個數值,就不會對遊戲造成瓶頸效應了。再高沒有意義。

  即便是升級到10m的寬帶都不會顯著提升遊戲的反應速度。隻不過,到比賽進行的時候,你把你自己的電腦上任何占用帶寬的程序關掉就行了。比如在線音樂,在線視頻,這些東西是很占帶寬的。”

  “額, 不管怎樣升級了總有好處。我本來就打算升級的。”柳道。

  “那隨你。多謝兄弟。”

  晚上睡前,孫軼民躺在床上,想起今日在黎允兒家中的意外yan遇,心情複雜矛盾。

  一是感覺對不起依依,痛惜自己忠貞破滅,而是有些沉醉於黎允兒小小蘿莉萬般風情與溫柔。