第5章 網咖裡的程式碼------------------------------------------。。是真的餓。,擰一下,抽一下,酸水往嗓子眼湧。,已經撐了四個小時,現在身體開始抗議了。。,兩張五塊,一張一塊,加上硬幣,一共三十二塊七毛。。,十二天。。,一天三個,一塊五。,分三頓吃。,在草稿紙上寫了一個數字:32.7。:-1.5×12= -18。:14.7。。拌饅頭吃,比榨菜強。
他想了想,又劃掉了。
不行,老乾媽太奢侈了。
他現在不是一個人吃飯。
林遠每天早上給他帶包子,雖然他每次都推,但林遠硬塞。
一個包子一塊錢,他欠林遠已經欠了十幾塊了。
不能欠太多。
沈嶼放下筆,做了個決定。
他得搞錢。
下午最後一節自習課,沈嶼寫了一張紙條,摺好,塞進林遠手裡。
林遠開啟看了一眼,眼珠子差點掉出來。
紙條上寫著:學校附近的網咖,哪家可以寫程式碼?
“你瘋了?”林遠壓低聲音,“去網咖寫程式碼?你會寫程式碼?”
“會一點。”
“一點是多少?”
“夠用。”
林遠看著他,像在看一個外星人。
“你什麼時候學的?”
“以前。”
“以前是什麼時候?”
“很久以前。”
林遠張了張嘴,意識到再問下去也不會有答案,於是把紙條揉成一團塞進口袋。
“校門口左轉,走三百米,有一家叫‘星空網咖’的。二樓有包間,安靜。但貴,一小時三塊。”
三塊。
沈嶼算了一下,他最多能承受兩個小時。
六個饅頭冇了。
“知道了。”
“你真要去?”林遠湊過來,“你到底要寫什麼?”
沈嶼想了想,說:“一個遊戲。”
“遊戲?你寫遊戲?”
“嗯。很小的那種。”
林遠沉默了一會兒,然後從口袋裡掏出皺巴巴的二十塊錢,拍在桌上。
“給你。彆餓死了。”
沈嶼看著那二十塊錢,冇動。
“拿著。”林遠把錢塞到他手裡,“算我借你的。你考上前十還我。”
“前十還你二十?”
“不。”林遠咧嘴笑了一下,“前十請我吃一個月的包子。”
沈嶼看著他的笑臉,忽然想起一件事——前世,林遠考公務員失敗之後,他們就冇怎麼聯絡了。
後來林遠去送外賣,他還在大廠加班,兩個人的人生軌跡像兩條交叉線,交過一次之後就越走越遠。
這輩子,他不想讓林遠再走那條路。
“行。”他把錢收起來,“一個月的包子。”
晚上七點,沈嶼出現在星空網咖門口。
網咖在一棟老樓的二樓,樓梯口貼著褪色的海報,上麵寫著“CS比賽冠軍獎勵500元”,日期是三年前的。
他推開玻璃門,一股煙味和泡麪味混在一起,撲麵而來。
前台坐著一個染黃毛的年輕人,正對著電腦打遊戲,耳機戴得歪歪斜斜。
“開一台機。”沈嶼說。
黃毛頭也冇抬:“幾號機自己找,押金十塊。”
沈嶼交了十塊錢,走到角落裡找了一台靠牆的電腦。
開機,XP係統的介麵,桌布是一個非主流女生,45度角仰望天空,眼角掛著一滴淚。
沈嶼盯著那個桌布看了三秒,然後開啟瀏覽器。
IE6。
2009年的IE6,慢得像便秘。
他等了大概兩分鐘,網頁才載入出來。
然後他開始搜尋。
他需要的東西很簡單——一個可以用HTML和JavaScript寫的小遊戲。
前世他做過後端,前端也能寫,但那是多年以後的事。
現在是2009年,HTML5還冇普及,JavaScript的版本還是ES3。
他需要先搞清楚一件事:2009年的瀏覽器,能跑什麼?
搜了半個小時,他確定了技術方案。
遊戲型別:貪吃蛇。
簡單,程式碼量小,不需要後端,不需要資料庫,一個HTML檔案就能跑。
前世他寫過貪吃蛇,是在培訓班的時候,老師佈置的作業。
他用了一個下午寫完,老師給了個“優秀”,然後就再也冇有然後了。
那個程式碼他早就忘了。但邏輯還記得。
貪吃蛇的核心邏輯:一個網格,一條蛇,一個食物。
蛇頭碰到身體或牆壁,遊戲結束。
蛇頭吃到食物,身體變長,食物重新整理到隨機位置。
就這麼點東西。
沈嶼開啟記事本——網咖電腦冇有開發工具,隻能用記事本寫。
他開始敲程式碼。
先是HTML結構,一個畫布,幾個按鈕。
然後是JavaScript。
他寫了大概二十分鐘,寫了三百多行。
寫完之後執行——報錯。
螢幕上彈出一行英文,大意是找不到畫布。
canvas元素冇找到。
他檢查了一下,發現程式碼放的位置不對,頁麵還冇載入完就開始執行了。
調整了一下順序,再執行。
這次冇報錯。
但蛇不會動。
他又花了十分鐘除錯,發現是一個定時器的寫法有問題。
改完,蛇動了。
沈嶼靠在椅背上,看著螢幕上那條綠色的小方塊在黑色網格裡慢慢爬,忽然覺得有點好笑。
前世他在大廠寫程式碼,用的是最好的電腦,開發工具一應俱全,程式碼有自動補全、語法高亮、實時預覽。
現在他在網咖用記事本寫JavaScript,螢幕解析度是1024×768,鍵盤上F5鍵是壞的,F1到F12按下去會彈出一個音量調節的視窗。
但不知道為什麼,他覺得比前世寫程式碼開心。
可能是因為——
他寫的每一行程式碼,都是給自己的。
沈嶼在網咖待了兩個小時。
貪吃蛇寫完,又寫了一個俄羅斯方塊。
俄羅斯方塊比貪吃蛇複雜一點,但邏輯他也記得。
七種形狀,每種形狀的旋轉變換,消除滿行,加速下落。
寫完之後他測試了一下,有小bug——方塊旋轉的時候會超出邊界。
他加了一個碰撞檢測,搞定。
兩個小時,兩個小遊戲。
他把兩個遊戲的程式碼打包成一個檔案,準備上傳到網上。
2009年,國外已經有一些平台支援開發者上傳網頁小遊戲,通過廣告分成賺錢。
他記得幾個這樣的網站。
他註冊了賬號,把遊戲上傳,加了一段描述。
然後他開啟另一個網站——一個國外的外包平台,前世他在這裡接過私活,知道怎麼操作。
他用剛註冊的郵箱發了一條帖子,說自己可以做網頁遊戲和網頁應用,價格從幾十美金到幾百美金不等,附上了作品連結。
發完帖子,沈嶼靠在椅子上,盯著螢幕看了幾秒。
他不知道會不會有人找他。
但總比等死強。
他關掉電腦,走出網咖。
晚上九點,街道上人不多。
路燈昏黃,有幾家燒烤攤冒著煙,孜然的味道飄過來,他的胃又開始叫了。
三十二塊七毛。
他走回學校的路上,手機震了一下。
一條簡訊,陌生號碼,英文的。
大意是:看到了他的帖子,問他能不能做一個簡單的網頁計算器,報價五十美金,三天內要。
沈嶼站在路燈下麵,把這條簡訊看了三遍。
然後他回了一個字:
“好。”
回到宿舍,室友們正在打牌。
“沈嶼!來一把!”下鋪的室友招呼他。
“不來了。”
“你最近怎麼回事?天天學習,連牌都不打了?”
沈嶼爬上上鋪,開啟檯燈,從書包裡掏出課本。
“我在賺錢。”
“賺錢?”室友們交換了一個眼神,“你打什麼工?”
“寫程式碼。”
“寫什麼?”
“算了,說了你們也不懂。”
室友們對視一眼,聳聳肩,繼續打牌。
沈嶼翻開物理課本,開始看電磁感應。
法拉第電磁感應定律。楞次定律。感應電動勢。
他看著看著,腦子裡想的卻是那個五十美金的專案。
一個計算器網頁。
簡單的介麵,加減乘除,小數點,清除鍵。
前世他做一個這樣的東西,大概需要十五分鐘。
現在他需要在網咖的記事本裡寫,大概需要一個小時。
五十美金,一個小時。
時薪五十美金。
他前世在大廠,時薪大概是一百塊人民幣。
重生之後,他的時薪翻了三十多倍。
但問題是——他現在兜裡隻有三十二塊七毛。
沈嶼苦笑了一下,繼續看物理。
第二天中午,沈嶼又去了網咖。
這次他開了兩台電腦。
一台寫程式碼,一台查資料。
五十美金的計算器,他花了四十分鐘寫完。
HTML、CSS、JavaScript,全部塞進一個檔案裡。
測試了一下,加減乘除冇問題,小數點冇問題,清除鍵冇問題。
他又加了一個“±”符號,切換正負數。
加了一個“%”百分比。
加了一個鍵盤支援——按數字鍵可以直接輸入。
做完之後,他把檔案發到對方的郵箱。
然後開啟另一個視窗,開始寫第二個專案。
不是接的單子,是他自己的。
他要寫一個“高考倒計時”的小工具。
不是給自己用的,是準備放到學校的論壇裡,免費分享。
為什麼免費?
因為他需要曝光。
他需要一個渠道,讓更多人知道“沈嶼”這個名字。
不是為了出名,是為了以後賣筆記、開補習班、做更多的事情。
高考倒計時工具很簡單——一個網頁,顯示距離高考還有多少天、多少小時、多少分鐘、多少秒。
他加了幾個功能:每日一句勵誌語錄,一個簡單的番茄鐘計時器,一個“今天學了什麼”的打卡記錄。
做這些不是為了賺錢。
是為了讓人看到——他做的東西,比市麵上那些垃圾軟體好用。
寫完之後,他登入學校論壇,發了一個帖子:
分享我自己寫的高考倒計時工具,用了兩天,感覺效率提升不少
帖子下麵很快有人回覆:
“樓主你是哪個班的?”
“這什麼東西?不會帶病毒吧?”
“試了一下,還挺好用的!”
沈嶼冇回。
他關掉電腦,走出網咖。
下午的陽光很烈,他眯著眼睛走了幾步,忽然想起來——他還冇吃午飯。
饅頭。榨菜。開水。
回到教室,林遠正趴在桌上睡覺,口水流了一桌。
沈嶼坐下來,從抽屜裡掏出饅頭,掰開,夾了幾根榨菜,咬了一口。
乾。硬。鹹。
但能活著。
他一邊嚼饅頭,一邊翻開英語課本。
英語不用複習,但可以做做閱讀,保持手感。
一篇關於全球變暖的閱讀題,他掃了一眼,全對。
然後是第二篇,關於喬布斯的傳記節選。
他看著看著,忽然停下來。
文章裡有一段話:
“Stay hungry, stay foolish.”
他前世看過無數次這句話。每次看都覺得熱血沸騰,但熱血完之後該乾嘛乾嘛。
現在再看,他忽然覺得——
“stay hungry”不是讓你保持求知慾。
就是字麵意思。
保持饑餓。
就像他現在這樣。
沈嶼把饅頭嚥下去,繼續看文章。
晚上,沈嶼在教室自習。
他正在做物理電磁感應的大題,手機震了一下。
是那個國外客戶的回覆。
大意是:做得很好,錢已經付了,問他有冇有興趣做另一個專案——一個簡單的待辦事項清單應用,也是五十美金。
沈嶼回了一個字:“好。”
然後他關了手機,繼續做題。
電磁感應。楞次定律。
他想起前世的一個同事,是個硬體工程師,跟他講過楞次定律的應用——感應電流的方向總是阻礙引起它的磁通量的變化。
“阻礙”這個詞很有意思。
不是阻止,是阻礙。
就像他現在的處境——錢不夠,時間不夠,基礎不夠。
所有這些“不夠”都在阻礙他。
但阻礙不是阻止。
他可以從縫隙裡鑽過去。
沈嶼寫下最後一道題的答案,合上卷子。
“搞定。”
回宿舍的路上,他路過操場。
操場上有人在跑步,腳步聲在夜色裡一下一下的。
他認出來了——是張浩。
張浩跑了一圈,看到沈嶼,停下來。
“你又去網咖了?”
沈嶼愣了一下:“你怎麼知道?”
“林遠說的。”
“……”
“他說你去網咖寫程式碼。”
“嗯。”
“寫什麼?”
“遊戲。”
張浩看著他,表情複雜。
“你還有心思寫遊戲?你不是說要考前十嗎?”
“不衝突。”沈嶼說,“寫遊戲不影響學習。”
“怎麼可能不影響?”
“因為我寫遊戲的時候,腦子也在轉。”沈嶼指了指自己的腦袋,“寫程式碼和做物理題用的是同一塊腦子——邏輯。”
張浩沉默了一會兒。
“你寫的什麼遊戲?我能玩嗎?”
沈嶼想了想:“等我做完。給你玩。”
“行。”張浩轉身繼續跑,跑了兩步又回頭,“你彆死在網咖裡了。”
“死不了。”
沈嶼繼續往宿舍走。
身後是張浩的腳步聲,一下一下,越來越遠。
頭頂是月亮,又圓又亮,照得操場像鋪了一層霜。
他忽然想起前世的一個夜晚。
加完班,淩晨兩點,他站在公司樓下等計程車。
那天也是滿月,他抬頭看了一眼,覺得月亮好亮。
然後他低下頭,繼續看手機。
那時候他不知道自己在看什麼。
現在他知道了。
他在看一個冇有方向的人生。
沈嶼深吸一口氣,推開宿舍的門。
呼嚕聲準時響起。
他爬上上鋪,開啟檯燈,繼續看書。
距離高考還有39天。
距離他的計算器到賬還有大概24小時。
距離他餓不死,還有——
他翻了翻錢包。
三十二塊七毛。
省著花,夠撐到下個月。
下個月,他就不會這麼窮了。