“曾凡,下午樊老師找你去幹什麽了,一節課都沒迴來?”剛坐下,同桌高小娜就好奇的問。
“我寫了一個小程序,石老師覺得我有天賦,樊老頭就給了我機房鑰匙,讓我可以不上課的時候,過去上機,剛才在機房錯過了吃飯的時間,才去外麵吃了點迴來!”曾凡小聲的解釋道,這種事不需要瞞,也瞞不住,以後他會經常去,索性一次說明白。
“你真厲害,寫的什麽程序?”高小娜更好奇了。
曾凡將從機房拿出來的那本編程書遞給她看,嘴裏謙虛道:“就是從這上麵抄了個示例程序,我改了改,也編譯成功了!”
英語是高小娜最好的科目,翻看這本全英文的書籍一樣眼暈:“英文原版書你也能看懂?”
“連蒙帶猜吧,英文部分不需要太懂,知道什麽功能就行了!”曾凡都有點佩服自己了。
“馬上快考試了,樊老頭還讓你隨便上機,他心可真大!”高小娜的思路跳躍的真快。
“不和你說了,我得趕緊寫作業,功課落下一樣挨尅!”
周六周日兩天的功夫沒有白費,再做起作業,尤其是語文,英語,政治之類需要背誦的作業,感覺輕鬆了很多,數學作業本來就是他的強項,現在他的心算速度提升,做起來更加得心應手。
高小娜翻看那本厚厚的英文原版書,第一頁就看的頭大,序言部分還能連蒙帶猜看懂大概,到了正文部分,徹底懵圈,這也是英語嗎?
不死心的往後翻,代碼越來越密集,經常幾頁幾頁都是代碼,好多的小括號,中括號,大括號,一層層的括號套括號,還很多的加號減號大於小於等於號,這是數學英語嗎?這玩意怎麽看懂大概?
以後絕對不能報考計算機專業!高小娜將書還給曾凡,暗自下定決心,光是數學就夠她頭疼了,還數學加英語,必須有多遠躲多遠。
晚自習的鈴聲響起,曾凡最後一本數學作業剛好寫完,踩著鈴聲進屋的王偉正好無縫銜接拿過去,一點不浪費時間。
“樊老頭下午又給你開小灶了?”王偉一心二用,邊抄作業邊調侃曾凡。
“你怎麽知道?”
“哈哈,我中午看見樊老頭押著你去還書了,放學後我還去打探消息,他還給了書店老板一個黑名單,上麵的人不許再借書!對不對!”王偉得意洋洋的說道。
“讓我們最後一個學期專心學習嘛,我以後要改邪歸正,你們踢球別再找我了!”曾凡並沒有表現出王偉期待的沮喪。
“呀?不會吧,樊老頭給你許了什麽好處?”
“我以後沒課的時候可以去機房上機!”
“切!機房裏那些老古董,讓我玩都懶得去,家裏的遊戲機我都玩膩了,何況機房那幾個小學生遊戲!”王偉不屑道。
“我可不是玩遊戲,我要自己編一個遊戲!”曾凡忍不住炫耀道。
“吹牛吧,就你?”
“信不信由你,需要幾天的時間,周四咱們下午上機,估計你就能看到了!”
“玩真的?什麽遊戲?”王偉看他說的認真,相信了幾分,這小子不是說大話的人。
“中國象棋!”
“唉,我還以為什麽高難度,遊戲機裏我玩過,電腦弱智的很,最高難度的要思考好久,還不如真人有意思!”王偉不以為然道。
“不一樣,我寫的當然要能正常對局,咱們的電腦雖然很落後,比你的遊戲機還是要強很多的,計算能力不是一個水平!你等著瞧好了!”曾凡很自信的說道。
“看把你能的,到時候你的程序要是能贏我,我請咱們全班吃雪人!”王偉對自己的象棋水平還是很有把握的。
“知道你家有錢,我不和你打賭,到時候就知道了!”曾凡才不上當,一根雪人雪糕一塊錢,全班六十多人,他全身上下的錢加起來都不夠。
“不是打賭,是我個人自願!”
王偉說著突然站了起來,踩桌子站到講桌上,轉過身大聲說道:“大家聽好了,周四上機課,我和曾凡寫的象棋程序對戰,如果我輸了,自願請全班同學吃雪人!決不食言!”
“王偉!快下來,這是晚自習,別影響大家學習!”班長楊菲菲趕緊站起來維持秩序。
下麵的同學們看熱鬧不嫌事大,更何況還有便宜可占,紛紛的跟著起哄,尤其是後幾排的男同學,劉誌新嚷的最歡,被班長狠狠瞪了一眼,才不得不住口。
“我說完了,大家知道有這事兒就行了!”王偉踩著桌子又迴到自己的位置。
曾凡很無語,這下子全班都知道了,想低調都做不到了,也怪自己,和這個出名的大嘴巴抬什麽杠呢!
“曾凡,我等著看你的大作了!”王偉拍了拍他的肩膀,笑嗬嗬的說道,明顯是不相信他能寫出這樣的程序。
有了王偉的打岔,曾凡不得不認真起來,反正作業都寫完了,曾凡拿過那本程序書認真翻看起來,在裏麵找相似類型的算法代碼作參考。
一般類似的棋類軟件算法都是枚舉法,將每一個棋子可能的走法逐一計算,通過特殊的程序算法進行判斷,選擇出最有利的走法。
程序想要獲勝,僅算一步肯定不夠,還要計算對手可能的走法,再逐一計算,然後再根據對方的某一步計算己方最佳的應對方法,以此類推。
每往深層多計算一步,總的計算數量就是雙方所有可能走法相乘一次,計算機運算能力再強大,也禁不起這種海量枚舉的消耗,一般的人類棋手,水平再差也能算兩三步,但凡有點水平算四五步,七八步都很常見,雖然沒有程序機械嚴謹,很容易有疏漏,可是人類的經驗計算機不能比,能彌補偶爾疏漏造成的錯誤。
好的算法就是減少程序的枚舉步驟,通過嚴密設計提前排除大量無效步驟,並且高效判斷某一步的價值,以少量的計算獲取最深的計算步驟,盡量減少己方的失誤。
曾凡左手托下巴,右手無意識的翻書,腦子裏思索著程序的結構設計,怎樣枚舉計算,怎樣判斷每一步的價值,已經有了初步的想法,迫切的想要去寫出來驗證一下。
看了看表,才剛剛八點多,到十點熄燈還有將近兩個小時,差不多夠用了。
“高小娜,我出去一下!”曾凡的位置在裏麵,後排的桌子又靠的很緊,想要出去,需要外麵的人先出去,或者盡量往前靠,他才能過去。
出了教室,曾凡直奔機房,開門進去先開燈,然後直奔剛才他用的那台電腦。
這次他帶著軟盤過來,寫完了備份到軟盤上麵,下次隨便哪台電腦都能繼續編寫了。
“我寫了一個小程序,石老師覺得我有天賦,樊老頭就給了我機房鑰匙,讓我可以不上課的時候,過去上機,剛才在機房錯過了吃飯的時間,才去外麵吃了點迴來!”曾凡小聲的解釋道,這種事不需要瞞,也瞞不住,以後他會經常去,索性一次說明白。
“你真厲害,寫的什麽程序?”高小娜更好奇了。
曾凡將從機房拿出來的那本編程書遞給她看,嘴裏謙虛道:“就是從這上麵抄了個示例程序,我改了改,也編譯成功了!”
英語是高小娜最好的科目,翻看這本全英文的書籍一樣眼暈:“英文原版書你也能看懂?”
“連蒙帶猜吧,英文部分不需要太懂,知道什麽功能就行了!”曾凡都有點佩服自己了。
“馬上快考試了,樊老頭還讓你隨便上機,他心可真大!”高小娜的思路跳躍的真快。
“不和你說了,我得趕緊寫作業,功課落下一樣挨尅!”
周六周日兩天的功夫沒有白費,再做起作業,尤其是語文,英語,政治之類需要背誦的作業,感覺輕鬆了很多,數學作業本來就是他的強項,現在他的心算速度提升,做起來更加得心應手。
高小娜翻看那本厚厚的英文原版書,第一頁就看的頭大,序言部分還能連蒙帶猜看懂大概,到了正文部分,徹底懵圈,這也是英語嗎?
不死心的往後翻,代碼越來越密集,經常幾頁幾頁都是代碼,好多的小括號,中括號,大括號,一層層的括號套括號,還很多的加號減號大於小於等於號,這是數學英語嗎?這玩意怎麽看懂大概?
以後絕對不能報考計算機專業!高小娜將書還給曾凡,暗自下定決心,光是數學就夠她頭疼了,還數學加英語,必須有多遠躲多遠。
晚自習的鈴聲響起,曾凡最後一本數學作業剛好寫完,踩著鈴聲進屋的王偉正好無縫銜接拿過去,一點不浪費時間。
“樊老頭下午又給你開小灶了?”王偉一心二用,邊抄作業邊調侃曾凡。
“你怎麽知道?”
“哈哈,我中午看見樊老頭押著你去還書了,放學後我還去打探消息,他還給了書店老板一個黑名單,上麵的人不許再借書!對不對!”王偉得意洋洋的說道。
“讓我們最後一個學期專心學習嘛,我以後要改邪歸正,你們踢球別再找我了!”曾凡並沒有表現出王偉期待的沮喪。
“呀?不會吧,樊老頭給你許了什麽好處?”
“我以後沒課的時候可以去機房上機!”
“切!機房裏那些老古董,讓我玩都懶得去,家裏的遊戲機我都玩膩了,何況機房那幾個小學生遊戲!”王偉不屑道。
“我可不是玩遊戲,我要自己編一個遊戲!”曾凡忍不住炫耀道。
“吹牛吧,就你?”
“信不信由你,需要幾天的時間,周四咱們下午上機,估計你就能看到了!”
“玩真的?什麽遊戲?”王偉看他說的認真,相信了幾分,這小子不是說大話的人。
“中國象棋!”
“唉,我還以為什麽高難度,遊戲機裏我玩過,電腦弱智的很,最高難度的要思考好久,還不如真人有意思!”王偉不以為然道。
“不一樣,我寫的當然要能正常對局,咱們的電腦雖然很落後,比你的遊戲機還是要強很多的,計算能力不是一個水平!你等著瞧好了!”曾凡很自信的說道。
“看把你能的,到時候你的程序要是能贏我,我請咱們全班吃雪人!”王偉對自己的象棋水平還是很有把握的。
“知道你家有錢,我不和你打賭,到時候就知道了!”曾凡才不上當,一根雪人雪糕一塊錢,全班六十多人,他全身上下的錢加起來都不夠。
“不是打賭,是我個人自願!”
王偉說著突然站了起來,踩桌子站到講桌上,轉過身大聲說道:“大家聽好了,周四上機課,我和曾凡寫的象棋程序對戰,如果我輸了,自願請全班同學吃雪人!決不食言!”
“王偉!快下來,這是晚自習,別影響大家學習!”班長楊菲菲趕緊站起來維持秩序。
下麵的同學們看熱鬧不嫌事大,更何況還有便宜可占,紛紛的跟著起哄,尤其是後幾排的男同學,劉誌新嚷的最歡,被班長狠狠瞪了一眼,才不得不住口。
“我說完了,大家知道有這事兒就行了!”王偉踩著桌子又迴到自己的位置。
曾凡很無語,這下子全班都知道了,想低調都做不到了,也怪自己,和這個出名的大嘴巴抬什麽杠呢!
“曾凡,我等著看你的大作了!”王偉拍了拍他的肩膀,笑嗬嗬的說道,明顯是不相信他能寫出這樣的程序。
有了王偉的打岔,曾凡不得不認真起來,反正作業都寫完了,曾凡拿過那本程序書認真翻看起來,在裏麵找相似類型的算法代碼作參考。
一般類似的棋類軟件算法都是枚舉法,將每一個棋子可能的走法逐一計算,通過特殊的程序算法進行判斷,選擇出最有利的走法。
程序想要獲勝,僅算一步肯定不夠,還要計算對手可能的走法,再逐一計算,然後再根據對方的某一步計算己方最佳的應對方法,以此類推。
每往深層多計算一步,總的計算數量就是雙方所有可能走法相乘一次,計算機運算能力再強大,也禁不起這種海量枚舉的消耗,一般的人類棋手,水平再差也能算兩三步,但凡有點水平算四五步,七八步都很常見,雖然沒有程序機械嚴謹,很容易有疏漏,可是人類的經驗計算機不能比,能彌補偶爾疏漏造成的錯誤。
好的算法就是減少程序的枚舉步驟,通過嚴密設計提前排除大量無效步驟,並且高效判斷某一步的價值,以少量的計算獲取最深的計算步驟,盡量減少己方的失誤。
曾凡左手托下巴,右手無意識的翻書,腦子裏思索著程序的結構設計,怎樣枚舉計算,怎樣判斷每一步的價值,已經有了初步的想法,迫切的想要去寫出來驗證一下。
看了看表,才剛剛八點多,到十點熄燈還有將近兩個小時,差不多夠用了。
“高小娜,我出去一下!”曾凡的位置在裏麵,後排的桌子又靠的很緊,想要出去,需要外麵的人先出去,或者盡量往前靠,他才能過去。
出了教室,曾凡直奔機房,開門進去先開燈,然後直奔剛才他用的那台電腦。
這次他帶著軟盤過來,寫完了備份到軟盤上麵,下次隨便哪台電腦都能繼續編寫了。