PYTHON · 游戏开发作业

用 AI 编写
两个经典猜数字小游戏

从「让 AI 写出第一段代码」开始,一步步加上难度、排行榜、计时、技能系统——最终把满意的成果保存为 猜数字.py 并提交。

2个经典游戏
5+个扩展方向
1个提交文件
1

经典游戏一:猜数字

计算机随机定一个数字,你在命令行里猜,它只告诉你「大了 / 小了 / 对了」。

🎲 玩法规则

1️⃣

设定范围

出题者心里想一个 1~100 的数字,保密不让对方知道。

2️⃣

轮流猜测

猜题者报一个数字,出题者只回答「大了」「小了」或「对了」。

3️⃣

缩小范围

据提示不断调整,如先猜 50,大了就在 1~49 里继续,用二分法最快。

4️⃣

获胜条件

谁先猜中谁赢,通常限定猜测次数来增加难度。

🧩 逐步扩展:从 0 到完整版

1

基础阶段 —— 先跑起来

让 AI 帮你写出最朴素的猜数字游戏,能随机出题、能判断大小、能循环猜到对为止。

帮我写一段 python 代码,编一个猜数字的小游戏
2

增加难度选择

用三个难度档位控制数字区间和机会次数,让游戏有明确的挑战梯度。

难度数字区间机会次数
简单1 ~ 5020 次
普通1 ~ 1007 次
困难1 ~ 1005 次
增加游戏难度选择,简单难度:数字区间是1-50,机会次数有20次。普通难度:数字区间是1-100,机会次数有7次。困难难度:数字区间是1-100,机会次数是5次。
3

增加排行榜

游戏结束时输入玩家名字,把「猜的次数」记录下来,按次数升序排行;没猜中的不进榜。

给游戏加入排行榜功能,游戏结束时输入玩家名字,保存猜的次数,按次数升序排行。未猜中不排名。
4

增加游玩时间计分

记录通关耗时,排行榜先按次数升序,再按通关时间升序,又快又少才是真高手。

给游戏增加游玩时间计分功能,排行榜优先按次数升序排行,其次按通关时间升序排名。
5

增加技能系统(自由度最高的一步)

按 H 键释放技能 「50/50」:把当前区间对半分,去掉不含正确答案的那一半。例如区间是 1~100,答案是 30,使用后直接砍掉 51~100。

增加一个帮助技能,按H键能使用这个技能,技能的名字是50/50,功能是去掉不包含正确答案的另外一半备选数字,比如数字区间1-100,分成1-50与51-100,如果正确数字是30,则使用技能后去除51-100这个备选数字区间。可以自行创作其他技能或使用技能的条件
💡

技能还能怎么设计?

比如「透视」消耗 1 次机会直接看到答案的个位;「重启」清空使用次数但有冷却;「分身」一次猜两个数——技能的代价、次数限制、触发条件都可以自己定,越有创意越好。

🏆 排行榜长这样(示意)

#玩家次数用时
1Yuanbao4 次00:12
2小A5 次00:15
3小B5 次00:21
4小C6 次00:18
2

经典游戏二:猜四位数字(Mastermind)

想一个四位不重复数,用「xAyB」的线索一步步推理出真相。

🎯 玩法规则 ↓ 选中文字即可整段复制到 AI 对话框

1. 出题规则:想一个不重复的四位数(如 1234),首位不能为 0。

2. 猜测反馈:你输入四位数,系统回复「xAyB」,其中 A 代表数字和位置都对,B 代表数字对但位置不对。

3. 推理过程:例如答案是 5234,你猜 5346,系统回复 1A2B(5 位置对,3 和 4 位置错),继续推理直到 4A0B。

4. 难度变化:有的版本允许数字重复,有的限制猜测次数,最多 7 次左右通常能猜出。

📝 基础提示词

帮我写一段 python 代码,根据玩法介绍编一个猜数字游戏

💡 参考扩展建议

允许重复:数字可重复,增大组合空间 限次挑战:最多 7~10 次,超次判负 难度分级:3 位 / 4 位 / 5 位 提示模式:仅给 A,或隔轮才给 B 双人 PK:两人轮流猜,先破者胜 计时排行:通关用时 + 次数双榜 线索技能:消耗机会换一个正确数字 AI 出题:让程序当出题者并自适应
✦

扩展功能灵感库

这些点子两个游戏都能用,也可以自己加新玩法。

🎚️ 难度系统

多档区间与机会次数、允许/禁止重复数字、首位是否可为 0。

🏅 排行榜

记录玩家名 + 次数 + 用时,按次数升序、用时升序排序,未通关不进榜。

✨ 技能系统

50/50 砍半区间、透视、重启、分身等,配冷却与次数限制。

⏱️ 计分与计时

通关耗时记录、连胜/积分体系,丰富长期可玩性。

▶

试玩 Demo:网页版猜数字

直接在页面上体验核心玩法(随机出题 + 大小提示 + 次数/计时)。

🎯 猜数字(1~100)

我想好了一个 1~100 之间的数字,开始猜吧!
∞剩余机会
0已猜次数
0s用时

💡 思路:二分法

别从头往上数,每次都猜当前区间正中间的数:

# 二分法伪代码
lo, hi = 1, 100
while lo <= hi:
    mid = (lo + hi) // 2
    if mid == ans:  # 猜中了
        break
    elif mid < ans: # 小了
        lo = mid + 1
    else:            # 大了
        hi = mid - 1

📤 作业提交要求

自行测试到满意后,保存为下面的两个文件并提交。

猜数字1.py 猜数字2.py

「猜数字1.py」对应经典游戏一(猜数字),「猜数字2.py」对应经典游戏二(猜四位数字)。