在好学好教和 OJ 编辑器中一键插入 Scratch 积木:录题与备课更方便了

好学好教少儿编程教学平台和配套 OJ 系统,最近在 Markdown 编辑器中新增了一个更方便的功能:Scratch 积木快捷插入板
以前,如果我们要在课程内容、题目解析、测评试题或教研材料中插入 Scratch 积木,通常需要手动输入类似下面这样的文本:

  1. 如果<>那么
  2. 结束

或者:

  1. 重复执行(10)次
  2. 结束

这些文本会渲染成对应的 Scratch 积木图片。这个方式非常灵活,也适合做教案、题目、解析和伪代码展示。但对于不熟悉scratch积木语法的老师来说,括号、条件、变量、控制结构的写法仍然需要一定记忆成本,而且每次输入还是有点麻烦。
这次新增的功能,就是为了解决这个问题:老师不必再记住每个积木的文本写法,可以像在 Scratch 里选择积木一样,在编辑器中点选并插入。

为什么需要这个功能?

在少儿编程教学中,Scratch 积木经常出现在以下场景:

  1. 课程讲义中展示程序片段
  2. 题库中编写 Scratch 选择题、判断题和填空题
  3. 解析中解释某个积木的执行逻辑
  4. 教师备课时编写 Scratch 伪代码
  5. 学生测评中展示程序结构
  6. OJ 系统中维护 Scratch 阶段测评题

过去我们已经支持用文本生成 Scratch 积木,这比截图更灵活。因为截图一旦程序有变化,就要重新打开 Scratch、调整积木、截图、裁剪、上传,整个过程比较繁琐。
而使用 编辑器 + Scratch积木代码 的方式,只需要改文本,积木图片就会重新生成。
这次新增的“积木”按钮,相当于在原来的文本能力上,再加了一层可视化辅助:既保留文本编辑的灵活性,又降低输入门槛。

使用方法

在我们oj系统和新LMS系统的编辑器中,工具栏会出现一个新的按钮:
积木
它通常会显示在“插入公式”按钮旁边。点击后,会从右侧打开 Scratch 积木面板。
面板分为两列:

  • 左侧:积木分类
  • 右侧:当前分类下的积木列表

目前支持的分类包括:

  • 运动
  • 外观
  • 声音
  • 事件
  • 控制
  • 侦测
  • 运算
  • 变量
  • 自制积木
  • 画笔
  • 音乐

点击某个积木后,系统会把对应的 Scratch积木代码 文本插入到当前 Markdown 编辑器的光标位置。
例如,点击“重复10次”,会插入:

  1. 重复执行(10)次
  2. 结束

在编辑器右侧的预览界面就会自动渲染出下面的图片:

点击“碰到鼠标指针”,会插入:
<碰到[鼠标指针 v]?>
预览界面会出现下面的图片:

对控制积木做了更自然的处理

Scratch 中有些积木是单行的,例如:
移动(10)步
有些积木则需要包含内部代码,例如:

  1. 如果<>那么
  2. 结束

这类控制积木最容易输入出错。现在点击“如果 那么”“如果 否则”“重复执行”“重复执行直到”等积木时,系统会自动插入多行结构,并保留中间空行,方便老师继续在里面插入其他积木。
例如先插入:

  1. 重复执行(10)次
  2. 结束

然后把光标放到中间空行,再点击“移动 10 步”,会更自然地插入到循环内部。

行内积木不会强行换行

还有一类积木不是独立语句,而是要放到其他积木里面的,例如:
<碰到[鼠标指针 v]?>
(回答)
(造型[编号 v])
这些通常用于条件、运算或输入框中。系统已经对这类积木做了区分:点击后不会额外换行,而是尽量插入到当前光标所在的位置。
例如:

  1. 如果<>那么
  2. 结束

当光标在 <> 中间时,点击“碰到鼠标指针”,会变成:

  1. 如果<碰到[鼠标指针 v]?>那么
  2. 结束

这样更符合 scratch积木 的书写习惯。

自动处理变量和输入框括号

在scrach积木代码中,圆括号 ()、方括号 [] 和尖括号 <> 各有不同含义。
例如:
说[你好](2)秒
这里的 [你好] 是一个普通文本值。
如果要把“你好”替换成变量,则应该写成:
说(变量)(2)秒
也就是说,变量不能简单塞进 [] 中,否则会被当成普通字符串。
这次新增的插入功能,也考虑了这类情况。当光标位于某些输入框中时,系统会尽量根据插入内容自动使用更合适的括号形式,减少手工调整。

