第七章:动手创造
恭喜!你已经掌握了 Python 的基础工具:变量、条件判断、循环、列表和函数。现在是时候把这些"乐高积木"拼成一件完整的作品了。
本章我们将从零开始,一步一步打造一个 文字冒险游戏——你在终端里探索神秘城堡、收集道具、解开谜题!
准备好了吗?先运行下面的代码,感受一下最终成品的效果。
7.1 项目拆解:从零开始搭积木
上一节的完整游戏看起来很复杂?别担心,我们一块块来拆解。每个零件你其实都学过了:
| 游戏零件 | 用到的 Python 知识 |
|---|---|
| 房间地图 | **列表** 和 **字典**(上面用字典,稍后详解) |
| 玩家移动 | **条件判断**(if/else) |
| 游戏主循环 | **while 循环** |
| 道具系统 | **列表**(inventory) |
| 上锁的门 | **条件判断** + **列表查找** |
| 各模块封装 | **函数** |
7.2 第一步:搭一个最简单的地图
先不要管道具和锁。从一个最简单的"能走动的房间"开始:
💡 字典(dict) 是 Python 的另一个重要数据结构。它和列表的区别:列表用数字编号(索引),字典用名字(键)来索引。比如
map_data["门外"]通过名字拿到对应的值。
7.3 第二步:加入道具收集系统
7.4 第三步:加上锁的门
7.5 完整游戏结构回顾
`` 🏰 文字冒险游戏 ├── 游戏数据层 │ ├── rooms(房间地图) │ ├── inventory(背包列表) │ └── game_over(是否结束) ├── 游戏逻辑层 │ ├── show_room() — 展示房间信息 │ ├── process_command() — 处理玩家指令 │ └── move / pick / use — 具体动作 └── 游戏循环层 └── while not game_over ``
三层架构的好处:想加新房间?只改 rooms 字典。想加新指令?只改 process_command 函数。互不影响。
7.6 动手练习
练习 1:在城堡游戏里添加一个新房间「地下室」,里面藏着一件稀有道具「夜光宝石」。
>
练习 2:给游戏添加一个
"查看"指令,让玩家可以查看当前房间的详细信息。
>
练习 3(挑战):给游戏添加一个怪物系统——某些房间有怪物,玩家需要先收集「宝剑」才能通过。
7.7 你的下一步
从 print("Hello, World!") 到你刚刚创造出一个完整的文字冒险游戏——这不到 7 章的距离,你已经完成了从"编程小白"到"能动手创造"的飞跃。
接下来你可以:
| 方向 | 你可以…… |
|---|---|
| 🎮 **继续完善游戏** | 加更多房间、更多道具、NPC(非玩家角色)对话系统 |
| 🔢 **挑战算法题** | 去 LeetCode、牛客网刷刷 Python 简单题 |
| 🖥️ **做个小工具** | 写一个批量重命名文件的脚本,或者一个计算器 |
| 🕸️ **学 Web 开发** | 用 Flask 或 FastAPI 把你的游戏做成网页版 |
| 🤖 **探索 AI** | 用 Python 调用 OpenAI 等大模型 API,做个聊天机器人 |
编程的世界是无限广阔的,而你已经拿到了最重要的钥匙:用代码创造东西的能力。
7.8 趣味编程结语
| 你在趣味编程中学会了 | 具体内容 |
|---|---|
| ✅ 变量 | 给数据贴上标签,随时取用 |
| ✅ 条件判断 | `if/elif/else`,让程序做选择 |
| ✅ 循环 | `for/while`,自动化重复任务 |
| ✅ 列表 | 收纳大量数据,增删改查一手搞定 |
| ✅ 函数 | 封装代码,打造可复用的工具箱 |
| ✅ 综合项目 | 将以上所有技能融合,创造出完整应用 |
🎉 恭喜你完成了「趣味编程」全部内容! 接下来可以继续选学「人工智能」模块,在 Python 的世界里继续探索。
本章内容基于 [Python 官方教程](https://docs.python.org/3/tutorial/) 改编,遵循 PSF License 许可。