Python 进阶
项目:文字冒险游戏(上)
就用面向对象写个文字冒险游戏的框架。
- 设计游戏类结构
- 实现房间和玩家系统
- 实现基本移动和查看
项目设计
我们用OOP设计一个文字冒险游戏:
Room 类:房间有名称、描述、出口、物品
Player 类:玩家有位置、背包
Game 类:游戏主循环,处理命令
Room 和 Player 类
示例代码(可运行)
Python 0%
预测输出
class Box:
def __init__(self):
self.items = []
b = Box()
b.items.append("key")
print(len(b.items))填空题填写空白处的代码
class Player:
def __init__(self, start):
self. = start
选择题
房间出口用什么数据结构?
资深工程师加餐
底层原理 · 大厂视角 · 工程经验,点卡片展开
内层函数(或 lambda)捕获的是外层变量本身,而不是定义那一刻的值;循环里定义的多个函数,循环结束后调用往往都拿到最后的值。解决办法是用默认参数 f(x=x) 立即绑定,或用工厂函数包一层。配合 LEGB 作用域顺序(局部→外层→全局→内建)理解,90% 的作用域谜题都能解开。
挑战任务
游戏框架
简单+50 XP
实现Room和Player类,创建3个房间并移动。
游戏框架
Python 0%
2 个测试用例
课后作业
更多房间
中等+20 XP
创建5个房间的地图,支持双向移动。
更多房间
Python 0%
1 个测试用例