结对编程I - 3D跳棋
按照课程的要求,我和xiaowei合作的结对编程项目- 3D跳棋总算有了初步的结果了。当看到棋子能够按照预想的方式运行的时候,终于可以坐下来写点体会了。
首先,这次项目让我明白了什么是结对编程。结对编程并不是两人做好分工,各自干好自己的部分。它要求两人各自坐在同一台电脑前,共同完成编程工作。在这个过程中,大家可以面对面的交流,思维也更加活跃一些,遇到问题也能及时解决。同时,结对编程对编程的过程可以double-check, 出现错误的几率也就大大降低了。当然,它也有自己的不好之处。比如两人经常会有意见不一致的时候,为了解决问题有时候可能需要将两人的意见都实践一下,这样会降低效率。不过,从另一方面看,不同的意见也就意味着更多的可能性,更能促进思维的碰撞与交流。
其次,项目的过程也充满着困难和兴奋。一开始,大家的时间总是凑不上来,所以项目开始得比较晚,几乎都是晚上开夜车进行的。等到项目真正开始的时候,因为以前没学过c#和silverlight,有目标地去学习新东西,也让我感到不小的兴奋。但是项目时间毕竟很短,还有一些设想没有完成,不能不说是个小小的遗憾。
下面就让我来简单介绍一下我们的3D跳棋游戏吧。下图是我们游戏的界面。由于我们选择的是3D跳棋,若只在表面来走,棋子能够跳的几率不大,所以最终我们选择了在一个立方体内部空间来走。在这种设置之下,用鼠标来控制棋子的移动不太可能,所以我们只有用键盘来进行控制。但是,这种控制使得棋子走起来很费劲。这是我们以后需要解决的一个问题。
游戏规则如下:
1. 按下鼠标左键,上下左右拖动鼠标可以改变3维视角,鼠标滚轮可以缩放;
2. A,D;W,S;Q,E分别控制光标(蓝色方块)在3个轴上的移动;
3. 空格控制选中蓝色方格所在的位置,先选中可走棋子,再选择其可走的目标点,即可移动棋子;
4. 棋子只可移动至相邻位置,若该位置已有棋子,可跳过该棋子,并支持多步跳跃;
5. 回车键可以回放, F5重新开始。
下载地址:https://sites.google.com/site/simple3dchinesechecker/home/3dchinesechecker.
我们的图片:
by xiulian