編寫五子棋遊戲的趣事

記得很多年前,剛剛成爲一名程序時,對編程很感興趣,工作之餘,很想利用所掌握的編程技術來編寫一點有趣的程序。

當我剛學會了VB語言後,就迫不及待地嘗試着用它來開發一個五子棋遊戲,純粹爲了好玩。一下班,我腦子裏都在琢磨着怎麼樣把我下五子棋的本領“傳授”給程序。一開始僅僅是編寫了一個五子棋的界面,接下來提供了判斷輸贏的功能,再接下來還要提供人機對下的本領。

隨着這個遊戲程序越來越像點樣,引起了和我同進單位的一批年輕同事們的興趣。工作中的空閒時間,來和我的五子棋遊戲對戰成了他們的一種消遣方式。比較搞笑的是,這些可愛又自信的同事們下棋的成功標準是:看誰用最短的回合取勝。由於一開始的軟件還有許多疏漏,因此他們很快就幫我找到了一些傻傻的Bug。比如在一條線上,已經有十顆同顏色的棋子了,程序還無動於衷,沒及時宣佈一方已經取勝。還有的同事發現按照某種套路和程序對下,只要走七步必定能夠取勝。每次當他們取勝後,就會帶着成就感滿心歡喜地離開。

多虧這些同事們不厭其煩地來和程序對下,幫我找出許多Bug,然後我耐心教導程序發奮圖強,不斷改進思路。到後來,我把自己下五子棋的套路全部教會了這個程序,因此我和它對下時,總是不分上下。別的同事來對下時,也不會輕易取勝了。

可惜我自己下五子棋的水平也就是普通級別。爲了讓我的程序徒弟能“青出於蘭而勝於蘭”,我特地閱讀了一些五子棋的棋譜書,再現學現賣,手把手地傳授給程序,到後來,它的功力又提高了一籌。同事們再來找它挑戰,得全力以赴,否則也會被它打敗。有同事突發奇想,讓我的這個程序與專業的五子棋程序對下,結果我的這個程序雖然也能支撐一些回合,最終都是敗下陣來。真是山外有山,畢竟我不精通五子棋的複雜的算法,因此編寫的五子棋遊戲只能達到這個水平了。

後來我還編寫了一箇中國象棋的程序,只提供了一個界面,支持兩個人在兩臺電腦上對下,但是要實現人機對下,就超出我的能力範圍了。記得有一次在工作之餘,我和一個同事正在兩臺電腦上測試這個象棋程序,剛好領導走了過來,提醒我上班不準打遊戲,我嚇得趕忙把遊戲關了。事後想想,如果我當時要和領導解釋一下:“我正在學習編程技術,這個程序是我的傑作”,不知他是否會對這樣好學的員工滿意呢?

都說編程工作很繁瑣枯燥,那麼,偶爾編寫一些自己喜歡的小軟件,這是苦中做樂的點綴了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章