计算机使用智能体分类English
R15.04.01.03 · 任务小类

积木式编程

Block-based coding

Build Scratch/Blockly programs by dragging and snapping blocks.

20 条本项目编写的提案 · 分类 v1.1 · 新增基准运行 0 次。下方验证方式与部分得分规则是设计,不是执行结果。

历史小类地址:R12.10.01.03 · 提案 ID 保留原值。

典型应用
Scratch · Blockly · Snap!
小类 GUI 需求标签
G3 · 仅 GUI

任务提案 · 20

展开查看完整原文与建议检查方式;两种界面均保留提案英文原文。

R12.10.01.03-T01 Make a Scratch sprite move forever and bounce off edges

原始指令

In Scratch 3 (desktop app), open fixtures/bounce_start.sb3 (one Cat sprite, no scripts). Build a script: when green flag clicked → point in direction 45 → forever { move 5 steps; if on edge, bounce }. Set rotation style to left-right. Save as bounce.sb3.

平台
mac · macOS win · Windows
应用
Scratch
交互表面
desk · 桌面 GUI
GUI 需求 · 任务设定
G3 · 仅 GUI
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
drag · 拖放 click · 指向与点击
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
2 / 5

建议验证方式

Headless scratch-vm runs bounce.sb3 for 600 frames: sprite x/y must oscillate within stage bounds and hit ≥ 2 edges; rotation style left-right. The instrumented editor logs block drag/drop events; a project.json written outside the editor (no matching drop events) scores 0.

建议部分得分

30% green-flag forever loop; 40% bouncing verified in VM; 30% rotation style and direction

R12.10.01.03-T02 Debug a Scratch game whose score never increases

原始指令

fixtures/apple_catch.sb3 is a catch game: a Bowl sprite follows the mouse and Apple clones fall. The 'score' never increases when an apple touches the bowl. Find and fix the bug in the blocks (do not rewrite the game), keep all other behaviour, and save as apple_catch_fixed.sb3.

平台
mac · macOS win · Windows
应用
Scratch
交互表面
desk · 桌面 GUI
GUI 需求 · 任务设定
G3 · 仅 GUI
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
drag · 拖放 click · 指向与点击 vis · 视觉判断
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
3 / 5

建议验证方式

VM test injects mouse positions so 3 apples land on the bowl: score must equal 3, and misses must not change it. Block diff vs original must be ≤ 4 blocks changed (minimal fix). Editor drop events logged; external project.json edits fail.

建议部分得分

60% score increments once per catch; 20% misses do not score; 20% minimal block diff

R12.10.01.03-T03 Switch costume and play a sound on the space key in Scratch

原始指令

In fixtures/dancer.sb3 (sprite 'Dancer' with 4 costumes), add a script so pressing space switches to the next costume and plays sound 'Pop' until done; pressing 'r' resets to costume 1. Save as dancer_keys.sb3.

平台
mac · macOS win · Windows
应用
Scratch
交互表面
desk · 桌面 GUI
GUI 需求 · 任务设定
G3 · 仅 GUI
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
drag · 拖放 click · 指向与点击
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
2 / 5

建议验证方式

VM test: 5 simulated space presses cycle the costume index 1→2→3→4→1→2 and trigger 'Pop' each time; 'r' sets costume 1. Editor drop events must account for all new blocks.

建议部分得分

50% costume cycling; 25% sound on each press; 25% reset key

R12.10.01.03-T04 Compute 1 + 2 + … + 100 with a Scratch loop

原始指令

Create a new Scratch project with variables 'i' and 'sum'. When the green flag is clicked, set sum to 0 and i to 1, repeat until i > 100 { change sum by i; change i by 1 }, then make the sprite say sum for 2 seconds. Save as sum100.sb3. This is the GUI half of the pair with T19.

平台
mac · macOS win · Windows
应用
Scratch
交互表面
desk · 桌面 GUI
GUI 需求 · 任务设定
G3 · 仅 GUI
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
drag · 拖放 click · 指向与点击 type · 文字与表单
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
3 / 5

建议验证方式

VM run: variable sum = 5050 at end, sprite bubble text '5050'. Script must contain a repeat-until loop (no hard-coded 5050 literal). Drop-event log must account for all blocks.

