实验二 结对编程 第一阶段

结对编程

一、实验目标:

1)体验敏捷开发中的两人合作。
2)进一步提高个人编程技巧与实践。

二 、实验内容:

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

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

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

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

三、问题描述

1)生命游戏

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

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

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

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

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

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

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

四、其他要求

1)在博客园https://www.cnblogs.com/注册个人账号,记录二个人的编程实现过程,遇到的问题及解决方法。

2)在github上托管二个人项目的代码,采用git对项目代码进行管理

1敏捷开发和结对编程的理解

 结对编程(英语:Pair programming)是一种敏捷软件开发的方法,两个程序员在一个计算机上共同工作。一个人输入代码,而另一个人审查他输入的每一行代码。输入代码的人称作驾驶员,审查代码的人称作观察员(或导航员)。两个程序员经常互换角色。
在结对编程中,观察员同时考虑工作的战略性方向,提出改进的意见,或将来可能出现的问题以便处理。这样使得驾驶者可以集中全部注意力在完成当前任务的“战术”方面。观察员当作安全网和指南。结对编程对开发程序有很多好处。比如增加纪律性,写出更好的代码等。

2博客地址,仓库地址,课题

https://www.cnblogs.com/cctv-cc/
https://www.cnblogs.com/xiaofeng338/

https://github.com/154678794/lifeGame

细胞游戏

3开发平台和开发工具

vc++6.0 easyx图形库
qq共享屏幕

4功能设计

主函数入口

初始化窗口和图片

判断细胞死亡还是存活

循环扫描每一个格子并对周围八个格子进行扫描

鼠标点击细胞存活

5程序演示截图

5git版本发布与合并

上述功能我与其他人是共同开发的,故功能较为分散,在约定好了公共参数以后,进行函数的编写,并将每次发布后的版本进行合并从而完成了整个项目

6问题描述

1因为没有事先做代码规范的约束使得合并时出现了很多冲突,在完成约束后从而减少了错误。

2鼠标事件延时问题,在做鼠标事件获取左键点击消息时发生了延时,还没有找到原因。

3下个阶段会对以上问题进一步做改善。

posted @ 2020-03-21 19:26  拾伊  阅读(205)  评论(1编辑  收藏  举报