PairProject 1 编程体验之3D 围棋
话说最近两周一直在忙3D围棋的事情,终于在昨天基本搞定。焦头烂额之后当然应该切腹剖心好好总结一番(好恐怖~~)。
本次的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