结对编程阶段二

一、实验目标
  1)体验敏捷开发中的两人合作。

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

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

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

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

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

三、博文内容

1、代码规范

模块

  • 模块尽量使用小写命名,首字母保持小写,尽量不要用下划线(除非多个单词,且数量不多的情况)

类名

  • 类名使用驼峰(CamelCase)命名风格,首字母大写,私有类可用一个下划线开头

函数

  • 函数名一律小写,如有多个单词,用下划线隔开

变量名

  • 变量名尽量小写, 如有多个单词,用下划线隔开

常量

  • 常量使用以下划线分隔的大写命名

2、程序的总体设计(附图说明模块之间的关系)

我们运用了PYGAME这个库来建立这个程序,程序主要由页面,游戏演算,以及结果显示三个模块组成。

这三个模块再在程序中相互作用的情况如下

3、程序结对编程过程(附图)及功能实现情况(附代码和图)

部分讨论过程:

程序:

import pygame
import sys

BLACK, WHITE, GRAY = (0, 0, 0), (255, 255, 255), (200, 200, 200)
pygame.init()
pygame.display.set_caption("生命游戏,按空格演化")
screen = pygame.display.set_mode((500, 500))
icon = pygame.image.load("1234.png")
pygame.display.set_icon(icon)

def init_screen():
screen.fill(WHITE)
for i in range(50):
pygame.draw.line(screen, GRAY, (i*10, 0), (i*10, 500))
pygame.draw.line(screen, GRAY, (0, i*10), (500, i*10))
pygame.display.update()
def kin_count(x,y):
count=0
kins=[(x-10,y-10),(x-10,y),(x-10,y+10),(x,y-10),(x,y+10),(x+10,y-10),(x+10,y),(x+10,y+10)]
kins=[(x,y) for x,y in kins if 0<x<500 and 0<y<500]
for kin in kins:
if screen.get_at(kin)==BLACK:
count=count+1
return count

init_screen()
cells =[]
turn=1
while True:
for event in pygame.event.get():
if event.type==pygame.QUIT:
sys.exit()
if event.type==pygame.MOUSEBUTTONUP:
if screen.get_at(event.pos)==WHITE:
x,y=event.pos
cellx,celly=x-x%10,y-y%10
cell=pygame.Rect(cellx,celly,10,10)
pygame.draw.rect(screen,BLACK,cell)
cells.append((cellx,celly))
pygame.display.update()
if event.type==pygame.KEYDOWN:
if event.key==pygame.K_SPACE:
clock=pygame.time.Clock()
clock.tick(10)
while len(cells)>0:
pygame.display.set_caption("生命游戏第%s轮" % turn)
turn=turn+1
for x in range(5,500,10):
for y in range(5,500,10):
if screen.get_at((x,y))==BLACK:
if kin_count(x,y) not in [2,3]:
cells.remove((x-5,y-5))
else:
if kin_count(x,y)==3:
cells.append((x-5,y-5))
init_screen()
for cellx,celly in cells:
cell=pygame.Rect(cellx,celly,10,10)
pygame.draw.rect(screen, BLACK, cell)
pygame.display.update()
break

运行结果:

这里仅以部分来表示:

4、项目github地址(附图)

https://github.com/400mchillbo1/pokemonmaster11


5、实验总结

相对于自己编程,结对编程效率与对程序的多方了解提升了很多,通过与队友协作编程,很多在编程过程中遇到的问题也变得很轻松就可以解决。编程中,拥有一个拍档可以多一个视角去看待问题,所谓三个臭皮匠顶个诸葛亮。结对编程可以把几个人的优点融合到一起,把个人的缺点,通过集体来发现并改正。总而言之,本次实验是一次重要的经历,让人收获颇丰。

原文地址:https://www.cnblogs.com/KSMS123/p/12638671.html

时间: 2024-07-30 13:26:49

结对编程阶段二的相关文章

结对编程 阶段二

结对编程(阶段二) 一.实验目标1)体验敏捷开发中的两人合作. 2)进一步提高个人编程技巧与实践. 二 .实验内容1)根据以下问题描述,练习结对编程(pair programming)实践: 2)要求学生两人一组,自由组合.每组使用一台计算机,二人共同编码,完成实验要求. 3)要求在结对编程工作期间,两人的角色至少切换 4 次: 4)编程语言不限,版本不限.建议使用 Python 或 JAVA 进行编程. 博客内容应该包括:1.代码规范 在主函数中我们选定了一个4*4的矩阵,并将矩阵中邻居状态进

结对编程(二)

