看着林星漪驚訝的表情,陳序隨口回答道:
「這只是一個普通得不能再普通的小遊戲,沒什麼大不了的。」
「但是這確實是個遊戲,對吧?」
「對啊。」
「所以你確實在20分鐘內寫了個遊戲出來?」
「這麼說不準確.....這玩意兒我好久之前就寫過了,現在只不過是在這裏複製出來而已。」
「我就說......這起碼還合理一點!」
林星漪長舒了一口氣,那種看着陳序仿佛是在看一個怪物的眼神也終於緩和了幾分。
不過即便如此,剛剛發生的事情還是讓她難以置信。
20分鐘哎!
一個遊戲!
她不是沒玩過遊戲,甚至她上pascal課的時候還跟着老師寫過貪吃蛇的小遊戲。
不過那時候,哪怕是一比一地跟着老師給的代碼去寫,她也整整花了三天的時間才實現。
相比之下,陳序的動作簡直快到離譜----所以他到底是怎麼學會的?
林星漪好奇地看着陳序,想開口問,但又覺得沒有必要。
反正他的秘密已經夠多了,再多一個也沒什麼關係吧?
「所以這個遊戲怎麼玩?」
林星漪開口問道。
「玩法很簡單,9宮格,用方向鍵四向滑動,把相同的數字組合在一起變大,最後得出2048,就算是過關。」
「你先試一試玩一玩,想辦法通關。」
「通關完以後,你再告訴我你的想法。」
「比如這個遊戲是怎麼實現的,需要用到什麼功能。」
「你有pascal基礎,大概應該能理解。」
「理解原理了之後,我再具體跟你講代碼、講算法。」
「這樣一來,你就能初步理解算法的意義了。」
陳序一邊說一邊演示,林星漪很快搞清楚了玩法,開始自己上手。
陳序就坐在旁邊看着,順便拉開了一罐可樂。
第一輪,林星漪還沒有完全掌握規律,操作了十幾次便宣告失敗。
第二輪,她最高拼到了1024,但從1024到2048不是只剩下一個數字,而是剩下了一半的工作量,最終她也沒完成。
陳序一邊喝着可樂一邊指點她玩法,不過很顯然,這遊戲的隨機性並不是那麼好克服的,她最後甚至只拼到了512。
「這個很好玩!」
林星漪放下鍵盤,重重點頭說道:
「雖然玩法很簡單,但可重複性很強。」
「是因為裏面有隨機性的代碼,但好像又不是完全隨機......」
「所以到底是怎麼做的?我現在能看代碼嗎?」
「我就算現在給你看,你也看不懂啊。」
陳序放下手裏的可樂瓶,隨後問道:
「回到原來的問題,如果讓你來做這個遊戲的話,你會怎麼做?」
「只講思路,不需要告訴我怎麼用代碼實現。」
從這一句話開始,陳序正式進入到了他承諾給林星漪的教學。
林星漪思索了片刻,回答道:
「首先要有一個代碼,用來隨機生成數字。」
「然後,要用一個代碼,實現數字的左右移動,判斷數字的位置。」
「還需要用代碼實現數字的合併,這個我知道怎麼做!」
「只需要兩個函數,一個判斷相鄰數字是否相等,一個判斷移動的方向。」
「比如在頂角上,就只需要判斷兩個數字、兩個方向就好了!」
「其他的原理也差不多......哎,如果可以用中文編程就好了,我感覺我現在都能做!」
「你是否在尋找:易語言。」
陳序好笑地攤了攤手,但隨即又點頭道:
「你說的其實很準確----你比我想像中的要聰明。」
「其實你剛才說的那幾句話,已經觸及到了算法的根本。」
「很簡單,就是怎麼在兼顧算力、運算速度的條件下,完成一次計算。」
「來,現在我們來看代碼,跳過前面的map生成部分,直接看合併部分。」
「你看,我們判斷合併,實際上並沒有用到你所說的位置判斷,而是統一使用了同一個邏輯的四部分代碼,每部分代碼判斷一個移動方向......」
陳序一行一行地解釋代碼,也解釋了為什麼要用這種看起來比較笨的方式去實現。
「原因很簡單,你剛才考慮問題,是從開發者角度去考慮的。」
「對開發者來說,每次操作會有四種可能,上下左右。」
「但實際上,對玩家來說,他每次都只選擇一個策略,上、下、左、右。」
「所以,在他們選擇策略之後,代碼會自動觸發與之相關的邏輯部分,僅需要運算一次,就能獲得結果。」
「這就是算法邏輯的核心,節省算力不一定需要靠多麼複雜的函數,面向對象,也是一種思路......」
陳序侃侃而談,林星漪頻頻點頭。
但說着說着,陳序卻發現,坐在他身邊的林星漪已經開始有些走神了。
她的眼神不再鎖定在屏幕上,而是時不時瞥向自己。
「你看我幹啥?」
陳序莫名其妙道:
「聽課啊,你還想不想參加noip了?」
「報告老師,想!」
林星漪嘿嘿一笑,開口道:
「陳序,你有沒有發現,你給別人講課的時候,有一種非常、非常、非常特別的變化。」
「......什麼變化?」
「變帥了。」
林星漪一本正經地說道。
「我勒個智性戀啊......不是,我認真問一句,你不會覺得老張講數學題的時候也風韻猶存吧?」
「......滾啊!」
林星漪狠狠瞪了陳序一樣,繼續說道:
「我是說真的啊!」
「之前總聽他們說什麼『認真工作的男人最帥』,我還覺得挺噁心人的,現在看起來,好像也不是那麼沒有道理嘛。」
「哎,你說奇怪不奇怪,為什麼別人沒發現呢?」
「你看班裏那幾個男生,成績稍微好一點的,都有好多女孩子喜歡。」
「你說,怎麼到了你這,就沒有人喜歡你了呢?」
「你老實說,你收到過情書沒有?」
「我靠......情書.......」
陳序差點被這個古早的名詞撞了一跟頭,努力回憶好久,他才終於回答道:
「還真沒有。」
「明珠蒙塵啊!」
林星漪痛心疾首。
「不過,好像謝染潔已經開始對你有那麼點意思了。」
「說不定你倆最後能......」
「你可快閉嘴吧。」
陳序打斷了林星漪沒頭沒腦的發言,看了一眼電腦上的時間,開口說道:
「從明天開始,你就要正式開始noip學習了。」
「一個多月的時間,你要先掌握c++的基礎,然後還要大量練習算法題。」
「怎麼說呢.......重在參與,但也不一定完全沒有奇蹟。」
「走吧,9點,差不多了。」
「回家!」
「好嘞!」
林星漪乖巧地收拾好書包,兩人並肩走出網吧。
陳序突然想起什麼,回頭看向林星漪,開口問道:
「所以你說的那個理由,到底是什麼?」
請記住本書首發域名:www.dubiqu.com。筆神閣手機版閱讀網址:
html|sitemap|shenma-sitemap|shenma-sitemap-new|sitemap50000|map|map50000
0.6136s 4.1687MB