结对编程作业【猜字母小游戏】
我们使用的代码生成工具是ChatGPT(GPT-4),它支持自然语言需求输入,能快速生成代码并实时优化功能,适配小组协作的高效需求。guess = input(f"\n请输入你猜的字母(还剩{remaining}次机会):")print("游戏规则:我已经想好了一个字母(a-z),你有6次机会猜出它")print(f"角色B:{result},请重新输入")print(f"角色B:{result}
班级:23级计科本5班
小组成员:
202305050537陶培森
202305050544段瑞扬
202305050526李昱泽
一、作业背景
本次作业要求2-3人一组,使用代码自动生成工具完成结对编程,我们3人小组选择开发“猜字母小游戏”,并记录协作过程。
二、工具选择
我们使用的代码生成工具是ChatGPT(GPT-4),它支持自然语言需求输入,能快速生成代码并实时优化功能,适配小组协作的高效需求。
三、三人分工
- 陶陪森:负责梳理需求、向工具提交功能描述,对接代码生成环节
- 李昱泽:负责代码调试、测试异常场景(如输入非数字、边界值猜测)
- 段瑞扬:负责优化交互体验、整理演示截图、撰写博客内容
四、开发过程
1. 需求梳理与工具输入
陶培森牵头整理游戏需求,统一向ChatGPT提交:
“请用Python写一个猜字母小游戏:
1. 随机生成1-100的整数
2. 玩家输入字母后提示‘猜大/猜小’
3. 统计猜测次数,猜对后显示结果
4. 游戏结束后支持重新开始
5. 处理非字母输入的异常提示”
2. 代码生成与初步运行
ChatGPT返回初始代码后,陶培森将代码同步给小组,三人一起在Python环境中测试基础功能,确认核心逻辑正常运行(代码同之前版本)。
import random
import string
class LetterGenerator:
"""角色A:负责生成目标字母和判断猜测结果"""
def __init__(self):
# 生成一个随机字母(a-z)作为目标
self.target_letter = random.choice(string.ascii_lowercase)
print("角色A:已生成目标字母,开始游戏吧!")
def check_guess(self, guess):
"""检查用户猜测的字母是否正确"""
# 确保输入是小写字母
guess = guess.lower()
if len(guess) != 1 or not guess.isalpha():
return "请输入单个字母!"
if guess == self.target_letter:
return "正确"
elif guess < self.target_letter:
return "猜小了"
else:
return "猜大了"
class GameInterface:
"""角色B:负责用户交互和游戏流程控制"""
def __init__(self):
self.generator = LetterGenerator() # 与角色A协作
self.attempts = 0 # 记录猜测次数
def start_game(self):
"""开始游戏主循环"""
print("\n角色B:欢迎来到猜字母游戏!")
print("游戏规则:我已经想好了一个字母(a-z),你有6次机会猜出它")
while self.attempts < 6:
remaining = 6 - self.attempts
guess = input(f"\n请输入你猜的字母(还剩{remaining}次机会):")
# 调用角色A的方法检查结果
result = self.generator.check_guess(guess)
self.attempts += 1
if result == "正确":
print(f"恭喜你猜对了!用了{self.attempts}次")
return
elif result in ["猜小了", "猜大了"]:
print(f"角色B:{result},再试试!")
else:
print(f"角色B:{result},请重新输入")
self.attempts -= 1 # 无效输入不消耗次数
# 如果用完所有机会
print(f"\n游戏结束!正确答案是:{self.generator.target_letter}")
if __name__ == "__main__":
# 启动游戏
game = GameInterface()
game.start_game()
3. 分工优化与调试
- 段瑞扬提出优化交互语气,将“大了”改为“猜超啦~往小了试试!”,让体验更轻松
五、游戏演示
1.登录

2.输入边界值的提示

3.猜对后的次数展示

六、三人协作总结
3人分工让流程更高效:需求对接、代码调试、内容整理同步推进,既节省了时间,也能从不同角度优化游戏体验。代码生成工具帮我们省去了基础逻辑的编写,让小组更聚焦于协作和细节打磨。
更多推荐


所有评论(0)