建议部分得分

20% variables created; 50% loop structure; 30% correct result shown

R12.10.01.03-T05 Solve a Blockly Games Maze level with at most seven blocks

原始指令

In locally hosted Blockly Games, open Maze level 6. Assemble a program from the toolbox (move forward, turn, repeat until, if path) that guides the avatar to the goal using no more than 7 blocks, and run it until the level-complete dialog appears.

平台
web · 任意系统(网页)
应用
Blockly
交互表面
brow · 浏览器
GUI 需求 · 任务设定
G3 · 仅 GUI
GUI 需求 · 普通权限
G2 · GUI 必要
交互原语
drag · 拖放 click · 指向与点击
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
3 / 5

建议验证方式

Blockly Games stores the solved level and program XML in localStorage; grader reads it: level 6 marked complete, block count ≤ 7, and re-running the XML in a headless maze runner reaches the goal. Workspace changes must come from drag events (Blockly change listener log), and DevTools are disabled by browser policy, so localStorage cannot be written by script.

建议部分得分

60% level completed; 40% block count ≤ 7

R12.10.01.03-T06 Draw a target pattern with Blockly Games Turtle

原始指令

In Blockly Games Turtle level 8 (locally hosted), the goal image shows a pattern of three overlapping stars. Build a block program with loops (not repeated copies) that draws the pattern so the canvas matches the goal, and submit it.

平台
web · 任意系统(网页)
应用
Blockly
交互表面
brow · 浏览器
GUI 需求 · 任务设定
G3 · 仅 GUI
GUI 需求 · 普通权限
G2 · GUI 必要
交互原语
drag · 拖放 vis · 视觉判断 type · 文字与表单
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
4 / 5

建议验证方式