结对对象:吴鹏宇2013110438 博客地址:http://www.cnblogs.com/wpy0032/ 双方贡献比例:  1:1 结对照片 题目: 构造程序,分别是: •不能触发Fault. •触发Fault,但是不能触发Error. •触发Error,但是不能产生Failure. 源程序 提示用户输入两个值,两个值必须在0~100,若不满足条件则提示错误,若两个值都小于10,则输出输入都小于10,程序退出.否则根据输入的值判断使用加法还是减法,若输入的第一个数小于第二个数,则使用减法计

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

一.实验目标: 1)体验敏捷开发中的两人合作. 2)进一步提高个人编程技巧与实践. 二 .实验内容: 1)根据以下问题描述,练习结对编程(pair programming)实践: 2)要求学生两人一组,自由组合.每组使用一台计算机,二人共同编码,完成实验要求. 3)要求在结对编程工作期间,两人的角色至少切换 4 次: 4)编程语言不限,版本不限.建议使用 Python 或 JAVA 进行编程. 三.问题描述 四则运算:开发一个自动生成小学四则运算题目的命令行 “软件”.实现 输入你要出题的个数,

实验二 结对编程(阶段一)

实验记录—第一阶段 自我学习Github的相关知识的记录: https:////www.cnblogs.com/Incoming22/p/12419553.html 一.查阅资料    ?? 查阅相关资料加深对敏捷开发的和结对编程的理解: 1.敏捷开发 (1)概念: 敏捷开发以用户的需求进化为核心,采用迭代.循序渐进的方法进行软件开发.在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视.可集成和可运行使用的特征.换言之,就是把一个大项目分为多个相互联系,但也

实验二 结对编程第一阶段

结对编程:第一阶段 ***一.实验目标:*** 1)体验敏捷开发中的两人合作. 2)进一步提高个人编程技巧与实践. ***二 .实验内容:*** 1)根据以下问题描述,练习结对编程(pair programming)实践: 2)要求学生两人一组,自由组合.每组使用一台计算机,二人共同编码,完成实验要求. 3)要求在结对编程工作期间,两人的角色至少切换 4 次: 4)编程语言不限,版本不限.建议使用 Python 或 JAVA 进行编程. ***三.第一阶段:*** ***1) 组队:*** 我的

实验二结对编程 第一阶段

一.实验目标: 1)体验敏捷开发中的两人合作. 2)进一步提高个人编程技巧与实践. 二 .实验内容: 1)根据以下问题描述,练习结对编程(pair programming)实践: 2)要求学生两人一组,自由组合.每组使用一台计算机,二人共同编码,完成实验要求. 3)要求在结对编程工作期间,两人的角色至少切换 4 次: 4)编程语言不限,版本不限.建议使用 Python 或 JAVA 进行编程. 三 .问题描述: 我选择的问题是四则运算,具体要求如下: 开发一个自动生成小学四则运算题目的命令行 “

实验二 结对编程 第一阶段

一.实验目标: 1)体验敏捷开发中的两人合作. 2)进一步提高个人编程技巧与实践. 二 .实验内容 1)根据以下问题描述,练习结对编程(pair programming)实践: 2)要求学生两人一组,自由组合.每组使用一台计算机,二人共同编码,完成实验要求. 3)要求在结对编程工作期间,两人的角色至少切换 4 次: 4)编程语言不限,版本不限.建议使用 Python 或 JAVA 进行编程. 三.实验过程 1)查阅相关资料加深对敏捷开发和结对编程的理解: 敏捷开发:敏捷开发是一种从1990年代开

实验二 结对编程(阶段二)

一.实验目标: 1)体验敏捷开发中的两人合作. 2)进一步提高个人编程技巧与实践. 二 .实验内容: 1. 1)根据以下问题描述,练习结对编程(pair programming)实践: 2)两个学生组合,每人使用一台计算机,二人共同编码,完成实验要求. 3)针对课题查阅相关资料,加深对课题的理解: 4)在结对编程工作期间,两人的角色至少切换 4 次: 5)实验过程中合作编程两人互相探讨后采用开发平台和技术,语言工具,准备实验开展工作: 6)做好试验记录和分析工作. 2.问题描述 四则运算 开发一

结对编程(阶段二)

一.实验目标 1)体验敏捷开发中的两人合作. 2)进一步提高个人编程技巧与实践. 二 .实验内容 1)根据以下问题描述,练习结对编程(pair programming)实践: 2)要求学生两人一组,自由组合.每组使用一台计算机,二人共同编码,完成实验要求. 3)要求在结对编程工作期间,两人的角色至少切换 4 次: 4)编程语言不限,版本不限.建议使用 Python 或 JAVA 进行编程. 三.问题描述(生命游戏) 生命游戏是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机,它包括一个