話說最近兩周一直在忙3D圍棋的事情,終於在昨Apsara Infrastructure Management Framework本搞定。焦頭爛額之後當然應該切腹剖心好好總結一番(好恐怖~~)。
本次的project很重要的一方面就是練習結對程式設計。很不幸的是,我的pair這兩周一直在忙其他的事情,前後我們就討論過兩次總計不到一小時,僅僅對棋盤形式、規則設計進行了探討,之後更無坐在一起進行程式編寫的經曆,所以很悲劇,我無法寫出自己體會到的結對程式設計的優勢。。。當然我可以就自己的經曆談談不去結對程式設計的痛苦。
和我一樣同做圍棋的Wenping和Xuyong同學,pair work做的就非常出色,真是羨煞我也。在孤軍奮戰的時候,我感受到以下的劣勢:
1、 遇到困難只能硬上,無人商量,悲了個劇的。所謂三個那啥啥頂一個那誰誰,一個連那啥啥都比不上的慫人遇到困難卻只能45度角仰望天空,淚流滿面,歎作業之難兮,感吾才具之不堪,悲哉悲哉啊。
2、 無人在側,對自己代碼的品質要求降低。等我把整個project做完,回頭審視自己的代碼,一聲感慨,這是一坨神馬玩意啊,自信心嚴重受挫。
3、 程式中的Bug難以發現。鄙人不才,能夠設想到的異常情況與實際情況的差距非常大,實不相瞞,本人程式中目前發現的幾個大bug都是和別的組的同學閑聊的時候才意識到並更正的,在此特別感謝Shaoqing同學和Xiaoming同學。
4、 知識不足不易彌補。WPF什麼的,最討厭了,好多東西毫無頭緒,後來經Xiaoming同學指點,看了幾個常式才大致摸到些門道。後來遇到好多不知如何處理的問題多虧了Wenping同學的指點才雲開霧散雨過天晴恍然大悟豁然開朗。一個同做圍棋的人,把自己的知識貢獻出來協助另一個做同樣項目的人,這是什麼精神?這是十分給力的助人為樂的精神,這是偉大的河蟹精神!當然,也可能我太挫了,對他們的成績不構成任何威脅。。我好邪惡,自行面壁三分鐘。。。
鬼扯一通還是說一說整個項目的完成情況吧。
以下是3D圍棋的視窗。
左側三個分別標有XYZ-direction的RepeatButton表示主介面中的棋盤可以繞上述三個方向順時針或者逆時針轉動,NewGame按鈕表示開始一個新的遊戲,End按鈕表示結束當前遊戲,並給出遊戲結果。Load表示裝載遊戲存檔,Next按鈕在遊戲存檔載入且選擇單步運行方式時啟用,每按一次就從棋譜中得到一步顯示在棋盤上。WhiteRemain和BlackRemain表示雙方可用棋子數目,初始值設為160,WhiteScore和BlackScore表示雙方分別殺死對方的棋子數目。Undo按鈕表示撤銷上一步的落子,在下棋過程中和存檔載入過程中均可以使用。Chess Manual表示目前的落子情況,包括每一步落子的顏色以及位置。大致就這麼多吧,個人能力有限難免有所不足,歡迎拍磚~
----By Kai