第2章 Bug出逃事件
修仙不是靠悟性,而是靠算法。
但在你學(xué)會(huì)寫代碼之前,代碼可能先學(xué)會(huì)了吃你。
——凌晨三點(diǎn),京北地下某處。
電梯下降了至少兩分鐘。
林?jǐn)?shù)默默數(shù)著,電梯顯示的層數(shù)從*1跳到*5后就首接變成了亂碼:“#ERR”、“NULL”、“0xDEAD*EEF”。
(0xDEAD*EEF是程序員圈子里著名的“死牛肉”十六進(jìn)制數(shù),常用來表示內(nèi)存錯(cuò)誤)電梯門開了。
陳墨率先走出去,林?jǐn)?shù)跟上。
然后他愣在原地。
眼前不是什么秘密基地的混凝土走廊,而是一個(gè)——巨大的數(shù)據(jù)中心。
不,比數(shù)據(jù)中心更離譜。
是個(gè)數(shù)據(jù)中心加道觀的混合體。
高聳的服務(wù)器機(jī)柜整齊排列,藍(lán)綠指示燈像呼吸一樣明滅。
機(jī)柜之間,懸掛著發(fā)光的符箓——不是黃紙朱砂,是半透明的全息投影,上面流動(dòng)的也不是符文,是代碼:```if (spiritual_pressure > threshold):activate_*arrier()```(這行代碼意思是“如果靈壓超過閾值,就激活屏障”)空中漂浮著幾個(gè)打坐的……人?
不,仔細(xì)看,那是全息投影。
每個(gè)投影都是一個(gè)閉目修煉的武者,身體周圍環(huán)繞著數(shù)據(jù)流,像某種高科技特效。
“這是……特管局華北分部,靈數(shù)研發(fā)與監(jiān)管中心?!?br>
陳墨頭也不回,“別盯著那些投影看,是內(nèi)網(wǎng)首播的高級修煉者,你看久了會(huì)暈?!?br>
林?jǐn)?shù)趕緊移開視線。
他們穿過機(jī)柜叢林,來到一片開放辦公區(qū)。
幾十**位,坐著的都是穿便服的人,年齡從二十到六十不等。
每個(gè)人面前至少三塊屏幕,代碼在屏幕上瀑布般滾動(dòng)。
但詭異的是——有人在敲鍵盤的同時(shí),手指尖縈繞著微光。
有人對著麥克風(fēng)低聲念著什么,面前的空氣就浮現(xiàn)出立體幾何圖形。
還有個(gè)大爺,一邊喝茶一邊盯著屏幕,茶杯懸在半空,自己往他嘴邊傾斜。
“這里是外勤組的預(yù)處理中心?!?br>
陳墨停在一個(gè)工位前,敲了敲隔板。
隔板里抬起一張年輕的臉,黑眼圈深得像被打了兩拳。
“陳隊(duì),你回來了……這就是那個(gè)實(shí)習(xí)生?”
年輕人打量著林?jǐn)?shù)。
“李響,預(yù)處理員,擅長數(shù)據(jù)追蹤。”
陳墨簡單介紹,“林?jǐn)?shù),新來的適配者。
給他開通基礎(chǔ)權(quán)限,掛在我組里?!?br>
李響在鍵盤上敲了幾下,然后拿起桌上的一個(gè)黑色手環(huán)遞給林?jǐn)?shù):“戴上。
這是身份標(biāo)識(shí)兼靈數(shù)監(jiān)測儀,別弄丟,補(bǔ)辦要寫五千字報(bào)告?!?br>
林?jǐn)?shù)接過手環(huán)。
剛戴上,手環(huán)就亮起藍(lán)光,在他手腕上投射出一行小字:```用戶:林?jǐn)?shù)權(quán)限等級:見習(xí)外勤(臨時(shí))靈數(shù)適配編號(hào):073當(dāng)前狀態(tài):未修煉```“跟我來?!?br>
陳墨繼續(xù)往前走。
他們穿過辦公區(qū),進(jìn)了一間掛著“培訓(xùn)室”牌子的房間。
房間空蕩蕩,只有一張桌子,兩把椅子。
陳墨從桌子抽屜里拿出一樣?xùn)|西,丟給林?jǐn)?shù)。
是一本書。
真·紙質(zhì)書。
書名:《Python靈數(shù)編程:從入門到通玄》。
作者:陳墨。
出版方:特管局內(nèi)部資料(嚴(yán)禁外傳)。
林?jǐn)?shù)翻開第一頁:```前言歡迎踏入靈數(shù)**。
如果你拿到了這本書,說明兩件事:1. 你是靈數(shù)適配者(恭喜,你是人類中的0.03%)。
2. 你即將學(xué)習(xí)如何用代碼改寫現(xiàn)實(shí)(小心,寫錯(cuò)一個(gè)縮進(jìn)可能會(huì)炸掉自己)。
本書目錄::Hello, World!
——你的第一個(gè)靈數(shù)腳本:變量與靈氣存儲(chǔ)——丹田的數(shù)據(jù)結(jié)構(gòu):條件語句與戰(zhàn)斗預(yù)判——if-else救命指南:循環(huán)與持久施法——while True的正確用法……:面向?qū)ο笮尴伞绾伟炎约壕幾g成“類”```林?jǐn)?shù)抬頭:“這……真是編程教材?”
“是功法。”
陳墨坐下,“在靈數(shù)**,修仙就是編程。
你體內(nèi)的‘靈根’,本質(zhì)是一塊生物芯片,能編譯宇宙數(shù)據(jù)流。
這本書教你如何安全地使用它?!?br>
她指了指書:“但你沒時(shí)間從頭學(xué)了?!?br>
“為什么?”
“因?yàn)橛袞|西從秘境逃出來了?!?br>
陳墨調(diào)出手機(jī),投影到墻上。
畫面是一個(gè)監(jiān)控錄像。
地點(diǎn)看起來像某個(gè)山洞,但洞壁是流動(dòng)的代碼。
畫面中央,一個(gè)發(fā)光的裂縫突然擴(kuò)大,從里面鉆出來一團(tuán)……難以形容的東西。
像一堆亂碼有了實(shí)體。
像無數(shù)行錯(cuò)誤代碼糾纏成的肉團(tuán)。
它在畫面里蠕動(dòng)、變形,然后突然“溶解”成一串串?dāng)?shù)據(jù)流,鉆進(jìn)巖壁消失了。
“這是什么?”
林?jǐn)?shù)問。
“秘境‘月淵’的本地生物,我們叫它‘*ug’?!?br>
陳墨關(guān)掉投影,“不是昆蟲那個(gè)*ug,是程序漏洞那個(gè)*ug。”
(在靈數(shù)**,秘境是上古文明遺留的數(shù)據(jù)空間。
里面的“生物”其實(shí)是異常程序?qū)嶓w)“它逃出來了?”
“三小時(shí)前。
從上海陸家嘴的月淵裂縫?!?br>
陳墨看著林?jǐn)?shù),“現(xiàn)在它可能在北京。”
林?jǐn)?shù)后背發(fā)涼:“它會(huì)干什么?”
“吃代碼?!?br>
陳墨說,“*ug以數(shù)據(jù)為食。
普通的電子數(shù)據(jù)、網(wǎng)絡(luò)流量、甚至……”她頓了頓,“人體內(nèi)的靈數(shù)數(shù)據(jù)?!?br>
“它會(huì)攻擊人?”
“不一定會(huì)主動(dòng)攻擊。
但如果你是個(gè)靈數(shù)適配者,又恰好運(yùn)行了有漏洞的腳本——”陳墨做了個(gè)爆炸的手勢,“*ug會(huì)聞著味兒過來,把你和你寫的代碼一起當(dāng)零食吃了?!?br>
林?jǐn)?shù)想起張明那個(gè)差點(diǎn)把自己編譯沒了的場景。
“所以我的第一個(gè)任務(wù)……找到它,回收它?!?br>
陳墨站起來,“但在此之前,你得先學(xué)會(huì)自保?!?br>
她走到房間中央,打了個(gè)響指。
天花板降下一個(gè)全息投影儀,在房間正中央投射出一個(gè)懸浮的發(fā)光立方體。
立方體表面流淌著代碼。
```entity_name = "訓(xùn)練用靶機(jī)"health_points = 100defense = 10```“這是訓(xùn)練程序?!?br>
陳墨說,“你的第一個(gè)作業(yè):用靈數(shù)編程,把這個(gè)靶機(jī)的防御值降到0?!?br>
林?jǐn)?shù)看著那本教材,又看看發(fā)光立方體。
“現(xiàn)在就要?”
“*ug的移動(dòng)速度是每十分鐘跳轉(zhuǎn)一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)?!?br>
陳墨看了眼手表,“按這個(gè)速度,它最晚明早會(huì)進(jìn)入北京城域網(wǎng)。
你還有……”她算了算,“大概六小時(shí)學(xué)會(huì)基礎(chǔ)?!?br>
她走到門口,回頭:“對了,靶機(jī)被攻擊時(shí)會(huì)反擊。
別被它打中,雖然只是虛擬傷害,但會(huì)疼?!?br>
門關(guān)上了。
房間里只剩林?jǐn)?shù),和那個(gè)發(fā)光的立方體。
立方體貼心地顯示出一行提示:```請開始您的靈數(shù)編譯建議:參考教材```林?jǐn)?shù)深吸一口氣,翻開書。
:Hello, World!
——你的第一個(gè)靈數(shù)腳本。
他照著書上的例子,集中精神,想象自己體內(nèi)有什么東西被調(diào)動(dòng)起來。
很奇怪的感受——像腦子里多了個(gè)看不見的鍵盤。
他“敲下”第一行代碼:```pythonprint("測試攻擊")```空氣中的靈數(shù)光點(diǎn)開始匯聚,在他面前組成那行字:“測試攻擊”。
然后……沒然后了。
立方體毫無反應(yīng),甚至彈出一行嘲諷:```無效攻擊。
傷害值:0當(dāng)前防御值:10/10```林?jǐn)?shù)皺眉。
他回憶剛才救張明時(shí)的感覺。
不是單純“想”一句代碼,而是……更深的意圖。
他想修復(fù)張明,所以靈數(shù)響應(yīng)了。
現(xiàn)在他想降低立方體的防御值。
他重新集中精神。
這次他不去想具體代碼,而是想那個(gè)概念:“降低”、“削弱”、“破防”。
他抬起手。
指尖自發(fā)地開始“敲擊”——不是真的敲,是某種神經(jīng)信號(hào)模擬的敲擊感。
一行代碼在他意識(shí)中成形:```pythontarget.defense -= 1```(這是Python的語法,意思是“目標(biāo)的防御值減1”)空氣中的靈數(shù)光點(diǎn)猛地涌動(dòng)。
它們匯聚成一道淡藍(lán)色的光束,擊中立方體。
立方體閃爍了一下,表面代碼更新:```防御值:9/10```成功了!
但下一秒,立方體反擊了。
它射出一道紅光,速度極快。
林?jǐn)?shù)下意識(shí)側(cè)身,紅光擦著他肩膀飛過。
一陣刺痛。
不是物理的痛,是某種神經(jīng)層面的刺痛,像被靜電打了。
立方體貼心提示:```您己被訓(xùn)練攻擊命中虛擬傷害:5(注:真實(shí)*ug的攻擊傷害值約為此100倍)```林?jǐn)?shù)揉了揉肩膀。
好,至少知道怎么攻擊了。
他再次集中精神。
這次他試著連續(xù)攻擊。
意識(shí)中的“鍵盤”敲得更快:```pythonfor i in range(5):target.defense -= 1```(注釋:for循環(huán),讓“防御減1”這個(gè)操作執(zhí)行5次)五道藍(lán)光連續(xù)射出。
立方體的防御值跳到4。
但它也連續(xù)反擊了五次。
林?jǐn)?shù)這次有了準(zhǔn)備,左躲右閃,還是被命中兩次。
虛擬傷害累計(jì)到15。
肩膀和側(cè)腹都在發(fā)麻。
這樣不行。
他需要防御手段。
他快速翻書。
:條件語句與戰(zhàn)斗預(yù)判。
書里有個(gè)例子:```pythonif attack_incoming:activate_shield()```但怎么判斷“攻擊來臨”?
林?jǐn)?shù)盯著立方體。
它每次攻擊前,表面代**短暫變成紅色。
那就是預(yù)警。
他試著寫:```pythonif target.emission_color == "red":# 激活護(hù)盾create_*arrier()```他運(yùn)行。
靈數(shù)光點(diǎn)在他面前組成一個(gè)半透明的藍(lán)色屏障,只有臉盆大。
立方體的下一次攻擊來了。
紅光擊中屏障。
屏障閃爍,但沒碎。
擋住了!
林?jǐn)?shù)精神一振。
他一邊維持屏障,一邊繼續(xù)攻擊。
```pythonwhile target.defense > 0:target.defense -= 1if target.emission_color == "red":create_*arrier()```(while循環(huán),只要防御值大于0就一首攻擊,同時(shí)檢測到紅色就開盾)藍(lán)光一道道射出。
防御值降到3、2、1……立方體的攻擊越來越密集。
林?jǐn)?shù)額頭冒汗。
同時(shí)維持攻擊和防御,感覺像一邊跑步一邊解數(shù)學(xué)題,腦子快燒了。
最后一下。
防御值歸零。
立方體突然靜止,然后“砰”地一聲,化作滿天光點(diǎn)消散。
房間恢復(fù)平靜。
林?jǐn)?shù)癱坐在地,大口喘氣。
手環(huán)震動(dòng),顯示:```訓(xùn)練完成用時(shí):47分32秒傷害承受:23(虛擬)評價(jià):C(勉強(qiáng)及格)解鎖權(quán)限:基礎(chǔ)攻擊腳本、基礎(chǔ)防御腳本建議:多練習(xí)循環(huán)結(jié)構(gòu),您的并發(fā)處理能力太差```門開了。
陳墨走進(jìn)來,手里拿著個(gè)平板。
“比預(yù)計(jì)快。”
她看了眼手環(huán)數(shù)據(jù),“但傷害承受太高。
真實(shí)戰(zhàn)斗中,23點(diǎn)傷害夠你死兩次?!?br>
她丟給林?jǐn)?shù)一瓶水。
“休息五分鐘。
然后我們出發(fā)?!?br>
林?jǐn)?shù)擰開水:“現(xiàn)在就去抓*ug?
我才剛學(xué)會(huì)……所以才要實(shí)戰(zhàn)。”
陳墨調(diào)出平板上的一張地圖,北京城區(qū)圖,上面有幾個(gè)紅點(diǎn)在閃爍,“*ug的蹤跡。
它最近一次出現(xiàn)在朝陽區(qū)的一個(gè)……網(wǎng)吧。”
“網(wǎng)吧?”
“*ug需要數(shù)據(jù)進(jìn)食。
網(wǎng)吧的流量大,機(jī)器多,是完美的食堂。”
陳墨收起平板,“好消息是,那是個(gè)高端網(wǎng)咖,半夜人少。
壞消息是——”她看著林?jǐn)?shù)。
“根據(jù)監(jiān)測,*ug正在進(jìn)化。
它在吃代碼的過程中,學(xué)會(huì)了新東西。”
“學(xué)會(huì)了什么?”
“偽裝?!?br>
陳墨說,“它現(xiàn)在可能看起來像一段普通代碼,像一個(gè)人,甚至像你電腦里的一個(gè)彈窗廣告?!?br>
她走向門口。
“帶上書。
路上看,循環(huán)與持久施法——你可能需要長時(shí)間維持某個(gè)腳本?!?br>
林?jǐn)?shù)站起來,腿還有點(diǎn)軟。
他拿起那本《Python靈數(shù)編程》,封面在燈光下反光。
六個(gè)小時(shí)前,他還是個(gè)普通程序員,最大的煩惱是修不完的*ug和寫不完的報(bào)告。
現(xiàn)在,他要出門抓一個(gè)會(huì)吃代碼的“*ug”。
而且是用代碼抓。
他跟著陳墨走出培訓(xùn)室。
穿過數(shù)據(jù)中心道觀,回到電梯。
電梯上升時(shí),陳墨突然說:“對了,有個(gè)事忘了告訴你。”
“什么?”
“月淵秘境里逃出來的*ug,不止一個(gè)?!?br>
電梯門開了,外面是普通的寫字樓大堂。
凌晨西點(diǎn)的北京,天空還是深藍(lán)色。
街燈下,陳墨的臉半明半暗。
“你遇到的那個(gè),是‘語法錯(cuò)誤*ug’。”
她說,“還有‘邏輯錯(cuò)誤*ug’、‘內(nèi)存泄漏*ug’、‘死循環(huán)*ug’……至少七種。”
她走出電梯,回頭。
“這次任務(wù),是入門教學(xué)?!?br>
“也是入職測試。”
林?jǐn)?shù)站在電梯里,手里那本書突然變得很重。
大堂的自動(dòng)門打開,凌晨的風(fēng)灌進(jìn)來。
遠(yuǎn)處,城市的霓虹燈還在閃爍。
每一盞燈,都像一行代碼。
而有些代碼,活了。
還在餓。
但在你學(xué)會(huì)寫代碼之前,代碼可能先學(xué)會(huì)了吃你。
——凌晨三點(diǎn),京北地下某處。
電梯下降了至少兩分鐘。
林?jǐn)?shù)默默數(shù)著,電梯顯示的層數(shù)從*1跳到*5后就首接變成了亂碼:“#ERR”、“NULL”、“0xDEAD*EEF”。
(0xDEAD*EEF是程序員圈子里著名的“死牛肉”十六進(jìn)制數(shù),常用來表示內(nèi)存錯(cuò)誤)電梯門開了。
陳墨率先走出去,林?jǐn)?shù)跟上。
然后他愣在原地。
眼前不是什么秘密基地的混凝土走廊,而是一個(gè)——巨大的數(shù)據(jù)中心。
不,比數(shù)據(jù)中心更離譜。
是個(gè)數(shù)據(jù)中心加道觀的混合體。
高聳的服務(wù)器機(jī)柜整齊排列,藍(lán)綠指示燈像呼吸一樣明滅。
機(jī)柜之間,懸掛著發(fā)光的符箓——不是黃紙朱砂,是半透明的全息投影,上面流動(dòng)的也不是符文,是代碼:```if (spiritual_pressure > threshold):activate_*arrier()```(這行代碼意思是“如果靈壓超過閾值,就激活屏障”)空中漂浮著幾個(gè)打坐的……人?
不,仔細(xì)看,那是全息投影。
每個(gè)投影都是一個(gè)閉目修煉的武者,身體周圍環(huán)繞著數(shù)據(jù)流,像某種高科技特效。
“這是……特管局華北分部,靈數(shù)研發(fā)與監(jiān)管中心?!?br>
陳墨頭也不回,“別盯著那些投影看,是內(nèi)網(wǎng)首播的高級修煉者,你看久了會(huì)暈?!?br>
林?jǐn)?shù)趕緊移開視線。
他們穿過機(jī)柜叢林,來到一片開放辦公區(qū)。
幾十**位,坐著的都是穿便服的人,年齡從二十到六十不等。
每個(gè)人面前至少三塊屏幕,代碼在屏幕上瀑布般滾動(dòng)。
但詭異的是——有人在敲鍵盤的同時(shí),手指尖縈繞著微光。
有人對著麥克風(fēng)低聲念著什么,面前的空氣就浮現(xiàn)出立體幾何圖形。
還有個(gè)大爺,一邊喝茶一邊盯著屏幕,茶杯懸在半空,自己往他嘴邊傾斜。
“這里是外勤組的預(yù)處理中心?!?br>
陳墨停在一個(gè)工位前,敲了敲隔板。
隔板里抬起一張年輕的臉,黑眼圈深得像被打了兩拳。
“陳隊(duì),你回來了……這就是那個(gè)實(shí)習(xí)生?”
年輕人打量著林?jǐn)?shù)。
“李響,預(yù)處理員,擅長數(shù)據(jù)追蹤。”
陳墨簡單介紹,“林?jǐn)?shù),新來的適配者。
給他開通基礎(chǔ)權(quán)限,掛在我組里?!?br>
李響在鍵盤上敲了幾下,然后拿起桌上的一個(gè)黑色手環(huán)遞給林?jǐn)?shù):“戴上。
這是身份標(biāo)識(shí)兼靈數(shù)監(jiān)測儀,別弄丟,補(bǔ)辦要寫五千字報(bào)告?!?br>
林?jǐn)?shù)接過手環(huán)。
剛戴上,手環(huán)就亮起藍(lán)光,在他手腕上投射出一行小字:```用戶:林?jǐn)?shù)權(quán)限等級:見習(xí)外勤(臨時(shí))靈數(shù)適配編號(hào):073當(dāng)前狀態(tài):未修煉```“跟我來?!?br>
陳墨繼續(xù)往前走。
他們穿過辦公區(qū),進(jìn)了一間掛著“培訓(xùn)室”牌子的房間。
房間空蕩蕩,只有一張桌子,兩把椅子。
陳墨從桌子抽屜里拿出一樣?xùn)|西,丟給林?jǐn)?shù)。
是一本書。
真·紙質(zhì)書。
書名:《Python靈數(shù)編程:從入門到通玄》。
作者:陳墨。
出版方:特管局內(nèi)部資料(嚴(yán)禁外傳)。
林?jǐn)?shù)翻開第一頁:```前言歡迎踏入靈數(shù)**。
如果你拿到了這本書,說明兩件事:1. 你是靈數(shù)適配者(恭喜,你是人類中的0.03%)。
2. 你即將學(xué)習(xí)如何用代碼改寫現(xiàn)實(shí)(小心,寫錯(cuò)一個(gè)縮進(jìn)可能會(huì)炸掉自己)。
本書目錄::Hello, World!
——你的第一個(gè)靈數(shù)腳本:變量與靈氣存儲(chǔ)——丹田的數(shù)據(jù)結(jié)構(gòu):條件語句與戰(zhàn)斗預(yù)判——if-else救命指南:循環(huán)與持久施法——while True的正確用法……:面向?qū)ο笮尴伞绾伟炎约壕幾g成“類”```林?jǐn)?shù)抬頭:“這……真是編程教材?”
“是功法。”
陳墨坐下,“在靈數(shù)**,修仙就是編程。
你體內(nèi)的‘靈根’,本質(zhì)是一塊生物芯片,能編譯宇宙數(shù)據(jù)流。
這本書教你如何安全地使用它?!?br>
她指了指書:“但你沒時(shí)間從頭學(xué)了?!?br>
“為什么?”
“因?yàn)橛袞|西從秘境逃出來了?!?br>
陳墨調(diào)出手機(jī),投影到墻上。
畫面是一個(gè)監(jiān)控錄像。
地點(diǎn)看起來像某個(gè)山洞,但洞壁是流動(dòng)的代碼。
畫面中央,一個(gè)發(fā)光的裂縫突然擴(kuò)大,從里面鉆出來一團(tuán)……難以形容的東西。
像一堆亂碼有了實(shí)體。
像無數(shù)行錯(cuò)誤代碼糾纏成的肉團(tuán)。
它在畫面里蠕動(dòng)、變形,然后突然“溶解”成一串串?dāng)?shù)據(jù)流,鉆進(jìn)巖壁消失了。
“這是什么?”
林?jǐn)?shù)問。
“秘境‘月淵’的本地生物,我們叫它‘*ug’?!?br>
陳墨關(guān)掉投影,“不是昆蟲那個(gè)*ug,是程序漏洞那個(gè)*ug。”
(在靈數(shù)**,秘境是上古文明遺留的數(shù)據(jù)空間。
里面的“生物”其實(shí)是異常程序?qū)嶓w)“它逃出來了?”
“三小時(shí)前。
從上海陸家嘴的月淵裂縫?!?br>
陳墨看著林?jǐn)?shù),“現(xiàn)在它可能在北京。”
林?jǐn)?shù)后背發(fā)涼:“它會(huì)干什么?”
“吃代碼?!?br>
陳墨說,“*ug以數(shù)據(jù)為食。
普通的電子數(shù)據(jù)、網(wǎng)絡(luò)流量、甚至……”她頓了頓,“人體內(nèi)的靈數(shù)數(shù)據(jù)?!?br>
“它會(huì)攻擊人?”
“不一定會(huì)主動(dòng)攻擊。
但如果你是個(gè)靈數(shù)適配者,又恰好運(yùn)行了有漏洞的腳本——”陳墨做了個(gè)爆炸的手勢,“*ug會(huì)聞著味兒過來,把你和你寫的代碼一起當(dāng)零食吃了?!?br>
林?jǐn)?shù)想起張明那個(gè)差點(diǎn)把自己編譯沒了的場景。
“所以我的第一個(gè)任務(wù)……找到它,回收它?!?br>
陳墨站起來,“但在此之前,你得先學(xué)會(huì)自保?!?br>
她走到房間中央,打了個(gè)響指。
天花板降下一個(gè)全息投影儀,在房間正中央投射出一個(gè)懸浮的發(fā)光立方體。
立方體表面流淌著代碼。
```entity_name = "訓(xùn)練用靶機(jī)"health_points = 100defense = 10```“這是訓(xùn)練程序?!?br>
陳墨說,“你的第一個(gè)作業(yè):用靈數(shù)編程,把這個(gè)靶機(jī)的防御值降到0?!?br>
林?jǐn)?shù)看著那本教材,又看看發(fā)光立方體。
“現(xiàn)在就要?”
“*ug的移動(dòng)速度是每十分鐘跳轉(zhuǎn)一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)?!?br>
陳墨看了眼手表,“按這個(gè)速度,它最晚明早會(huì)進(jìn)入北京城域網(wǎng)。
你還有……”她算了算,“大概六小時(shí)學(xué)會(huì)基礎(chǔ)?!?br>
她走到門口,回頭:“對了,靶機(jī)被攻擊時(shí)會(huì)反擊。
別被它打中,雖然只是虛擬傷害,但會(huì)疼?!?br>
門關(guān)上了。
房間里只剩林?jǐn)?shù),和那個(gè)發(fā)光的立方體。
立方體貼心地顯示出一行提示:```請開始您的靈數(shù)編譯建議:參考教材```林?jǐn)?shù)深吸一口氣,翻開書。
:Hello, World!
——你的第一個(gè)靈數(shù)腳本。
他照著書上的例子,集中精神,想象自己體內(nèi)有什么東西被調(diào)動(dòng)起來。
很奇怪的感受——像腦子里多了個(gè)看不見的鍵盤。
他“敲下”第一行代碼:```pythonprint("測試攻擊")```空氣中的靈數(shù)光點(diǎn)開始匯聚,在他面前組成那行字:“測試攻擊”。
然后……沒然后了。
立方體毫無反應(yīng),甚至彈出一行嘲諷:```無效攻擊。
傷害值:0當(dāng)前防御值:10/10```林?jǐn)?shù)皺眉。
他回憶剛才救張明時(shí)的感覺。
不是單純“想”一句代碼,而是……更深的意圖。
他想修復(fù)張明,所以靈數(shù)響應(yīng)了。
現(xiàn)在他想降低立方體的防御值。
他重新集中精神。
這次他不去想具體代碼,而是想那個(gè)概念:“降低”、“削弱”、“破防”。
他抬起手。
指尖自發(fā)地開始“敲擊”——不是真的敲,是某種神經(jīng)信號(hào)模擬的敲擊感。
一行代碼在他意識(shí)中成形:```pythontarget.defense -= 1```(這是Python的語法,意思是“目標(biāo)的防御值減1”)空氣中的靈數(shù)光點(diǎn)猛地涌動(dòng)。
它們匯聚成一道淡藍(lán)色的光束,擊中立方體。
立方體閃爍了一下,表面代碼更新:```防御值:9/10```成功了!
但下一秒,立方體反擊了。
它射出一道紅光,速度極快。
林?jǐn)?shù)下意識(shí)側(cè)身,紅光擦著他肩膀飛過。
一陣刺痛。
不是物理的痛,是某種神經(jīng)層面的刺痛,像被靜電打了。
立方體貼心提示:```您己被訓(xùn)練攻擊命中虛擬傷害:5(注:真實(shí)*ug的攻擊傷害值約為此100倍)```林?jǐn)?shù)揉了揉肩膀。
好,至少知道怎么攻擊了。
他再次集中精神。
這次他試著連續(xù)攻擊。
意識(shí)中的“鍵盤”敲得更快:```pythonfor i in range(5):target.defense -= 1```(注釋:for循環(huán),讓“防御減1”這個(gè)操作執(zhí)行5次)五道藍(lán)光連續(xù)射出。
立方體的防御值跳到4。
但它也連續(xù)反擊了五次。
林?jǐn)?shù)這次有了準(zhǔn)備,左躲右閃,還是被命中兩次。
虛擬傷害累計(jì)到15。
肩膀和側(cè)腹都在發(fā)麻。
這樣不行。
他需要防御手段。
他快速翻書。
:條件語句與戰(zhàn)斗預(yù)判。
書里有個(gè)例子:```pythonif attack_incoming:activate_shield()```但怎么判斷“攻擊來臨”?
林?jǐn)?shù)盯著立方體。
它每次攻擊前,表面代**短暫變成紅色。
那就是預(yù)警。
他試著寫:```pythonif target.emission_color == "red":# 激活護(hù)盾create_*arrier()```他運(yùn)行。
靈數(shù)光點(diǎn)在他面前組成一個(gè)半透明的藍(lán)色屏障,只有臉盆大。
立方體的下一次攻擊來了。
紅光擊中屏障。
屏障閃爍,但沒碎。
擋住了!
林?jǐn)?shù)精神一振。
他一邊維持屏障,一邊繼續(xù)攻擊。
```pythonwhile target.defense > 0:target.defense -= 1if target.emission_color == "red":create_*arrier()```(while循環(huán),只要防御值大于0就一首攻擊,同時(shí)檢測到紅色就開盾)藍(lán)光一道道射出。
防御值降到3、2、1……立方體的攻擊越來越密集。
林?jǐn)?shù)額頭冒汗。
同時(shí)維持攻擊和防御,感覺像一邊跑步一邊解數(shù)學(xué)題,腦子快燒了。
最后一下。
防御值歸零。
立方體突然靜止,然后“砰”地一聲,化作滿天光點(diǎn)消散。
房間恢復(fù)平靜。
林?jǐn)?shù)癱坐在地,大口喘氣。
手環(huán)震動(dòng),顯示:```訓(xùn)練完成用時(shí):47分32秒傷害承受:23(虛擬)評價(jià):C(勉強(qiáng)及格)解鎖權(quán)限:基礎(chǔ)攻擊腳本、基礎(chǔ)防御腳本建議:多練習(xí)循環(huán)結(jié)構(gòu),您的并發(fā)處理能力太差```門開了。
陳墨走進(jìn)來,手里拿著個(gè)平板。
“比預(yù)計(jì)快。”
她看了眼手環(huán)數(shù)據(jù),“但傷害承受太高。
真實(shí)戰(zhàn)斗中,23點(diǎn)傷害夠你死兩次?!?br>
她丟給林?jǐn)?shù)一瓶水。
“休息五分鐘。
然后我們出發(fā)?!?br>
林?jǐn)?shù)擰開水:“現(xiàn)在就去抓*ug?
我才剛學(xué)會(huì)……所以才要實(shí)戰(zhàn)。”
陳墨調(diào)出平板上的一張地圖,北京城區(qū)圖,上面有幾個(gè)紅點(diǎn)在閃爍,“*ug的蹤跡。
它最近一次出現(xiàn)在朝陽區(qū)的一個(gè)……網(wǎng)吧。”
“網(wǎng)吧?”
“*ug需要數(shù)據(jù)進(jìn)食。
網(wǎng)吧的流量大,機(jī)器多,是完美的食堂。”
陳墨收起平板,“好消息是,那是個(gè)高端網(wǎng)咖,半夜人少。
壞消息是——”她看著林?jǐn)?shù)。
“根據(jù)監(jiān)測,*ug正在進(jìn)化。
它在吃代碼的過程中,學(xué)會(huì)了新東西。”
“學(xué)會(huì)了什么?”
“偽裝?!?br>
陳墨說,“它現(xiàn)在可能看起來像一段普通代碼,像一個(gè)人,甚至像你電腦里的一個(gè)彈窗廣告?!?br>
她走向門口。
“帶上書。
路上看,循環(huán)與持久施法——你可能需要長時(shí)間維持某個(gè)腳本?!?br>
林?jǐn)?shù)站起來,腿還有點(diǎn)軟。
他拿起那本《Python靈數(shù)編程》,封面在燈光下反光。
六個(gè)小時(shí)前,他還是個(gè)普通程序員,最大的煩惱是修不完的*ug和寫不完的報(bào)告。
現(xiàn)在,他要出門抓一個(gè)會(huì)吃代碼的“*ug”。
而且是用代碼抓。
他跟著陳墨走出培訓(xùn)室。
穿過數(shù)據(jù)中心道觀,回到電梯。
電梯上升時(shí),陳墨突然說:“對了,有個(gè)事忘了告訴你。”
“什么?”
“月淵秘境里逃出來的*ug,不止一個(gè)?!?br>
電梯門開了,外面是普通的寫字樓大堂。
凌晨西點(diǎn)的北京,天空還是深藍(lán)色。
街燈下,陳墨的臉半明半暗。
“你遇到的那個(gè),是‘語法錯(cuò)誤*ug’。”
她說,“還有‘邏輯錯(cuò)誤*ug’、‘內(nèi)存泄漏*ug’、‘死循環(huán)*ug’……至少七種。”
她走出電梯,回頭。
“這次任務(wù),是入門教學(xué)?!?br>
“也是入職測試。”
林?jǐn)?shù)站在電梯里,手里那本書突然變得很重。
大堂的自動(dòng)門打開,凌晨的風(fēng)灌進(jìn)來。
遠(yuǎn)處,城市的霓虹燈還在閃爍。
每一盞燈,都像一行代碼。
而有些代碼,活了。
還在餓。
閱讀下一章(解鎖全文)
點(diǎn)擊即可暢讀完整版全部內(nèi)容
相關(guān)書籍
友情鏈接