学生玩法
1. 进入关卡
- 打开 https://3d.lebiantiku.com,进入「关卡列表」。
- 点击任意已解锁的关卡卡片进入闯关页。
- 关卡按顺序解锁:第一关默认解锁,后续关卡需要先通关前一关(列表里锁定的卡片会提示「需先通关:xxx」)。
提示:卡片上会显示「未开始 / 进行中 / 已通关」状态。锁定的关卡点不进去,请先完成前置关卡。
2. 编写程序
- 积木模式:从左侧拖出积木拼接。可用的积木包括移动、移动到指定位置、旋转、设置颜色等。
- 代码模式:直接编写 Python。常用写法:
robot.move(2, 0, 0) # 相对移动:x 方向前进 2
robot.move_to(4, 0.5, -3) # 绝对移动:移动到坐标 (4, 0.5, -3)
robot.rotate('y', 90) # 绕 y 轴旋转 90 度
robot.set_color('#00ff00') # 改成绿色
print(robot.get_position()) # 打印当前位置
- 代码里可以直接用物体 id 作为变量名(如
robot、block),也可以用get_object('robot')获取同一个物体。 wait(秒)可以让程序暂停一会儿(用于演示动画)。「速度」滑块可以整体加速或放慢执行。
3. 运行与调试
底部运行控制条提供:
| 按钮 | 作用 |
|---|---|
| ▶ 运行 | 从头执行当前程序,结束后自动判定 |
| ⏸ 暂停 / ▶ 继续 | 运行中暂停、再点继续 |
| ⏭ 单步 | 一次执行一条语句,适合逐步观察 |
| ✔ 判定当前场景 | 不运行代码,直接按当前场景状态判定(配合拖拽模式很好用) |
| ↺ 重置场景 | 把所有物体恢复到关卡初始状态 |
| 🖐 拖拽模式 | 开启后可用鼠标拖动动态物体(静态物体拖不动) |
| 🎥 重置视角 | 把摄像机恢复到关卡默认视角 |
- 右侧「运行结果」面板会显示:通关状态、逐条件判定明细(每条条件的实际值 / 目标值 / 容差)、
print输出与错误提示。 - 如果程序有语法错误或触发安全护栏(如死循环),会给出明确的中文提示并停止,不会卡死页面。
4. 怎么算通关
每个关卡都配置了一组判定条件,程序运行结束后(或点「判定当前场景」时)会逐条检查:
- 条件之间可以是「全部满足(AND)」或「满足任一(OR)」。
- 常见的条件类型有:位置
position、旋转rotation、颜色color、碰撞collision、数量count。 - 判定使用容差(例如位置默认允许 0.8 的误差),不会要求完全相等。
全部命中即「🎉 通关」,进度会被自动记录。
提示:物理关卡(如「让方块落到平台上」)进入页面后物理会自动开始模拟,方块会自己下落;点击「运行」时程序结束后会先等物理稳定(约 1.5 秒)再判定,也可以直接用「判定当前场景」按当前状态判定。如果结果不对,先点「重置场景」再观察。
5. 保存作品与分享
- 点击「💾 保存作品」:会把当前代码和 3D 画布截图打包保存,并生成一个分享链接(保存在本机剪贴板),可以把链接发给同学一起看。
- 点击「📁 我的作品」:查看自己保存过的作品列表,点「打开」进入分享页。
- 分享页(
/work/<分享标识>)免登录可访问,会展示作品标题、作者、代码、截图,并支持「▶ 在线重放」——在护栏内重新执行作品代码并给出判定结果。
提示:保存作品与云端存档都需要先登录;未登录时点击会提示登录。