结对编程第一阶段

Posted grandrat

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了结对编程第一阶段相关的知识,希望对你有一定的参考价值。

实验二  结对编程

一、实验目标:

 

1)体验敏捷开发中的两人合作。

2)进一步提高个人编程技巧与实践。

二 、实验内容:

1)根据以下问题描述,练习结对编程(pair programming)实践;

2)要求学生两人一组,自由组合。每组使用一台计算机,二人共同编码,完成实验要求。

3)要求在结对编程工作期间,两人的角色至少切换 4 次;

4)编程语言不限,版本不限。建议使用 Python 或 JAVA 进行编程。

 

三、问题描述

1)生命游戏

    生命游戏是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机,它包括一个二维矩形世界,这个世界中的每个方格居住着一个活着的或死亡的细胞。一个细胞在下一个时刻生死取决于相邻八个方格中活着的或死了的细胞的数量。如果相邻方格活着的细胞数量过多,这个细胞会因为资源匮乏而在下一个时刻死去;相反,如果周围活细胞过少,这个细胞会因太孤单而死去。

    游戏在一个类似于围棋棋盘一样的,可以无限延伸的二维方格网中进行。例如,设想每个方格中都可放置一个生命细胞,生命细胞只有两种状态:“生”或“死”。图中,用黑色的方格表示该细胞为“死”, 其它颜色表示该细胞为“生” 。

    游戏开始时, 每个细胞可以随机地(或给定地)被设定为“生”或“死”之一的某个状态, 然后,再根据如下生存定律计算下一代每个细胞的状态:

  • 每个细胞的状态由该细胞及周围 8 个细胞上一次的状态所决定;

  • 如果一个细胞周围有 3 个细胞为生,则该细胞为生,即该细胞若原先为死则转为生,若原先为生则保持不变;

  • 如果一个细胞周围有 2 个细胞为生,则该细胞的生死状态保持不变;

  • 在其它情况下,该细胞为死,即该细胞若原先为生则转为死,若原先为死则保持不变。

 

四、实验过程

1)队伍名称、成员博客地址以及仓库地址:

  队伍名称:写的都队

  王尹凡:https://www.cnblogs.com/grandrat/

  乔克祥:https://www.cnblogs.com/jsjqkx/

  仓库地址:https://github.com/programmingsky/Coop_Program

2)对课题的理解:经过查阅相关资料,我们对于“生命游戏”这个课题的理解如下:

  我们可以把计算机中的宇宙想象成是一堆方格子构成的封闭空间,尺寸为N的空间就有N*N个格子。而每一个格子都可以看成是一个生命体,每个生命都有生和死两种状态,如果该格子生就显示蓝色,死则显示白色。每一个格子旁边都有邻居格子存在,如果我们把3*3的9个格子构成的正方形看成一个基本单位的话,那么这个正方形中心的格子的邻居就是它旁边的8个格子。
每个格子的生死遵循下面的原则:
  1. 如果一个细胞周围有3个细胞为生(一个细胞周围共有8个细胞),则该细胞为生(即该细胞若原先为死,则转为生,若原先为生,则保持不变) 。
  2. 如果一个细胞周围有2个细胞为生,则该细胞的生死状态保持不变;
  3. 在其它情况下,该细胞为死(即该细胞若原先为生,则转为死,若原先为死,则保持不变)
  设定图像中每个像素的初始状态后依据上述的游戏规则演绎生命的变化,由于初始状态和迭代次数不同,将会得到令人叹服的优美图案。

3)开发平台和编译工具:

  小组成员经过讨论,决定使用JAVA语音,并以Eclipse作为开发编译工具,在之前的课程中我们已经了解和学习过Eclipse这款软件,使用起来比较熟悉,方便上手。

4)结对编程方案:

  小组成员采用腾讯QQWindows版的“屏幕共享”和“远程控制”功能,查看与干预另一名成员的开发过程,以完成结对编程。

5)设计思路:

以上是关于结对编程第一阶段的主要内容,如果未能解决你的问题,请参考以下文章

结对编程第一阶段

结对编程 第一阶段

结对编程第一阶段

结对编程第一阶段

结对编程-第一阶段

结对编程第一阶段