Turtle level reports success (pixel match against the goal canvas within the game's tolerance) and the program XML contains at least one repeat block with ≤ 12 blocks total. Solved flag and XML read from localStorage. DevTools are disabled by browser policy, and a solved flag without matching Blockly drag events in the change-listener log scores 0.

建议部分得分

60% canvas match/level success; 40% loop-based program within block limit

R12.10.01.03-T07 Build a recursive factorial custom block in Snap!

原始指令

In Snap! (locally hosted), create a custom reporter block 'factorial (n)' in the Operators category that uses recursion (if n ≤ 1 report 1 else report n × factorial(n − 1)). Use it in a script that says factorial(10) when the green flag is clicked. Export the project as factorial.xml.

平台
web · 任意系统(网页)
应用
Snap!
交互表面
brow · 浏览器
GUI 需求 · 任务设定
G3 · 仅 GUI
GUI 需求 · 普通权限
G2 · GUI 必要
交互原语
drag · 拖放 click · 指向与点击 type · 文字与表单
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
4 / 5

建议验证方式

Exported XML parsed: custom block definition in Operators, type reporter, body calls itself; headless Snap! evaluation gives factorial(10) = 3628800 and factorial(0) = 1. The block editor is the only route (no text import of block definitions allowed, import events logged).

建议部分得分

30% custom reporter defined; 40% recursive body correct; 30% green-flag script outputs 3628800

R12.10.01.03-T08 Filter and transform a list with Snap! higher-order blocks

原始指令

In Snap!, open fixtures/scores.xml with list variable 'scores' (30 numbers). Using 'keep items' and 'map' (no loops), build a script that sets variable 'passed' to the scores ≥ 60, each converted to a letter grade (A ≥ 90, B ≥ 80, C ≥ 70, D ≥ 60). Export as scores_hof.xml.

平台
web · 任意系统(网页)
应用
Snap!
交互表面
brow · 浏览器
GUI 需求 · 任务设定
G3 · 仅 GUI
GUI 需求 · 普通权限
G2 · GUI 必要
交互原语
drag · 拖放 click · 指向与点击 type · 文字与表单
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
3 / 5

建议验证方式

Headless run: 'passed' equals the expected letter list in order. Script must contain 'keep' and 'map' blocks and no repeat/for/forever blocks. The instrumented Snap! page logs block drops and XML imports, and DevTools are disabled by policy; a script without matching drop events scores 0.

建议部分得分

40% keep filter correct; 40% map to letters correct; 20% no explicit loops

R12.10.01.03-T09 Build a complete Pong game in Scratch from an empty project

原始指令

Create Pong in Scratch: a paddle that follows the mouse x at the bottom, a ball that bounces off walls and the paddle with a random angle change of ±15°, a 'score' variable that increases on each paddle hit, a 'misses' counter, and a game-over backdrop with all scripts stopped after 5 misses. Save as pong.sb3.

平台
mac · macOS win · Windows
应用
Scratch
交互表面
desk · 桌面 GUI
GUI 需求 · 任务设定
G3 · 仅 GUI
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
drag · 拖放 click · 指向与点击 type · 文字与表单
工作产物
WP06 · 代码 / 工程
条件
long · 长流程
提案难度
5 / 5

建议验证方式

VM test suite (12 tests) drives mouse x: paddle tracks mouse; ball reflects at walls; paddle hits raise score; 5 misses switch backdrop and stop scripts. Editor drop-event log must cover the blocks; projects assembled outside the editor fail.

建议部分得分

15% paddle; 25% ball physics; 20% scoring; 40% miss counter and game-over state

R12.10.01.03-T10 Program a micro:bit dice in MakeCode and test in the simulator

原始指令

In the MakeCode for micro:bit editor (offline app), build blocks so that on shake the LED shows a random number 1-6 as a dot pattern of the die face, and on A+B it shows the temperature. Test both in the built-in simulator, then download the .hex to ~/Downloads/dice.hex.

平台
mac · macOS win · Windows
应用
MakeCode
交互表面
desk · 桌面 GUI
GUI 需求 · 任务设定
G3 · 仅 GUI
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
drag · 拖放 click · 指向与点击 vis · 视觉判断
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
3 / 5

建议验证方式

Embedded project source in the .hex is extracted; a headless pxt simulator test fires shake 100 times: LED patterns must be the 6 die faces only with each value seen; A+B shows the temperature string. JavaScript-view edits are logged and disallowed, and the instrumented editor logs block drops; a .hex whose blocks lack matching drop events scores 0.

建议部分得分

50% shake shows valid die faces; 20% all six values reachable; 30% A+B temperature

R12.10.01.03-T11 Make a MakeCode Arcade collector game with score and timer

原始指令

In MakeCode Arcade (local web build), create a game: a player sprite moves with the D-pad (speed 100), 5 food sprites spawn at random positions, overlapping food adds 1 point and respawns it, and a 30-second countdown ends the game. Use the sprite editor to draw a 16×16 player in at least 3 colours. Export the project.

平台
web · 任意系统(网页)
应用
MakeCode
交互表面
brow · 浏览器
GUI 需求 · 任务设定
G3 · 仅 GUI
GUI 需求 · 普通权限
G2 · GUI 必要
交互原语
drag · 拖放 path · 连续路径 click · 指向与点击
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
4 / 5

建议验证方式

Project JSON: player image 16×16 with ≥ 3 colours; headless arcade sim script moves the player onto food: score increments and food respawns; game over at 30 s. Blocks-only (JS view edits logged). DevTools are disabled by browser policy, and a project whose blocks lack matching drop events in the editor log scores 0.

建议部分得分

20% sprite drawn; 20% movement; 35% overlap scoring and respawn; 25% countdown game over

R12.10.01.03-T12 Refactor duplicated Scratch scripts into one custom block

原始指令

fixtures/shapes.sb3 draws a triangle, square, hexagon and octagon with four copy-pasted pen scripts. Replace them with one custom block 'polygon (sides) (size)' set to run without screen refresh, called four times. The final drawing must be pixel-identical to the original. Save as shapes_refactor.sb3.

平台
mac · macOS win · Windows
应用
Scratch
交互表面
desk · 桌面 GUI
GUI 需求 · 任务设定
G3 · 仅 GUI
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
drag · 拖放 click · 指向与点击 type · 文字与表单
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
4 / 5

建议验证方式

VM renders both projects headless: pen layer pixel difference = 0 (±1 px anti-alias tolerance). Project must contain one procedure definition with 2 number inputs and warp = true, called 4 times, and no remaining duplicated pen loops. The instrumented editor logs block drag/drop events; an .sb3 written outside the editor (no matching drop events) scores 0.

建议部分得分

30% custom block with inputs; 10% run without refresh; 20% four calls replace copies; 40% identical drawing

R12.10.01.03-T13 Spawn falling clones that are deleted at the bottom in Scratch

原始指令

In fixtures/rain.sb3, make the 'Drop' sprite hidden and spawn a clone every 0.5 s at a random x between −220 and 220 at y = 180. Each clone falls 4 px per frame and deletes itself at y < −170. A 'count' variable must show how many clones currently exist. Save as rain_clones.sb3.

平台
mac · macOS win · Windows
应用
Scratch
交互表面
desk · 桌面 GUI
GUI 需求 · 任务设定
G3 · 仅 GUI
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
drag · 拖放 click · 指向与点击
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
4 / 5

建议验证方式

VM run for 20 s: clone creation every 0.5 ±0.05 s, x within range, clones removed at the bottom, total clones never exceeds 300 limit, and 'count' equals the live clone count at 10 sample times. The instrumented editor logs block drag/drop events; an .sb3 written outside the editor (no matching drop events) scores 0.

建议部分得分

25% clone spawning timing; 25% fall and delete; 20% random x range; 30% live count variable

R12.10.01.03-T14 Fix nested if/else logic in a Blockly clothing recommender

原始指令

In the locally hosted Blockly playground fixtures/clothes.html, a program reads temperature and rain and prints an outfit, but four of the eight test cases in the side panel fail. Rearrange and edit the nested if/else blocks (do not add new block types) until all eight tests pass, then press 'Save'.

平台
web · 任意系统(网页)
应用
Blockly
交互表面
brow · 浏览器
GUI 需求 · 任务设定
G3 · 仅 GUI
GUI 需求 · 普通权限
G2 · GUI 必要
交互原语
drag · 拖放 click · 指向与点击
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
3 / 5

建议验证方式

Saved workspace XML run against the 8 visible plus 8 hidden test cases; no new block types relative to the start toolbox usage. Workspace change log must show drag events, and DevTools are disabled by browser policy, so the workspace cannot be rewritten by script.

建议部分得分

40% visible tests; 40% hidden tests; 20% no new block types

R12.10.01.03-T15 Sequence a three-scene Scratch story with broadcasts and timing

原始指令

In fixtures/story.sb3 (backdrops Forest, Castle, Night; sprites Knight and Dragon), make a story: Forest 0-4 s Knight says 'Onward!'; broadcast 'scene2' switches to Castle at 4 s where Dragon glides to (100, 0) in 2 s; at 8 s 'scene3' switches to Night and both sprites hide at 10 s. Save as story_timed.sb3.

平台
mac · macOS win · Windows
应用
Scratch
交互表面
desk · 桌面 GUI
GUI 需求 · 任务设定
G3 · 仅 GUI
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
drag · 拖放 click · 指向与点击 av · 音视频时序
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
3 / 5

建议验证方式

VM trace sampled every frame: backdrop switches at 4.0 and 8.0 s (±0.2 s), Dragon reaches (100, 0) at 6 s ±0.2, both hidden at 10 s ±0.2. Scripts must use broadcast blocks for scene changes. The instrumented editor logs drag/drop events; an .sb3 written outside the editor (no matching drop events) scores 0.

建议部分得分

30% backdrop timing; 25% glide; 20% speech; 25% broadcasts used and hide timing

R12.10.01.03-T16 Implement visible bubble sort over a list in Snap!

原始指令

In Snap!, open fixtures/sortme.xml (list 'data' of 10 numbers shown on stage). Implement bubble sort with nested loops and swaps using only list and control blocks (no 'sort' library block). Each swap must update the on-stage list watcher. Count swaps in variable 'swaps'. Export as bubble.xml.

平台
web · 任意系统(网页)
应用
Snap!
交互表面
brow · 浏览器
GUI 需求 · 任务设定
G3 · 仅 GUI
GUI 需求 · 普通权限
G2 · GUI 必要
交互原语
drag · 拖放 click · 指向与点击 type · 文字与表单
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
4 / 5

建议验证方式

Headless run on the fixture and 5 hidden lists: 'data' sorted ascending and 'swaps' equals the bubble-sort inversion count. No sort primitive or library import in the XML. The instrumented Snap! page logs block drops and XML imports, and DevTools are disabled by policy; an export without matching drop events scores 0.

建议部分得分

50% sorts correctly on all lists; 30% swap count equals inversions; 20% no sort primitive

R12.10.01.03-T17 Draw a square spiral with the Scratch pen extension

原始指令

In a new Scratch project, add the Pen extension and build a script that clears the stage, moves the sprite to (0, 0), sets pen colour to hue 60 and size 2, and draws a square spiral of 20 segments where segment k has length 10·k. Hide the sprite at the end. Save as spiral.sb3.

平台
mac · macOS win · Windows
应用
Scratch
交互表面
desk · 桌面 GUI
GUI 需求 · 任务设定
G3 · 仅 GUI
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
drag · 拖放 click · 指向与点击 type · 文字与表单
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
3 / 5

建议验证方式

Headless render of pen layer compared to a reference spiral image: IoU of stroke pixels ≥ 0.9; pen colour and size match; sprite hidden at end; script uses a loop. The instrumented editor logs block drag/drop events; an .sb3 written outside the editor (no matching drop events) scores 0.

建议部分得分

20% pen extension and setup; 60% scaled stroke IoU; 20% loop and hidden sprite

R12.10.01.03-T18 Add and position a library sprite with rotation style and layer

原始指令

In fixtures/park.sb3, add sprite 'Dog2' from the Scratch sprite library, set its size to 80%, rotation style to left-right, position to (−120, −80), and move it to the front layer above the 'Bench' sprite. Save as park_dog.sb3.

平台
mac · macOS win · Windows
应用
Scratch
交互表面
desk · 桌面 GUI
GUI 需求 · 任务设定
G3 · 仅 GUI
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
click · 指向与点击 drag · 拖放 type · 文字与表单
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
1 / 5

建议验证方式

project.json: sprite with Dog2 asset IDs, size 80, rotationStyle 'left-right', x −120, y −80, layerOrder above Bench. Library-dialog click events are logged by the instrumented editor; an .sb3 written outside the editor (no matching events) is detected and scores 0.

建议部分得分

30% Dog2 added; 40% size and rotation style; 30% position and layer

R12.10.01.03-T19 Control: generate the 1-to-100 sum project by editing project.json

原始指令

Control pair of T04. Without opening the Scratch editor, write a Python or shell script that creates sum100_cli.sb3: a project.json with variables i and sum and a green-flag script with repeat-until that sums 1..100 and says the result, zipped with the default stage assets.

平台
mac · macOS win · Windows lin · Linux
应用
Python
交互表面
term · 终端
GUI 需求 · 任务设定
CL · CLI 足够
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
code · 代码与命令
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
3 / 5

建议验证方式

Same scratch-vm test as T04: sum = 5050 and bubble text '5050', loop present, no 5050 literal. Serves as the CLI control to measure the drag gap against T04.

建议部分得分

30% loadable sb3; 40% loop structure; 30% correct output

R12.10.01.03-T20 Build a Scratch platformer with gravity, ground-only jumps and a goal

原始指令

In fixtures/platformer_assets.sb3 (player, platforms painted in colour #4C97FF, flag), build a platformer: arrow keys move left/right, gravity accelerates the player down, the player lands on platform colour, jump (space) only works when on ground, the player cannot pass through platforms from below, and touching the flag shows 'You win!'. Save as platformer.sb3.

平台
mac · macOS win · Windows
应用
Scratch
交互表面
desk · 桌面 GUI
GUI 需求 · 任务设定
G3 · 仅 GUI
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
drag · 拖放 click · 指向与点击 type · 文字与表单
工作产物
WP06 · 代码 / 工程
条件
long · 长流程
提案难度
5 / 5

建议验证方式

VM test suite plays a scripted input sequence: gravity, landing, no double jump mid-air, no tunnelling through platforms at max fall speed, and the win message when the scripted route reaches the flag. The instrumented editor logs drag/drop events; an .sb3 written outside the editor (no matching drop events) is detected and scores 0.

建议部分得分

35% movement, gravity and landing; 20% ground-only jump; 25% solid platforms; 20% win state

已有研究映射

以下沿用研究目录中的基准与小类映射,不是逐题标注、执行记录或产品背书。

同工作流族的小类