支持 OJ 题库维护和自动解析试题

除了课程编辑,这个功能也已经集成到 OJ 后台中。
在维护 Scratch 试题时,管理员经常需要处理题面、选项、解析中的 Scratch 程序片段。现在可以直接在题目编辑器中打开“积木”面板,快速插入标准的 Scratch积木代码。
同时,试题详情中也增加了 Markdown 格式的复制能力。管理员可以从已有试题中复制题面和选项,再粘贴到新增试题页面,通过“自动解析试题”快速拆分题干和选项。
这对于批量整理 Scratch 测评题、阶段测评题和信息科技课程题库,会节省不少重复操作。

和直接截图相比,有什么优势?

使用 Scratch 积木文本编辑,而不是截图,有几个明显好处:

  1. 修改方便
    程序片段有调整时,只需要改文本,不需要重新截图。
  2. 显示统一
    所有题目和课程中的积木风格一致,不会因为截图尺寸、背景、清晰度不同而显得混乱。
  3. 适合伪代码
    有些教学内容并不适合给出完整程序,而是希望展示半成品结构或关键逻辑。文本方式更适合编写 Scratch 伪代码。
  4. 适合题库复用
    题目、解析、选项都可以保留 Markdown 源文本,后续复制、解析、调整更方便。
  5. 更适合长期维护
    对于机构课程、校本课程、信息科技题库来说,内容往往会持续迭代。文本化的积木比图片更容易维护。

一个简单示例

假设我们想在题目解析中展示下面这个逻辑:
“当角色碰到鼠标指针时,说一句提示语。”
可以通过积木面板依次插入:

  1. 点击绿旗时
  2. 重复执行
  3. 如果<碰到[鼠标指针 v]?>那么
  4. 说[你找到我了](2)秒
  5. 结束
  6. 结束

这个文本在编辑器预览中会渲染成 Scratch 积木,既清晰,又方便后续修改。下面是渲染后的结果(用户真正看到的效果):

适合哪些用户?

这个功能尤其适合:

  • 少儿编程机构老师
  • Scratch 课程教研人员
  • 信息科技教师
  • 题库维护人员
  • OJ 系统管理员
  • 需要制作 Scratch 测评题的教务人员
  • 需要编写 Scratch 解析和课程材料的老师

如果老师熟悉 Markdown,可以直接手写;如果不熟悉,也可以通过“积木”面板点击插入。两种方式可以同时使用。

常见问题

1. 这个功能生成的是图片还是文本?

编辑时插入的是 Scratch积木代码 文本,预览或展示时会渲染成 Scratch 积木效果。这样既方便编辑,也方便展示。

2. 可以自己调整插入的积木文本吗?

可以。点击积木只是帮你插入一段默认文本,插入后仍然可以手动修改里面的数字、变量、下拉选项和文字。

3. 支持画笔和音乐扩展吗?

支持。当前积木面板中已经加入了“画笔”和“音乐”两个分类,后续也可以继续补充更多积木图片和默认文本。

4. 为什么有些积木会自动换行,有些不会?

独立执行的积木会按语句方式插入;条件、变量、运算等积木通常用于嵌入其他积木内部,因此不会强行换行。

5. OJ 题库中也可以使用吗?

可以。这个功能已经集成到 OJ 后台和 edu 系统中使用 Cherry Markdown 的相关位置,适用于题目、选项、解析、课程内容等编辑场景。

小结

这次新增的 Scratch 积木快捷插入功能,并不是替代原来的文本编辑方式,而是让原来的 Scratch积木代码能力更容易使用。
对于熟悉语法的老师,可以继续直接输入;对于不熟悉语法的老师,可以通过积木面板点击插入;对于需要大量维护题库和课程内容的管理员,则可以明显减少重复输入和格式错误。
简单来说,这个功能让 Scratch 内容的编写更接近 Scratch 本身的使用体验,也让 Markdown 编辑器在少儿编程教学、教研和测评场景中更顺手了。


微信扫一扫,分享此文章

少儿编程教学平台

联系我们

微信

aguibo002

邮箱

haoxuehaojiao在163.com

Loading
我们已经收到您的信息,将尽快联系您!