网友作品 #000215 · 提交于 2026/09/05
大鱼吃小鱼:Python海底成长闯关小游戏
★★★★★程序员水平AI 编程工具国内顶级模型python




1 / 4
作品简介
大鱼吃小鱼是一款给小朋友做的海底成长小游戏,核心玩法是“吃小鱼,躲大鱼,越长越大”:鼠标控制小鱼游动,吃掉比自己小的鱼会变大、得分,碰到比自己大的鱼会掉一条命,三条命用完游戏结束。吃豆子可额外加分(小豆 +100、金豆 +200),按体型给分(小鱼 +200 / 中鱼 +300 / 大鱼 +500)。
游戏面向 9 岁左右小朋友设计,操作只有鼠标移动、空格放技能、P/ESC 暂停、F11 全屏。闯关模式共 8 关,每关有分数目标(从第 1 关 1000 分到第 8 关 21000 分,逐关变难),通关后可进入无限模式继续冲最高分。需要注意海里的鱼群会跟着玩家一起长大——你越大,大鱼也越大,永远有要躲的对手。
核心亮点
- 6 种角色鱼各带专属技能:小丑鱼“橙橙”吃鱼得分 +20%、鲨鱼“大力”可吃范围 +15% 还能吃掉比自己大的鱼、电鳗“皮卡”放电清场、河豚“球球”膨胀三秒吃大鱼、灯笼鱼“亮亮”发光吸引小鱼、旗鱼“飞飞”全力冲刺
- 技能冷却机制:HUD 左下角倒计时进度条,灰色“冷却中”、绿色“按空格使用”、黄色“生效中”,帮助孩子理解资源管理
- 8 关闯关 + 无限模式:每关分数目标递增、大鱼越来越多,通关后可继续挑战最高分
- 每条鱼独立最高纪录:记录保存在本地 records.json,鼓励把 6 条鱼都玩一遍
- 窗口自由缩放:窗口可最大化、任意拖动,画面等比缩放不变形,F11 切换全屏
- 打包成 exe 即玩:PyInstaller 打包后双击运行,拷贝整个文件夹给孩子即可,无需安装 Python
技术与工具
- 开发语言:Python(游戏源码位于 src/fish_game/,按模块组织)
- 项目管理:uv(uv sync 装依赖、uv run fish-game 启动、uv run pytest 跑测试、ruff 做代码检查)
- 测试:包含单元测试与全流程冒烟测试
- 打包:PyInstaller 打包为带图标的 Windows exe(–windowed 无控制台)
- 开发方式:AI 编程类工具 + 国内顶级 AI 模型,通过与 AI 多轮对话迭代完成
适用场景
- 亲子编程启蒙:把 AI 编程当作亲子时间,让孩子在玩游戏的过程中对 AI 与编程产生兴趣
- 儿童休闲小游戏:操作简单(鼠标 + 空格),适合 9 岁左右的小朋友
- AI 辅助开发入门案例:从需求描述到打包分发,完整演示了一次对话式游戏开发
原始提交内容(点开查看,可复制全文去问 AI)
大鱼吃小鱼
给小朋友做的海底成长小游戏:吃小鱼,躲大鱼,越长越大!
- 适配对象:9 岁左右小朋友(操作简单:鼠标控制、空格放技能)
- 运行方式:打包成 exe 后双击即玩,无需安装任何软件
怎么玩
- 鼠标控制小鱼游动,吃比自己小的鱼会变大、得分
- 碰到比自己大的鱼会掉一条命,三条命用完游戏结束
- 吃豆子额外加分:小豆 +100 分,金豆 +200 分
- 鱼越大得分越多:小鱼 +200 / 中鱼 +300 / 大鱼 +500
- 空格键释放技能,P 或 ESC 打开暂停菜单
闯关模式(共 8 关)
每关都有分数目标,攒够分数就过关,逐关变难(大鱼越来越多):
| 关卡 | 分数目标 | 关卡 | 分数目标 |
|---|---|---|---|
| 第 1 关 | 1000 | 第 5 关 | 8800 |
| 第 2 关 | 2200 | 第 6 关 | 12000 |
| 第 3 关 | 3800 | 第 7 关 | 16000 |
| 第 4 关 | 6000 | 第 8 关 | 21000 |
通关后出现胜利画面,可继续挑战(无限模式冲最高分)或回主页。
注意:鱼群会跟着你一起长大——你越大,海里的大鱼也越大,永远有要躲的对手,不会出现“全图无敌”。
注意:鱼群会跟着你一起长大——你越大,海里的大鱼也越大,永远有要躲的对手,不会出现“全图无敌”。
6 种角色鱼
| 鱼 | 昵称 | 技能 |
|---|---|---|
| 小丑鱼 | 橙橙 | 吃鱼得分 +20% |
| 鲨鱼 | 大力 | 可吃范围 +15%,能吃掉比自己大的鱼 |
| 电鳗 | 皮卡 | 放电:电击吃掉周围小鱼,弹开大鱼(冷却 8 秒) |
| 河豚 | 球球 | 膨胀变大三秒,瞬间能吃更大的鱼(冷却 10 秒) |
| 灯笼鱼 | 亮亮 | 发光吸引周围小鱼游过来(冷却 12 秒) |
| 旗鱼 | 飞飞 | 全力冲刺(冷却 6 秒) |
每条鱼都有独立的最高纪录,鼓励把 6 条鱼都玩一遍。
技能冷却是什么
技能用一次后不能马上再用,要等冷却时间结束(HUD 左下角有倒计时进度条):
- 冷却中:进度条灰色 + “冷却中 X 秒”
- 冷却结束:进度条变绿 + “按 空格 使用”
- 生效中:进度条变黄 + “生效中!”
开始游戏(开发者模式)
# 首次运行
uv sync
# 启动游戏
uv run fish-game
# 运行测试与代码检查
uv run pytest
uv run ruff check src tests
打包成 exe
uv run pyinstaller --noconfirm --windowed --name "大鱼吃小鱼" \
--icon assets/icon.ico --paths src src/fish_game/main.py
产物在 dist/大鱼吃小鱼/大鱼吃小鱼.exe,双击即可运行。
把整个 dist/大鱼吃小鱼 文件夹拷给儿子即可,不用装 Python。
文件说明
| 路径 | 说明 |
|---|---|
src/fish_game/ |
游戏源码 |
data/records.json |
每条鱼的最高纪录(自动生成,删掉就清零) |
assets/icon.png |
游戏图标 |
tests/ |
单元测试与全流程冒烟测试 |
窗口与全屏
- 窗口可以最大化、任意拖动大小,画面会等比缩放不变形(宽屏两侧会有深色留边)
- 按 F11 切换全屏 / 窗口
操作速记
| 按键 | 作用 |
|---|---|
| 鼠标 | 控制游动方向 |
| 空格 | 释放技能 |
| P / ESC | 暂停菜单(可继续或退出到主页) |
| F11 | 全屏 / 窗口切换 |
| ESC | 开始界面时退出游戏 |