结对编程
一、实验目标:
1)体验敏捷开发中的两人合作。
2)进一步提高个人编程技巧与实践。
二 、实验内容:
1)根据以下问题描述,练习结对编程(pair programming)实践;
2)要求学生两人一组,自由组合。每组使用一台计算机,二人共同编码,完成实验要求。
3)要求在结对编程工作期间,两人的角色至少切换 4 次;
4)编程语言不限,版本不限。建议使用 Python 或 JAVA 进行编程。
三、问题描述(二选一)
1)生命游戏
生命游戏是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机,它包括一个二维矩形世界,这个世界中的每个方格居住着一个活着的或死亡的细胞。一个细胞在下一个时刻生死取决于相邻八个方格中活着的或死了的细胞的数量。如果相邻方格活着的细胞数量过多,这个细胞会因为资源匮乏而在下一个时刻死去;相反,如果周围活细胞过少,这个细胞会因太孤单而死去。
游戏在一个类似于围棋棋盘一样的,可以无限延伸的二维方格网中进行。例如,设想每个方格中都可放置一个生命细胞,生命细胞只有两种状态:“生”或“死”。图中,用黑色的方格表示该细胞为“死”, 其它颜色表示该细胞为“生” 。
游戏开始时, 每个细胞可以随机地(或给定地)被设定为“生”或“死”之一的某个状态, 然后,再根据如下生存定律计算下一代每个细胞的状态:
-
每个细胞的状态由该细胞及周围 8 个细胞上一次的状态所决定;
-
如果一个细胞周围有 3 个细胞为生,则该细胞为生,即该细胞若原先为死则转为生,若原先为生则保持不变;
-
如果一个细胞周围有 2 个细胞为生,则该细胞的生死状态保持不变;
-
在其它情况下,该细胞为死,即该细胞若原先为生则转为死,若原先为死则保持不变。
2)
开发一个自动生成小学四则运算题目的命令行 “软件”。实现 输入你要出题的个数,随机产生四则运算,然后用户回答,并且进行打分。
规则:用随机数实现100以内的加、减、乘、除运算,其中和与积不能超过100,差不为负(即须大减小),商不为小数或分数(即必须整除)。要求总计输出10个运算式,每输出一个运算式,等待输入结果,然后进行对错判断并输出。最后输出统计答对的题数与分
四、其他要求
1)在博客园https://www.cnblogs.com/注册个人账号,记录二个人的编程实现过程,遇到的问题及解决方法。
2)在github上托管二个人项目的代码,采用git对项目代码进行管理
创建一个简单的项目
为你的项目创建一个名为my-travel-plans的新目录。
使用git init将my-travel-plans目录转换成一个Git仓库。
创建一个README.md文件。
创建index.html。
创建app.css。
执行以下指令
git add.
git commit -m "my-travel-plans first commit"
git remote命令
git remote命令可以让你管理远程仓库和与之交互。
因为尚未配置远程仓库,那么运行此命令将不会显示任何内容。
在Github上托管
创建连接
git remote命令用于创建和管理远程仓库。所以我将使用一个命令,在我的本地仓库与GItHub账户上创建的远程仓库之间创建链接。
执行:
现在使用git remote -v来验证我已经正确添加了远程仓库。
使用git remote add命令添加了一个远程仓库的链接,用git remote -v检验是否一切正常。
将更改推送到远程仓库
执行git log --oneline,可以发现只有一个commit Head指向master
这些commit仅位于本地仓库,还未推送到远程仓库。
推送commit
要将本地commit推送到远程仓库,需要使用git push命令。
现在我们来看看GitHub仓库的页面:
在继续之前,我们来检查一下本地仓库,看看在推送更改后它有啥变化。
运行下列命令:
取回远程commit
现在我们比较本地仓库与远程仓库:
使用git pull拉取更改
本地commit在7a5b047处结束,而远程仓库有一个额外commit-commit85e39be
另外你,注意在我们的本地仓库中,当我们使用git log 命令时,origin/master分支仍然指向commit 7a5b047。
记住,origin/master分支不实时映射远程仓库master分支所在的位置。我们需要同步两个仓库。
git push会同步远程与本地仓库
运行git pull origin master会检索origin远程仓库master分支中的commit。