第一百三十九章 棧緩衝區溢位

林鴻將其成功破解之後,興奮之下,忘記了別人不像自己根本不用睡覺,當時就立刻敲響了亞瑟的房門,幸好他們剛剛睡下不久,聽到他這麼快就將計算器給破擊出來了,原本已經瞌睡得睜不開眼睛的兩人頓時精神一振,將睡意拋到了九霄雲外。

立刻想要看一下破解之後的成果,可是接下來難題又來了沒有合適的可以執行在上面的軟體。

之前他們兩個討論了很久,始終無法確定第一個軟體該編寫什麼功能。亞瑟比較傾向於做一個實用性的軟體,例如可以輔助學生在學校的學習,而馬修則傾向於編寫一個有意思的遊戲。

兩個人的意見不能統一,時間就在他們不斷地爭辯中流逝,結果什麼東西都沒做出來。

現在機器已經出來了,卻沒有合適的軟體,真是夠鬱悶的。

這個時候,馬修提出,先編寫一個相對比較簡單的遊戲跑起來再說,得到了林鴻和亞瑟的一致認可。

三人商量了一下,最終決定將俄羅斯方塊這個遊戲移植到計算器中。

俄羅斯方塊是蘇聯科學家阿列克謝帕基特諾夫一個經典遊戲,它看似簡單但卻變化無窮,令人上癮。1988年在美國上市之後,立刻獲得了巨大的商業成功,受到了男女老少所有人的歡迎,成為一款極為經典的大眾遊戲,沒有任何一款遊戲能夠與其媲美。

亞瑟之前在學習程式設計的時候,曾經獨立開發過這個遊戲,有現成的原始碼,移植起來的難度並不大。

於是,他們又將陣地轉移到了林鴻房間,因為他這臺機器可以模擬z80cpu的執行環境,將亞瑟之前編寫的那個源程式進行簡單的修改和最佳化之後,就將其編譯成為了一個可在計算器裡面執行的檔案,然後通過資料線傳輸到了計算器儲存空間中。

剛開始的幾次執行都出了點問題,但是這是很正常的情況,移植到另外一個平臺,如果能一次性就成功,那就太誇張了,就算是再牛逼的程式設計師,有時候也是會犯一些低階錯誤的,例如變數名稱寫錯,忘記寫分號之類的,這是很正常的情況。只要根據除錯資訊,有針對性地進行修改就行了。

編寫程式就是這樣,除錯執行再除錯

不斷地和各種錯誤和bug做這鬥爭,直到最終順利通過的那一刻

在進行過十幾次不斷地來回除錯和傳輸程式的過程之後,亞瑟的俄羅斯遊戲終於順利地在ti82上執行了

馬修第一時間將計算器搶了過來,然後開始玩了起來。

玩俄羅斯方塊遊戲,只需要至多五個按鍵就可以,三個方向鍵,一個鍵用來變換,另外一個鍵則用來加速。而計算器上有幾十個按鍵,足夠了。

馬修在玩了一會兒就發現,由於計算器顯示屏高度太低,很容易就會被撐到頂,最終掛掉。

於是,他提出了改進意見,將顯示方式向順時針方向旋轉90度,這樣方塊下落的路程就可以大大加長,可以降低難度。

於是,亞瑟又開始對遊戲的源程式進行修改

在整個過程中,林後都沒再插手,他只是在旁邊觀看著亞瑟編寫程式。

亞瑟的這個俄羅斯方塊程式是用c語言進行編寫的,林鴻來美國之後才開始接觸這門程式語言,用得還不是很熟,今天看到亞瑟不斷修改除錯,也學到了不少東西。

他發現,亞瑟編寫程式的時候,有一些細小的程式設計習慣值得借鑑和學習,例如在關鍵的地方給點註釋給程式碼語句多分行縮排,提高程式碼的可讀性等等。

在將近凌晨五點的時候,他們終於將最終版的俄羅斯方塊遊戲給確定下來。

此刻,除了林鴻,亞瑟和馬修都疲憊不堪,直接倒在床上呼呼大睡。

這天早晨的晨練,亞瑟和馬修都沒能去,只有林鴻一人。

第一百三十九章棧緩衝區溢位

第一百三十九章棧緩衝區溢位,到網址

作者「瘋狂小強」的其他小說

修仙高手再戰都市