实验二 结对编程--第一阶段

一、实验目标:

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

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

二 、实验内容:

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

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

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

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

三、问题描述

扫描二维码关注公众号,回复: 10056960 查看本文章

       生命游戏

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

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

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

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

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

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

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

四、组队情况

课题 生命游戏
队伍名 奔波儿灞与灞波儿奔
组员 杜家云、杜蒙蒙
blog地址

杜家云:https://www.cnblogs.com/cloudyyy/

杜蒙蒙:https://www.cnblogs.com/qingmuling/

GitHub仓库地址  https://github.com/cloudy-y/exp2

 

五、敏捷开发与结对编程

1.敏捷开发

敏捷开发是一种能应对快速变化需求的软件开发能力,相比于“非敏捷”,更强调程序员团队与业务专家之间的紧密协作、面对面的沟通、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好适应需求变化,更注重软件开发过程中人的作用。

敏捷开发方法是一组轻量级开发方法的总称,包含很多具体的开发过程和方法。

2.结对编程

结对编程是一种敏捷软件开发的方法。两个程序员在一个计算机上共同工作。一个人输入代码,而另一个人审查他输入的每一行代码。输入代码的人称作驾驶员,审查代码的人称作观察员(或导航员)。两个程序员经常互换角色。可以提高编程效率,提高纪律性和自主性,有利于代码后期的维护。

六、对课题的理解

生命游戏是一种无玩家的游戏。在一个二位矩阵中,每一个格子都有一个细胞,细胞或生或死。每个细胞下一时刻的生命状态由与其相邻的八个格子中的细胞状态决定。在本次课题中,首先要设定矩阵的大小,在矩阵上初始化活的细胞分布图,其余细胞生命状态默认为死。同时注意最后一圈细胞生命状态为死,以保证每个细胞下一时刻状态的计算都可以应用相同的原则。关于分布图的演化方式,可以采取多种方法:①单步演化;②不间断演化。还应有其他辅助功能。如结束演化、清屏,以使游戏更加完善,游戏体验更佳。

七、开发平台和技术工具

在eclipse中使用Python语言。

 

猜你喜欢

转载自www.cnblogs.com/cloudyyy/p/12545739.html