2603회 채점완료

This commit is contained in:
2026-04-02 15:27:30 +09:00
parent 2c78f54bdd
commit 020ff65fdd
11 changed files with 3952 additions and 5 deletions

604
correct/2603_CAT_3_A.json Normal file
View File

@@ -0,0 +1,604 @@
{
"1-1": {
"type": "scene",
"ele": "$..objects[?(@.name=='들판')]",
"point": 2,
"desc": "문제 1/들판(1)/[배경] 이름 설정/이름을 '들판'으로 변경하기",
"sort": 11
},
"1-3": {
"type": "scene",
"ele": "$..objects[?(@.name=='구름')]",
"point": 2,
"desc": "문제 1/구름(1)/[개체] 이름 설정 1/이름을 '구름'으로 변경하기",
"sort": 13
},
"1-4": {
"type": "scene",
"ele": "$..objects[?(@.name=='새')]",
"point": 2,
"desc": "문제 1/독수리(2)/[개체] 이름 설정 2/이름을 '새'로 변경하기",
"sort": 14
},
"1-5": {
"type": "scene",
"ele": "$..objects[?(@.name=='배터리')]",
"point": 2,
"desc": "문제 1/건전지(2)/[개체] 이름 설정 3/이름을 '배터리'로 변경하기",
"sort": 15
},
"1-6": {
"type": "scene",
"ele": "$..objects[?(@.name=='드론')]",
"point": 2,
"desc": "문제 1/드론(1)/[개체] 이름 설정 4/이름을 '드론'으로 변경하기",
"sort": 16
},
"2-0": {
"type": "script",
"ele": "$.objects[?(@.name=~'구름')].script",
"blocks": [
{
"ele": "$[0][0].type",
"answer": "when_run_button_click",
"point": 2.14,
"desc": "문제 2/구름/시작/시작하기 버튼을 클릭했을 때"
},
{
"ele": [
"$[0][1].type",
"$[0][1].params[0].params[0]",
"$[0][1].params[1].params[0]"
],
"answer": [
"locate_xy",
"70",
"130"
],
"point": 2.14,
"desc": "문제 2/구름/[시작]의 세부 동작 1/x: '70' y: '130' 위치로 이동하기",
"type": "list"
},
{
"ele": [
"$[0][2].type",
"$[0][2].params[0].params[0]"
],
"answer": [
"set_scale_size",
"140"
],
"point": 2.14,
"desc": "문제 2/구름/[시작]의 세부 동작 2/크기를 '140' 으로 정하기",
"type": "list"
},
{
"ele": [
"$[0][3].type",
"$[0][3].params[0]"
],
"answer": [
"repeat_inf",
null
],
"point": 2.14,
"desc": "문제 2/구름/반복/계속 반복하기",
"type": "list"
},
{
"ele": "$[0][3].statements[0][0].params[0]",
"answer": "next",
"point": 2.14,
"desc": "문제 2/구름/[반복]의 세부 동작 1/'다음' 모양으로 바꾸기"
},
{
"ele": [
"$[0][3].statements[0][1].type",
"$[0][3].statements[0][1].params[0].params[0]"
],
"answer": [
"wait_second",
"2"
],
"point": 2.14,
"desc": "문제 2/구름/[반복]의 세부 동작 2/'2' 초 기다리기",
"type": "list"
},
{
"ele": [
"$[0][3].statements[0][2].type",
"$[0][3].statements[0][2].params[0].params[0]"
],
"answer": [
"move_direction",
"2"
],
"point": 2.14,
"desc": "문제 2/구름/[반복]의 세부 동작 3/이동 방향으로 '2' 만큼 움직이기",
"type": "list"
}
],
"sortBlock": [
"when_run_button_click"
],
"sort": 102
},
"3-0": {
"type": "script",
"ele": "$.objects[?(@.name=~'새|독수리')].script",
"blocks": [
{
"ele": "$[0][0].type",
"answer": "when_run_button_click",
"point": 2.14,
"desc": "문제 2/새/시작/시작하기 버튼을 클릭했을 때"
},
{
"ele": [
"$[0][1].type",
"$[0][1].params[0].params[0]"
],
"answer": [
"set_scale_size",
"70"
],
"point": 2.14,
"desc": "문제 2/새/[시작]의 세부 동작/크기를 '70' 으로 정하기",
"type": "list"
},
{
"ele": [
"$[0][2].type",
"$[0][2].params[0]"
],
"answer": [
"repeat_inf",
null
],
"point": 2.14,
"desc": "문제 2/새/반복 1/계속 반복하기",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][0].type",
"$[0][2].statements[0][0].params[0].params[0]",
"$[0][2].statements[0][0].params[1].params[1].params[0]",
"$[0][2].statements[0][0].params[1].params[3].params[0]"
],
"answer": [
"locate_xy",
"-260",
"90",
"105"
],
"point": 2.14,
"desc": "문제 2/새/[반복 1]의 세부 동작/x: '-260' y: '90 부터 105 사이의 무작위 수' 위치로 이동하기",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][1].type",
"$[0][2].statements[0][1].params[0].params[0].params[3]",
"$[0][2].statements[0][1].params[0].params[1]",
"$[0][2].statements[0][1].params[0].params[2].params[0]"
],
"answer": [
"repeat_while_true",
"x",
"EQUAL",
"240"
],
"point": 2.14,
"desc": "문제 2/새/반복 2/'자신' 의 'x 좌푯값' = '240' '이 될 때까지' 반복하기",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][1].statements[0][0].type",
"$[0][2].statements[0][1].statements[0][0].params[0].params[0]"
],
"answer": [
"move_x",
"5"
],
"point": 2.14,
"desc": "문제 2/새/[반복 2]의 세부 동작 1/x 좌표를 '5' 만큼 바꾸기",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][1].statements[0][1].type",
"$[0][2].statements[0][1].statements[0][1].params[0].params[0]"
],
"answer": [
"move_y",
"0.2"
],
"point": 2.14,
"desc": "문제 2/새/[반복 2]의 세부 동작 2/y 좌표를 '0.2' 만큼 바꾸기",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][1].statements[0][2].type",
"$[0][2].statements[0][1].statements[0][2].params[0].type"
],
"answer": [
"_if",
"reach_something"
],
"point": 2.14,
"desc": "문제 2/새/만일/만일 '드론' 에 닿았는가? 라면",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][1].statements[0][2].statements[0][0].type",
"$[0][2].statements[0][1].statements[0][2].statements[0][0].params[0]",
"$[0][2].statements[0][1].statements[0][2].statements[0][0].params[1].params[0]"
],
"answer": [
"add_effect_amount",
"transparency",
"50"
],
"point": 2.14,
"desc": "문제 2/새/[만일]의 세부 동작 1/'투명도' 효과를 '50' 만큼 주기",
"type": "list"
},
{
"ele": "$[0][2].statements[0][1].statements[0][2].statements[0][1].params[*].params",
"answer": [
"위험해!",
"1"
],
"point": 2.14,
"desc": "문제 2/새/[만일]의 세부 동작 2/'위험해!' 를 '1' 초 동안 '말하기'"
},
{
"ele": [
"$[0][2].statements[0][1].statements[0][2].statements[0][2].type",
"$[0][2].statements[0][1].statements[0][2].statements[0][2].params[0].params[0]"
],
"answer": [
"wait_second",
"0.1"
],
"point": 2.14,
"desc": "문제 2/새/[만일]의 세부 동작 3/'0.1' 초 기다리기",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][1].statements[0][2].statements[0][3].type",
"$[0][2].statements[0][1].statements[0][2].statements[0][3].params[0]",
"$[0][2].statements[0][1].statements[0][2].statements[0][3].params[1].params[0]"
],
"answer": [
"change_effect_amount",
"transparency",
"0"
],
"point": 2.14,
"desc": "문제 2/새/[만일]의 세부 동작 4/'투명도' 효과를 '0' 으로 정하기",
"type": "list"
}
],
"sortBlock": [
"when_run_button_click"
],
"sort": 109
},
"4-0": {
"type": "script",
"ele": "$.objects[?(@.name=~'배터리|건전지')].script",
"blocks": [
{
"ele": "$[0][0].type",
"answer": "when_run_button_click",
"point": 2.14,
"desc": "문제 2/배터리/시작/시작하기 버튼을 클릭했을 때"
},
{
"ele": [
"$[0][1].type",
"$[0][1].params[0].params[0]"
],
"answer": [
"set_scale_size",
"50"
],
"point": 2.14,
"desc": "문제 2/배터리/[시작]의 세부 동작 1/크기를 '50' 으로 정하기",
"type": "list"
},
{
"ele": [
"$[0][2].type",
"$[0][2].params[0].params[0]"
],
"answer": [
"rotate_absolute",
"270"
],
"point": 2.14,
"desc": "문제 2/배터리/[시작]의 세부 동작 2/방향을 '270°' 로 정하기",
"type": "list"
},
{
"ele": [
"$[0][3].type",
"$[0][3].params[0]"
],
"answer": [
"repeat_inf",
null
],
"point": 2.14,
"desc": "문제 2/배터리/반복/계속 반복하기",
"type": "list"
},
{
"ele": [
"$[0][3].statements[0][0].type",
"$[0][3].statements[0][0].params[0].params[1].params[0]",
"$[0][3].statements[0][0].params[0].params[3].params[0]",
"$[0][3].statements[0][0].params[1].params[1].params[0]",
"$[0][3].statements[0][0].params[1].params[3].params[0]"
],
"answer": [
"locate_xy",
"-200",
"200",
"-50",
"120"
],
"point": 2.14,
"desc": "문제 2/배터리/[반복]의 세부 동작 1/x: '-200 부터 200 사이의 무작위 수' y: '-50 부터 120 사이의 무작위 수' 위치로 이동하기",
"type": "list"
},
{
"ele": "$[0][3].statements[0][1].type",
"answer": "show",
"point": 2.14,
"desc": "문제 2/배터리/[반복]의 세부 동작 2/모양 보이기"
},
{
"ele": [
"$[0][3].statements[0][2].type",
"$[0][3].statements[0][2].params[0].type"
],
"answer": [
"wait_until_true",
"reach_something"
],
"point": 2.14,
"desc": "문제 2/배터리/[반복]의 세부 동작 3/'드론' 에 닿았는가? 가 될 때까지 기다리기",
"type": "list"
},
{
"ele": [
"$[0][3].statements[0][3].type",
"$[0][3].statements[0][3].params[0]",
"$[0][3].statements[0][3].params[1].params[0]"
],
"answer": [
"add_effect_amount",
"brightness",
"50"
],
"point": 2.14,
"desc": "문제 2/배터리/[반복]의 세부 동작 4/'밝기' 효과를 '50' 만큼 주기",
"type": "list"
},
{
"ele": "$[0][3].statements[0][4].params[*].params",
"answer": [
"충전완료!",
"1"
],
"point": 2.14,
"desc": "문제 2/배터리/[반복]의 세부 동작 5/'충전완료!' 를 '1' 초 동안 '말하기'"
},
{
"ele": "$[0][3].statements[0][5].type",
"answer": "hide",
"point": 2.14,
"desc": "문제 2/배터리/[반복]의 세부 동작 6/모양 숨기기"
},
{
"ele": [
"$[0][3].statements[0][6].type",
"$[0][3].statements[0][6].params[0].type",
"$[0][3].statements[0][6].params[0].params[1].params[0]",
"$[0][3].statements[0][6].params[0].params[3].params[0]"
],
"answer": [
"wait_second",
"calc_rand",
"1",
"2"
],
"point": 2.14,
"desc": "문제 2/배터리/[반복]의 세부 동작 7/'1 부터 2 사이의 무작위 수' 초 기다리기",
"type": "list"
},
{
"ele": [
"$[0][3].statements[0][7].type",
"$[0][3].statements[0][7].params[0]",
"$[0][3].statements[0][7].params[1].params[0]"
],
"answer": [
"change_effect_amount",
"brightness",
"0"
],
"point": 2.14,
"desc": "문제 2/배터리/[반복]의 세부 동작 8/'밝기' 효과를 '0' 으로 정하기",
"type": "list"
}
],
"sortBlock": [
"when_run_button_click"
],
"sort": 121
},
"5-0": {
"type": "script",
"ele": "$.objects[?(@.name=~'드론')].script",
"blocks": [
{
"ele": "$[0][0].type",
"answer": "when_run_button_click",
"point": 2.14,
"desc": "문제 2/드론/시작/시작하기 버튼을 클릭했을 때"
},
{
"ele": [
"$[0][1].type",
"$[0][1].params[0].params[0]",
"$[0][1].params[1].params[0]"
],
"answer": [
"locate_xy",
"160",
"85"
],
"point": 2.14,
"desc": "문제 2/드론/[시작]의 세부 동작 1/x: '160' y: '85' 위치로 이동하기",
"type": "list"
},
{
"ele": [
"$[0][2].type",
"$[0][2].params[0]"
],
"answer": [
"repeat_inf",
null
],
"point": 2.14,
"desc": "문제 2/드론/반복/계속 반복하기",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][0].type",
"$[0][2].statements[0][0].params[0].type",
"$[0][2].statements[0][0].params[0].params[0]"
],
"answer": [
"_if",
"is_press_some_key",
"38"
],
"point": 2.14,
"desc": "문제 2/드론/만일 1/만일 '위쪽 화살표' 키가 눌러져 있는가? 라면",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][0].statements[0][0].type",
"$[0][2].statements[0][0].statements[0][0].params[0].params[0]"
],
"answer": [
"move_y",
"5"
],
"point": 2.14,
"desc": "문제 2/드론/[만일 1]의 세부 동작/y 좌표를 '5' 만큼 바꾸기",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][1].type",
"$[0][2].statements[0][1].params[0].type",
"$[0][2].statements[0][1].params[0].params[0]"
],
"answer": [
"_if",
"is_press_some_key",
"40"
],
"point": 2.14,
"desc": "문제 2/드론/만일 2/만일 '아래쪽 화살표' 키가 눌러져 있는가? 라면",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][1].statements[0][0].type",
"$[0][2].statements[0][1].statements[0][0].params[0].params[0]"
],
"answer": [
"move_y",
"-5"
],
"point": 2.14,
"desc": "문제 2/드론/[만일 2]의 세부 동작/y 좌표를 '-5' 만큼 바꾸기",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][2].type",
"$[0][2].statements[0][2].params[0].type",
"$[0][2].statements[0][2].params[0].params[0]"
],
"answer": [
"_if",
"is_press_some_key",
"37"
],
"point": 2.14,
"desc": "문제 2/드론/만일 3/만일 '왼쪽 화살표' 키가 눌러져 있는가? 라면",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][2].statements[0][0].type",
"$[0][2].statements[0][2].statements[0][0].params[0].params[0]"
],
"answer": [
"move_x",
"-5"
],
"point": 2.14,
"desc": "문제 2/드론/[만일 3]의 세부 동작/x 좌표를 '-5' 만큼 바꾸기",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][3].type",
"$[0][2].statements[0][3].params[0].type",
"$[0][2].statements[0][3].params[0].params[0]"
],
"answer": [
"_if",
"is_press_some_key",
"39"
],
"point": 2.14,
"desc": "문제 2/드론/만일 4/만일 '오른쪽 화살표' 키가 눌러져 있는가? 라면",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][3].statements[0][0].type",
"$[0][2].statements[0][3].statements[0][0].params[0].params[0]"
],
"answer": [
"move_x",
"5"
],
"point": 2.14,
"desc": "문제 2/드론/[만일 4]의 세부 동작/x 좌표를 '5' 만큼 바꾸기",
"type": "list"
}
],
"sortBlock": [
"when_run_button_click"
],
"sort": 133
}
}