2508회 채점자료 업데이트

This commit is contained in:
2025-09-01 17:53:37 +09:00
parent 1e4a625d85
commit b2f99b92d0
16 changed files with 3539 additions and 184 deletions

774
correct/2508_CAS_2_A.json Normal file
View File

@@ -0,0 +1,774 @@
{
"1-1": {
"type": "scene",
"ele": "$..objects[?(@.name=='우주')]",
"points": 1.7,
"desc": "문제 1/장면 1/[배경] 이름 설정 1/이름을 '우주'로 변경하기",
"sort": 11
},
"1-2": {
"type": "scene",
"ele": "$..objects[?(@.name=='우주정거장')]",
"points": 1.5,
"desc": "문제 1/장면 2/[배경] 이름 설정 2/이름 변경 없음",
"sort": 12
},
"1-3": {
"type": "scene",
"ele": "$..objects[?(@.name=='에너지원')]",
"points": 1.7,
"desc": "문제 1/물약(빨강)/[개체] 이름 설정 1/이름을 '에너지원'으로 변경하기",
"sort": 13
},
"1-4": {
"type": "scene",
"ele": "$..objects[?(@.name=='운석')]",
"points": 1.7,
"desc": "문제 1/검은 돌멩이/[개체] 이름 설정 2/이름을 '운석'으로 변경하기",
"sort": 14
},
"1-5": {
"type": "scene",
"ele": "$..objects[?(@.name=='행성')]",
"points": 1.7,
"desc": "문제 1/행성(5)/[개체] 이름 설정 3/이름을 '행성'으로 변경하기",
"sort": 15
},
"1-6": {
"type": "scene",
"ele": "$..objects[?(@.name=='우주선')]",
"points": 1.7,
"desc": "문제 1/우주선 탄 엔트리봇/[개체] 이름 설정 4/이름을 '우주선'으로 변경하기",
"sort": 16
},
"1-0": {
"ele": "$..variables[?(@.name=='연료')]",
"points": 1.38,
"desc": "문제 2/에너지원/변수 1/'연료' 변수 만들기 (변수 기본값은 '100', '모든 오브젝트에 사용' 설정하기)",
"type": "scene",
"sort": 101
},
"2-0": {
"ele": "$..variables[?(@.name=='점수')]",
"points": 1.38,
"desc": "문제 2/에너지원/변수 2/'점수' 변수 만들기 (변수 기본값은 '0', '모든 오브젝트에 사용' 설정하기)",
"type": "scene",
"sort": 102
},
"3-0": {
"type": "script",
"ele": "$.objects[?(@.name=~'에너지원')].script",
"blocks": [
{
"ele": "$[0][0].type",
"answer": "when_run_button_click",
"points": 1.38,
"desc": "문제 2/에너지원/시작/시작하기 버튼을 클릭했을 때"
},
{
"ele": "$[0][1].params[0].params[0]",
"answer": "50",
"points": 1.38,
"desc": "문제 2/에너지원/[시작]의 세부 동작/크기를 '50' 으로 정하기"
},
{
"ele": [
"$[0][2].type",
"$[0][2].params[0]"
],
"answer": [
"repeat_inf",
null
],
"points": 1.38,
"desc": "문제 2/에너지원/반복/계속 반복하기",
"type": "list"
},
{
"ele": "$[0][2].statements[0][0].type",
"answer": "hide",
"points": 1.38,
"desc": "문제 2/에너지원/[반복]의 세부 동작 1/모양 숨기기"
},
{
"ele": [
"$[0][2].statements[0][1].type",
"$[0][2].statements[0][1].params[0].params[1].params[0]",
"$[0][2].statements[0][1].params[0].params[3].params[0]",
"$[0][2].statements[0][1].params[1].params[1].params[0]",
"$[0][2].statements[0][1].params[1].params[3].params[0]"
],
"answer": [
"locate_xy",
"-200",
"200",
"-100",
"100"
],
"points": 1.38,
"desc": "문제 2/에너지원/[반복]의 세부 동작 2/x: '-200 부터 200 사이의 무작위 수' y: '-100 부터 100 사이의 무작위 수' 위치로 이동하기",
"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[1].params[0]",
"$[0][2].statements[0][2].params[0].params[3].params[0]"
],
"answer": [
"wait_second",
"calc_rand",
"1",
"2"
],
"points": 1.38,
"desc": "문제 2/에너지원/[반복]의 세부 동작 3/'1 부터 2 사이의 무작위 수' 초 기다리기",
"type": "list"
},
{
"ele": "$[0][2].statements[0][3].type",
"answer": "show",
"points": 1.38,
"desc": "문제 2/에너지원/[반복]의 세부 동작 4/모양 보이기"
},
{
"ele": [
"$[0][2].statements[0][4].type",
"$[0][2].statements[0][4].params[0].params[0]"
],
"answer": [
"wait_second",
"1"
],
"points": 1.38,
"desc": "문제 2/에너지원/[반복]의 세부 동작 5/'1' 초 기다리기",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][5].type",
"$[0][2].statements[0][5].params[0].type"
],
"answer": [
"_if",
"reach_something"
],
"points": 1.38,
"desc": "문제 2/에너지원/만일/만일 '우주선' 에 닿았는가? 라면",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][5].statements[0][0].type",
"$[0][2].statements[0][5].statements[0][0].params[1].params[0]"
],
"answer": [
"change_variable",
"10"
],
"points": 1.38,
"desc": "문제 2/에너지원/[만일]의 세부 동작 1/'점수' 에 '10' 만큼 더하기",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][5].statements[0][1].type",
"$[0][2].statements[0][5].statements[0][1].params[1].params[0]"
],
"answer": [
"change_variable",
"50"
],
"points": 1.38,
"desc": "문제 2/에너지원/[만일]의 세부 동작 2/'연료' 에 '50' 만큼 더하기",
"type": "list"
}
],
"sort": 105
},
"4-0": {
"type": "script",
"ele": "$.objects[?(@.name=~'운석|검은 돌멩')].script",
"blocks": [
{
"ele": "$[0][0].type",
"answer": "when_run_button_click",
"points": 1.38,
"desc": "문제 2/운석/시작/시작하기 버튼을 클릭했을 때"
},
{
"ele": "$[0][1].params[0].params[0]",
"answer": "30",
"points": 1.38,
"desc": "문제 2/운석/[시작]의 세부 동작/크기를 '30' 으로 정하기"
},
{
"ele": [
"$[0][2].type",
"$[0][2].params[0]"
],
"answer": [
"repeat_inf",
null
],
"points": 1.38,
"desc": "문제 2/운석/반복/계속 반복하기",
"type": "list"
},
{
"ele": "$[0][2].statements[0][0].type",
"answer": "hide",
"points": 1.38,
"desc": "문제 2/운석/[반복]의 세부 동작 1/모양 숨기기"
},
{
"ele": [
"$[0][2].statements[0][1].type",
"$[0][2].statements[0][1].params[0].params[1].params[0]",
"$[0][2].statements[0][1].params[0].params[3].params[0]",
"$[0][2].statements[0][1].params[1].params[1].params[0]",
"$[0][2].statements[0][1].params[1].params[3].params[0]"
],
"answer": [
"locate_xy",
"-200",
"200",
"-100",
"100"
],
"points": 1.38,
"desc": "문제 2/운석/[반복]의 세부 동작 2/x: '-200 부터 200 사이의 무작위 수' y: '-100 부터 100 사이의 무작위 수' 위치로 이동하기",
"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[1].params[0]",
"$[0][2].statements[0][2].params[0].params[3].params[0]"
],
"answer": [
"wait_second",
"calc_rand",
"0",
"3"
],
"points": 1.38,
"desc": "문제 2/운석/[반복]의 세부 동작 3/'0 부터 3 사이의 무작위 수' 초 기다리기",
"type": "list"
},
{
"ele": "$[0][2].statements[0][3].type",
"answer": "show",
"points": 1.38,
"desc": "문제 2/운석/[반복]의 세부 동작 4/모양 보이기"
},
{
"ele": [
"$[0][2].statements[0][4].type",
"$[0][2].statements[0][4].params[0].params[0]"
],
"answer": [
"wait_second",
"0.5"
],
"points": 1.38,
"desc": "문제 2/운석/[반복]의 세부 동작 5/'0.5' 초 기다리기",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][5].type",
"$[0][2].statements[0][5].params[0].type"
],
"answer": [
"_if",
"reach_something"
],
"points": 1.38,
"desc": "문제 2/운석/만일/만일 '우주선' 에 닿았는가? 라면",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][5].statements[0][0].type",
"$[0][2].statements[0][5].statements[0][0].params[1].params[0]"
],
"answer": [
"change_variable",
"-5"
],
"points": 1.38,
"desc": "문제 2/운석/[만일]의 세부 동작/'점수' 에 '-5' 만큼 더하기",
"type": "list"
}
],
"sort": 115
},
"5-0": {
"type": "script",
"ele": "$.objects[?(@.name=~'행성')].script",
"blocks": [
{
"ele": "$[0][0].type",
"answer": "when_run_button_click",
"points": 1.38,
"desc": "문제 2/행성/시작/시작하기 버튼을 클릭했을 때"
},
{
"ele": [
"$[0][1].type",
"$[0][1].params[0].params[0]",
"$[0][1].params[1].params[0]"
],
"answer": [
"locate_xy",
"150",
"80"
],
"points": 1.38,
"desc": "문제 2/행성/[시작]의 세부 동작/x: '150' y: '80' 위치로 이동하기",
"type": "list"
},
{
"ele": [
"$[0][2].type",
"$[0][2].params[0]"
],
"answer": [
"repeat_inf",
null
],
"points": 1.38,
"desc": "문제 2/행성/반복/계속 반복하기",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][0].type",
"$[0][2].statements[0][0].params[0].type"
],
"answer": [
"_if",
"reach_something"
],
"points": 1.38,
"desc": "문제 2/행성/만일/만일 '우주선' 에 닿았는가? 라면",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][0].statements[0][0].type",
"$[0][2].statements[0][0].statements[0][0].params[1].params[0]"
],
"answer": [
"change_variable",
"50"
],
"points": 1.38,
"desc": "문제 2/행성/[만일]의 세부 동작 1/'연료' 에 '50' 만큼 더하기",
"type": "list"
},
{
"ele": "$[0][2].statements[0][0].statements[0][1].type",
"answer": "hide",
"points": 1.38,
"desc": "문제 2/행성/[만일]의 세부 동작 2/모양 숨기기"
},
{
"ele": [
"$[0][2].statements[0][1].type",
"$[0][2].statements[0][1].params[0].params[0]"
],
"answer": [
"wait_second",
"1"
],
"points": 1.38,
"desc": "문제 2/행성/[반복]의 세부 동작 1/'1' 초 기다리기",
"type": "list"
},
{
"ele": "$[0][2].statements[0][2].type",
"answer": "show",
"points": 1.38,
"desc": "문제 2/행성/[반복]의 세부 동작 2/모양 보이기"
}
],
"sort": 125
},
"32-0": {
"ele": "$.messages[?(@.name=='탐사 성공')]",
"points": 1.38,
"desc": "문제 2/우주선/신호/'탐사 성공' 신호 만들기",
"type": "scene",
"sort": 132
},
"6-0": {
"type": "script",
"ele": "$.objects[?(@.name=~'우주선')].script",
"blocks": [
{
"ele": "$[0][0].type",
"answer": "when_run_button_click",
"points": 1.38,
"desc": "문제 2/우주선/시작/시작하기 버튼을 클릭했을 때"
},
{
"ele": [
"$[0][1].type",
"$[0][1].params[0]"
],
"answer": [
"repeat_inf",
null
],
"points": 1.38,
"desc": "문제 2/우주선/반복/계속 반복하기",
"type": "list"
},
{
"ele": [
"$[0][1].statements[0][0].type",
"$[0][1].statements[0][0].params[0].type",
"$[0][1].statements[0][0].params[0].params[0]"
],
"answer": [
"_if",
"is_press_some_key",
"37"
],
"points": 1.38,
"desc": "문제 2/우주선/만일 1/만일 '왼쪽 화살표' 키가 눌러져 있는가? 라면",
"type": "list"
},
{
"ele": [
"$[0][1].statements[0][0].statements[0][0].type",
"$[0][1].statements[0][0].statements[0][0].params[0].params[0]"
],
"answer": [
"move_x",
"-5"
],
"points": 1.38,
"desc": "문제 2/우주선/[만일 1]의 세부 동작 1/x 좌표를 '-5' 만큼 바꾸기",
"type": "list"
},
{
"ele": [
"$[0][1].statements[0][0].statements[0][1].type",
"$[0][1].statements[0][0].statements[0][1].params[1].params[0]"
],
"answer": [
"change_variable",
"-1"
],
"points": 1.38,
"desc": "문제 2/우주선/[만일 1]의 세부 동작 2/'연료' 에 '-1' 만큼 더하기",
"type": "list"
},
{
"ele": [
"$[0][1].statements[0][1].type",
"$[0][1].statements[0][1].params[0].type",
"$[0][1].statements[0][1].params[0].params[0]"
],
"answer": [
"_if",
"is_press_some_key",
"39"
],
"points": 1.38,
"desc": "문제 2/우주선/만일 2/만일 '오른쪽 화살표' 키가 눌러져 있는가? 라면",
"type": "list"
},
{
"ele": [
"$[0][1].statements[0][1].statements[0][0].type",
"$[0][1].statements[0][1].statements[0][0].params[0].params[0]"
],
"answer": [
"move_x",
"5"
],
"points": 1.38,
"desc": "문제 2/우주선/[만일 2]의 세부 동작 1/x 좌표를 '5' 만큼 바꾸기",
"type": "list"
},
{
"ele": [
"$[0][1].statements[0][1].statements[0][1].type",
"$[0][1].statements[0][1].statements[0][1].params[1].params[0]"
],
"answer": [
"change_variable",
"-1"
],
"points": 1.38,
"desc": "문제 2/우주선/[만일 2]의 세부 동작 2/'연료' 에 '-1' 만큼 더하기",
"type": "list"
},
{
"ele": [
"$[0][1].statements[0][2].type",
"$[0][1].statements[0][2].params[0].type",
"$[0][1].statements[0][2].params[0].params[0]"
],
"answer": [
"_if",
"is_press_some_key",
"38"
],
"points": 1.38,
"desc": "문제 2/우주선/만일 3/만일 '위쪽 화살표' 키가 눌러져 있는가? 라면",
"type": "list"
},
{
"ele": [
"$[0][1].statements[0][2].statements[0][0].type",
"$[0][1].statements[0][2].statements[0][0].params[0].params[0]"
],
"answer": [
"move_y",
"5"
],
"points": 1.38,
"desc": "문제 2/우주선/[만일 3]의 세부 동작 1/y 좌표를 '5' 만큼 바꾸기",
"type": "list"
},
{
"ele": [
"$[0][1].statements[0][2].statements[0][1].type",
"$[0][1].statements[0][2].statements[0][1].params[1].params[0]"
],
"answer": [
"change_variable",
"-1"
],
"points": 1.38,
"desc": "문제 2/우주선/[만일 3]의 세부 동작 2/'연료' 에 '-1' 만큼 더하기",
"type": "list"
},
{
"ele": [
"$[0][1].statements[0][3].type",
"$[0][1].statements[0][3].params[0].type",
"$[0][1].statements[0][3].params[0].params[0]"
],
"answer": [
"_if",
"is_press_some_key",
"40"
],
"points": 1.38,
"desc": "문제 2/우주선/만일 4/만일 '아래쪽 화살표' 키가 눌러져 있는가? 라면",
"type": "list"
},
{
"ele": [
"$[0][1].statements[0][3].statements[0][0].type",
"$[0][1].statements[0][3].statements[0][0].params[0].params[0]"
],
"answer": [
"move_y",
"-5"
],
"points": 1.38,
"desc": "문제 2/우주선/[만일 4]의 세부 동작 1/y 좌표를 '-5' 만큼 바꾸기",
"type": "list"
},
{
"ele": [
"$[0][1].statements[0][3].statements[0][1].type",
"$[0][1].statements[0][3].statements[0][1].params[1].params[0]"
],
"answer": [
"change_variable",
"-1"
],
"points": 1.38,
"desc": "문제 2/우주선/[만일 4]의 세부 동작 2/'연료' 에 '-1' 만큼 더하기",
"type": "list"
},
{
"ele": [
"$[0][1].statements[0][4].type",
"$[0][1].statements[0][4].params[0].type"
],
"answer": [
"_if",
"boolean_and_or"
],
"points": 1.38,
"desc": "문제 2/우주선/만일 5/만일 '점수' 값 ≥ '30' '그리고' '연료' 값 > '0'",
"type": "list"
},
{
"ele": "$[0][1].statements[0][4].statements[0][0].params[*].params",
"answer": [
"탐사성공!",
"1"
],
"points": 1.38,
"desc": "문제 2/우주선/[만일 5]의 세부 동작 1/'탐사성공!' 을 '1' 초 동안 '말하기'"
},
{
"ele": "$[0][1].statements[0][4].statements[0][1].type",
"answer": "message_cast",
"points": 1.38,
"desc": "문제 2/우주선/[만일 5]의 세부 동작 2/'탐사 성공' 신호 보내기"
},
{
"ele": [
"$[0][1].statements[0][5].type",
"$[0][1].statements[0][5].params[0].type",
"$[0][1].statements[0][5].params[0].params[0].type",
"$[0][1].statements[0][5].params[0].params[1]",
"$[0][1].statements[0][5].params[0].params[2].params[0]"
],
"answer": [
"_if",
"boolean_basic_operator",
"get_variable",
"LESS_OR_EQUAL",
"0"
],
"points": 1.38,
"desc": "문제 2/우주선/만일 6/만일 '연료' 값 ≤ '0' 이라면",
"type": "list"
},
{
"ele": "$[0][1].statements[0][5].statements[0][0].params[*].params",
"answer": [
"미션실패",
"2"
],
"points": 1.38,
"desc": "문제 2/우주선/[만일 6]의 세부 동작 1/'미션실패' 를 '2' 초 동안 '말하기'"
},
{
"ele": [
"$[0][1].statements[0][5].statements[0][1].type",
"$[0][1].statements[0][5].statements[0][1].params[0]"
],
"answer": [
"stop_object",
"all"
],
"points": 1.38,
"desc": "문제 2/우주선/[만일 6]의 세부 동작 2/'모든' 코드 멈추기",
"type": "list"
},
{
"ele": "$[1][0].type",
"answer": "when_message_cast",
"points": 1.38,
"desc": "문제 2/우주선/탐사 성공/'탐사 성공' 신호를 받았을 때 "
},
{
"ele": "$[1][1].type",
"answer": "start_neighbor_scene",
"points": 1.38,
"desc": "문제 2/우주선/[탐사 성공]의 세부 동작/'다음' 장면 시작하기"
}
],
"sort": 133
},
"7-0": {
"type": "script",
"ele": "$.objects[?(@.name=~'우주정거장')].script",
"blocks": [
{
"ele": "$[0][0].type",
"answer": "when_scene_start",
"points": 1.38,
"desc": "문제 2/우주정거장/장면/장면이 시작되었을 때"
},
{
"ele": "$[0][1].type",
"answer": "hide_variable",
"points": 1.38,
"desc": "문제 2/우주정거장/[장면 2]의 세부 동작 1/변수 '연료' 숨기기"
},
{
"ele": "$[0][2].type",
"answer": "hide_variable",
"points": 1.38,
"desc": "문제 2/우주정거장/[장면 2]의 세부 동작 2/변수 '점수' 숨기기"
},
{
"ele": [
"$[0][3].type",
"$[0][3].params[0].params[0]",
"$[0][3].params[1]"
],
"answer": [
"dialog",
"탐사 완료!",
"speak"
],
"points": 1.38,
"desc": "문제 2/우주정거장/[장면 2]의 세부 동작 3/'탐사 완료!' 를 '말하기'",
"type": "list"
},
{
"ele": "$[1][0].type",
"answer": "when_object_click",
"points": 2,
"desc": "문제 3/우주정거장/오브젝트/오브젝트를 클릭했을 때"
},
{
"ele": [
"$[1][1].type",
"$[1][1].params[0]",
"$[1][1].params[1].params[0]"
],
"answer": [
"add_effect_amount",
"color",
"50"
],
"points": 2,
"desc": "문제 3/우주정거장/[오브젝트]의 세부 동작 1/'색깔' 효과를 '50' 만큼 주기",
"type": "list"
},
{
"ele": [
"$[1][2].type",
"$[1][2].params[0].params[0]",
"$[1][2].params[1]"
],
"answer": [
"dialog",
"처음부터 다시 실행합니다.",
"speak"
],
"points": 2,
"desc": "문제 3/우주정거장/[오브젝트]의 세부 동작 2/'처음부터 다시 실행합니다.' 를 '말하기'",
"type": "list"
},
{
"ele": [
"$[1][3].type",
"$[1][3].params[0].params[0]"
],
"answer": [
"wait_second",
"2"
],
"points": 2,
"desc": "문제 3/우주정거장/[오브젝트]의 세부 동작 3/'2' 초 기다리기",
"type": "list"
},
{
"ele": "$[1][4].type",
"answer": "restart_project",
"points": 2,
"desc": "문제 3/우주정거장/[오브젝트]의 세부 동작 4/처음부터 다시 실행하기"
}
],
"sort": 156
}
}

825
correct/2508_CAS_2_B.json Normal file
View File

@@ -0,0 +1,825 @@
{
"1-1": {
"type": "scene",
"ele": "$..objects[?(@.name=='체육관')]",
"points": 1.7,
"desc": "문제 1/장면 1/[배경] 이름 설정 1/이름을 '체육관'으로 변경하기",
"sort": 11
},
"1-2": {
"type": "scene",
"ele": "$..objects[?(@.name=='복도')]",
"points": 1.7,
"desc": "문제 1/장면 2/[배경] 이름 설정 2/이름을 '복도'로 변경하기",
"sort": 12
},
"1-3": {
"type": "scene",
"ele": "$..objects[?(@.name=='곰인형')]",
"points": 1.6,
"desc": "문제 1/곰인형/[개체] 이름 설정 1/이름 변경 없음",
"sort": 13
},
"1-4": {
"type": "scene",
"ele": "$..objects[?(@.name=='풍선')]",
"points": 1.6,
"desc": "문제 1/풍선/[개체] 이름 설정 2/이름 변경 없음",
"sort": 14
},
"1-5": {
"type": "scene",
"ele": "$..objects[?(@.name=='다트 날개')]",
"points": 1.7,
"desc": "문제 1/빛나는 효과/[개체] 이름 설정 3/이름을 '다트 날개'로 변경하기",
"sort": 15
},
"1-6": {
"type": "scene",
"ele": "$..objects[?(@.name=='다트')]",
"points": 1.7,
"desc": "문제 1/룰렛 화살표/[개체] 이름 설정 4/이름을 '다트'로 변경하기",
"sort": 16
},
"1-0": {
"ele": "$..variables[?(@.name=='다트 개수')]",
"points": 1.29,
"desc": "문제 2/곰인형/변수 1/'다트 개수' 변수 만들기 (변수 기본값은 '0', '모든 오브젝트에 사용' 설정하기)",
"type": "scene",
"sort": 101
},
"2-0": {
"ele": "$..variables[?(@.name=='점수')]",
"points": 1.29,
"desc": "문제 2/곰인형/변수 2/'점수' 변수 만들기 (변수 기본값은 '0', '모든 오브젝트에 사용' 설정하기)",
"type": "scene",
"sort": 102
},
"3-0": {
"type": "script",
"ele": "$.objects[?(@.name=~'곰인형')].script",
"blocks": [
{
"ele": "$[0][0].type",
"answer": "when_run_button_click",
"points": 1.29,
"desc": "문제 2/곰인형/시작/시작하기 버튼을 클릭했을 때"
},
{
"ele": [
"$[0][1].type",
"$[0][1].params[0].params[0]",
"$[0][1].params[1].params[0]"
],
"answer": [
"locate_xy",
"180",
"-70"
],
"points": 1.29,
"desc": "문제 2/곰인형/[시작]의 세부 동작 1/x: '180' y: '-70' 위치로 이동하기",
"type": "list"
},
{
"ele": "$[0][2].params[0].params[0]",
"answer": "25",
"points": 1.29,
"desc": "문제 2/곰인형/[시작]의 세부 동작 2/크기를 '25' 로 정하기"
},
{
"ele": "$[0][3].type",
"answer": "hide",
"points": 1.29,
"desc": "문제 2/곰인형/[시작]의 세부 동작 3/모양 숨기기"
},
{
"ele": [
"$[0][4].type",
"$[0][4].params[0].params[0]"
],
"answer": [
"repeat_basic",
"3"
],
"points": 1.29,
"desc": "문제 2/곰인형/반복/'3' 번 반복하기",
"type": "list"
},
{
"ele": [
"$[0][4].statements[0][0].type",
"$[0][4].statements[0][0].params[0]"
],
"answer": [
"create_clone",
"self"
],
"points": 1.29,
"desc": "문제 2/곰인형/[반복]의 세부 동작 1/'자신' 의 복제본 만들기",
"type": "list"
},
{
"ele": [
"$[0][4].statements[0][1].type",
"$[0][4].statements[0][1].params[0].params[0]"
],
"answer": [
"move_y",
"70"
],
"points": 1.29,
"desc": "문제 2/곰인형/[반복]의 세부 동작 2/y 좌표를 '70' 만큼 바꾸기",
"type": "list"
},
{
"ele": "$[1][0].type",
"answer": "when_clone_start",
"points": 1.29,
"desc": "문제 2/곰인형/복제본/복제본이 처음 생성되었을 때"
},
{
"ele": "$[1][1].type",
"answer": "show",
"points": 1.29,
"desc": "문제 2/곰인형/[복제본]의 세부 동작/모양 보이기"
},
{
"ele": [
"$[1][2].type",
"$[1][2].params[0]"
],
"answer": [
"repeat_inf",
null
],
"points": 1.29,
"desc": "문제 2/곰인형/반복/계속 반복하기",
"type": "list"
},
{
"ele": [
"$[1][2].statements[0][0].type",
"$[1][2].statements[0][0].params[0].type"
],
"answer": [
"_if",
"reach_something"
],
"points": 1.29,
"desc": "문제 2/곰인형/만일/만일 '다트'에 닿았는가? 라면",
"type": "list"
},
{
"ele": [
"$[1][2].statements[0][0].statements[0][0].type",
"$[1][2].statements[0][0].statements[0][0].params[1].params[0]"
],
"answer": [
"change_variable",
"-5"
],
"points": 1.29,
"desc": "문제 2/곰인형/[만일]의 세부 동작 1/'점수' 에 '-5' 만큼 더하기",
"type": "list"
},
{
"ele": "$[1][2].statements[0][0].statements[0][1].type",
"answer": "delete_clone",
"points": 1.29,
"desc": "문제 2/곰인형/[만일]의 세부 동작 2/이 복제본 삭제하기"
}
],
"sort": 105
},
"4-0": {
"type": "script",
"ele": "$.objects[?(@.name=~'풍선')].script",
"blocks": [
{
"ele": "$[0][0].type",
"answer": "when_run_button_click",
"points": 1.29,
"desc": "문제 2/풍선/시작/시작하기 버튼을 클릭했을 때"
},
{
"ele": [
"$[0][1].type",
"$[0][1].params[0].params[0]",
"$[0][1].params[1].params[0]"
],
"answer": [
"locate_xy",
"130",
"-100"
],
"points": 1.29,
"desc": "문제 2/풍선/[시작]의 세부 동작 1/x: '130' y: '-100' 위치로 이동하기",
"type": "list"
},
{
"ele": "$[0][2].params[0].params[0]",
"answer": "30",
"points": 1.29,
"desc": "문제 2/풍선/[시작]의 세부 동작 2/크기를 '30' 으로 정하기"
},
{
"ele": "$[0][3].type",
"answer": "hide",
"points": 1.29,
"desc": "문제 2/풍선/[시작]의 세부 동작 3/모양 숨기기"
},
{
"ele": [
"$[0][4].type",
"$[0][4].params[0].params[0]"
],
"answer": [
"repeat_basic",
"6"
],
"points": 1.29,
"desc": "문제 2/풍선/반복/'6' 번 반복하기",
"type": "list"
},
{
"ele": [
"$[0][4].statements[0][0].type",
"$[0][4].statements[0][0].params[0]"
],
"answer": [
"create_clone",
"self"
],
"points": 1.29,
"desc": "문제 2/풍선/[반복]의 세부 동작 1/'자신' 의 복제본 만들기",
"type": "list"
},
{
"ele": [
"$[0][4].statements[0][1].type",
"$[0][4].statements[0][1].params[0].params[0]"
],
"answer": [
"move_y",
"40"
],
"points": 1.29,
"desc": "문제 2/풍선/[반복]의 세부 동작 2/y 좌표를 '40' 만큼 바꾸기",
"type": "list"
},
{
"ele": "$[1][0].type",
"answer": "when_clone_start",
"points": 1.29,
"desc": "문제 2/풍선/복제본/복제본이 처음 생성되었을 때"
},
{
"ele": "$[1][1].type",
"answer": "show",
"points": 1.29,
"desc": "문제 2/풍선/[복제본]의 세부 동작/모양 보이기"
},
{
"ele": [
"$[1][2].type",
"$[1][2].params[0]"
],
"answer": [
"repeat_inf",
null
],
"points": 1.29,
"desc": "문제 2/풍선/반복/계속 반복하기",
"type": "list"
},
{
"ele": [
"$[1][2].statements[0][0].type",
"$[1][2].statements[0][0].params[0].type"
],
"answer": [
"_if",
"reach_something"
],
"points": 1.29,
"desc": "문제 2/풍선/만일/만일 '다트' 에 닿았는가? 라면",
"type": "list"
},
{
"ele": [
"$[1][2].statements[0][0].statements[0][0].type",
"$[1][2].statements[0][0].statements[0][0].params[0].type"
],
"answer": [
"change_to_some_shape",
"get_pictures"
],
"points": 1.29,
"desc": "문제 2/풍선/[만일]의 세부 동작 1/'풍선_터짐' 모양으로 바꾸기",
"type": "list"
},
{
"ele": [
"$[1][2].statements[0][0].statements[0][1].type",
"$[1][2].statements[0][0].statements[0][1].params[0].params[0]"
],
"answer": [
"wait_second",
"0.5"
],
"points": 1.29,
"desc": "문제 2/풍선/[만일]의 세부 동작 2/'0.5' 초 기다리기",
"type": "list"
},
{
"ele": [
"$[1][2].statements[0][0].statements[0][2].type",
"$[1][2].statements[0][0].statements[0][2].params[1].params[0]"
],
"answer": [
"change_variable",
"10"
],
"points": 1.29,
"desc": "문제 2/풍선/[만일]의 세부 동작 3/'점수' 에 '10' 만큼 더하기",
"type": "list"
},
{
"ele": "$[1][2].statements[0][0].statements[0][3].type",
"answer": "delete_clone",
"points": 1.29,
"desc": "문제 2/풍선/[만일]의 세부 동작 4/이 복제본 삭제하기"
}
],
"sort": 117
},
"5-0": {
"type": "script",
"ele": "$.objects[?(@.name=~'다트 날개|빛나는 효')].script",
"blocks": [
{
"ele": "$[0][0].type",
"answer": "when_run_button_click",
"points": 1.29,
"desc": "문제 2/다트 날개/시작/시작하기 버튼을 클릭했을 때"
},
{
"ele": "$[0][1].params[0].params[0]",
"answer": "50",
"points": 1.29,
"desc": "문제 2/다트 날개/[시작]의 세부 동작/크기를 '50' 으로 정하기"
},
{
"ele": [
"$[0][2].type",
"$[0][2].params[0]"
],
"answer": [
"repeat_inf",
null
],
"points": 1.29,
"desc": "문제 2/다트 날개/반복/계속 반복하기",
"type": "list"
},
{
"ele": "$[0][2].statements[0][0].type",
"answer": "locate",
"points": 1.29,
"desc": "문제 2/다트 날개/[반복]의 세부 동작 1/'다트' 위치로 이동하기"
},
{
"ele": [
"$[0][2].statements[0][1].type",
"$[0][2].statements[0][1].params[0].params[0]"
],
"answer": [
"move_x",
"-20"
],
"points": 1.29,
"desc": "문제 2/다트 날개/[반복]의 세부 동작 2/x 좌표를 '-20' 만큼 바꾸기",
"type": "list"
}
],
"sort": 132
},
"6-0": {
"type": "script",
"ele": "$.objects[?(@.name=~'다트|룰렛 화살')].script",
"blocks": [
{
"ele": "$[0][0].type",
"answer": "when_run_button_click",
"points": 1.29,
"desc": "문제 2/다트/시작/시작하기 버튼을 클릭했을 때"
},
{
"ele": [
"$[0][1].type",
"$[0][1].params[1].params[0]"
],
"answer": [
"set_variable",
"10"
],
"points": 1.29,
"desc": "문제 2/다트/[시작]의 세부 동작 1/'다트 개수' 를 '10' 으로 정하기",
"type": "list"
},
{
"ele": [
"$[0][2].type",
"$[0][2].params[0].params[0]",
"$[0][2].params[1].params[0]"
],
"answer": [
"locate_xy",
"-180",
"-20"
],
"points": 1.29,
"desc": "문제 2/다트/[시작]의 세부 동작 2/x: '-180' y: '-20' 위치로 이동하기",
"type": "list"
},
{
"ele": [
"$[0][3].type",
"$[0][3].params[0].params[0]"
],
"answer": [
"rotate_absolute",
"90"
],
"points": 1.29,
"desc": "문제 2/다트/[시작]의 세부 동작 3/방향을 '90°' 로 정하기",
"type": "list"
},
{
"ele": "$[0][4].params[0].params[0]",
"answer": "40",
"points": 1.29,
"desc": "문제 2/다트/[시작]의 세부 동작 4/크기를 '40' 으로 정하기"
},
{
"ele": [
"$[0][5].type",
"$[0][5].params[0]"
],
"answer": [
"repeat_inf",
null
],
"points": 1.29,
"desc": "문제 2/다트/반복/계속 반복하기",
"type": "list"
},
{
"ele": [
"$[0][5].statements[0][0].type",
"$[0][5].statements[0][0].params[0].type",
"$[0][5].statements[0][0].params[0].params[0]"
],
"answer": [
"_if",
"is_press_some_key",
"38"
],
"points": 1.29,
"desc": "문제 2/다트/만일 1/만일 '위쪽 화살표' 키가 눌러져 있는가? 라면",
"type": "list"
},
{
"ele": [
"$[0][5].statements[0][0].statements[0][0].type",
"$[0][5].statements[0][0].statements[0][0].params[0].params[0]"
],
"answer": [
"move_y",
"3"
],
"points": 1.29,
"desc": "문제 2/다트/[만일 1]의 세부 동작/y 좌표를 '3' 만큼 바꾸기",
"type": "list"
},
{
"ele": [
"$[0][5].statements[0][1].type",
"$[0][5].statements[0][1].params[0].type",
"$[0][5].statements[0][1].params[0].params[0]"
],
"answer": [
"_if",
"is_press_some_key",
"40"
],
"points": 1.29,
"desc": "문제 2/다트/만일 2/만일 '아래쪽 화살표' 키가 눌러져 있는가? 라면",
"type": "list"
},
{
"ele": [
"$[0][5].statements[0][1].statements[0][0].type",
"$[0][5].statements[0][1].statements[0][0].params[0].params[0]"
],
"answer": [
"move_y",
"-3"
],
"points": 1.29,
"desc": "문제 2/다트/[만일 2]의 세부 동작/y 좌표를 '-3' 만큼 바꾸기",
"type": "list"
},
{
"ele": "$[1][0].params",
"answer": [
null,
"32"
],
"points": 1.29,
"desc": "문제 2/다트/스페이스/'스페이스' 키를 눌렀을 때"
},
{
"ele": [
"$[1][1].type",
"$[1][1].params[0].type",
"$[1][1].params[0].params[0].type",
"$[1][1].params[0].params[1]",
"$[1][1].params[0].params[2].params[0]"
],
"answer": [
"if_else",
"boolean_basic_operator",
"get_variable",
"GREATER_OR_EQUAL",
"50"
],
"points": 1.29,
"desc": "문제 2/다트/만일/만일 '점수' 값 ≥ '50' 이라면",
"type": "list"
},
{
"ele": [
"$[1][1].statements[0][0].type",
"$[1][1].statements[0][0].params[0]"
],
"answer": [
"stop_object",
"all"
],
"points": 1.29,
"desc": "문제 2/다트/[만일]의 세부 동작/'모든' 코드 멈추기",
"type": "list"
},
{
"ele": [
"$[1][1].statements[1][0].type",
"$[1][1].statements[1][0].params[0].params[0]",
"$[1][1].statements[1][0].params[1].params[0]",
"$[1][1].statements[1][0].params[2].params[0]"
],
"answer": [
"locate_xy_time",
"1",
"330",
null
],
"points": 1.29,
"desc": "문제 2/다트/[아니면]의 세부 동작 1/'1' 초 동안 x: '330' y: '자신의 y 좌푯값' 위치로 이동하기",
"type": "list"
},
{
"ele": [
"$[1][1].statements[1][1].type",
"$[1][1].statements[1][1].params[0].params[0]",
"$[1][1].statements[1][1].params[1].params[0]"
],
"answer": [
"locate_xy",
"-180",
"-20"
],
"points": 1.29,
"desc": "문제 2/다트/[아니면]의 세부 동작 2/x: '-180' y: '-20' 위치로 이동하기",
"type": "list"
},
{
"ele": [
"$[1][1].statements[1][2].type",
"$[1][1].statements[1][2].params[1].params[0]"
],
"answer": [
"change_variable",
"-1"
],
"points": 1.29,
"desc": "문제 2/다트/[아니면]의 세부 동작 3/'다트 개수' 에 '-1' 만큼 더하기",
"type": "list"
},
{
"ele": [
"$[1][1].statements[1][3].type",
"$[1][1].statements[1][3].params[0].params[0]"
],
"answer": [
"wait_second",
"0.1"
],
"points": 1.29,
"desc": "문제 2/다트/[아니면]의 세부 동작 4/'0.1' 초 기다리기",
"type": "list"
},
{
"ele": [
"$[1][1].statements[1][4].type",
"$[1][1].statements[1][4].params[0]"
],
"answer": [
"repeat_inf",
null
],
"points": 1.29,
"desc": "문제 2/다트/반복/계속 반복하기",
"type": "list"
},
{
"ele": [
"$[1][1].statements[1][4].statements[0][0].type",
"$[1][1].statements[1][4].statements[0][0].params[0].type",
"$[1][1].statements[1][4].statements[0][0].params[0].params[0].params[0].type",
"$[1][1].statements[1][4].statements[0][0].params[0].params[0].params[1]",
"$[1][1].statements[1][4].statements[0][0].params[0].params[0].params[2].params[0]",
"$[1][1].statements[1][4].statements[0][0].params[0].params[1]",
"$[1][1].statements[1][4].statements[0][0].params[0].params[2].type",
"$[1][1].statements[1][4].statements[0][0].params[0].params[2].params[0].type",
"$[1][1].statements[1][4].statements[0][0].params[0].params[2].params[1]",
"$[1][1].statements[1][4].statements[0][0].params[0].params[2].params[2].params[0]"
],
"answer": [
"_if",
"boolean_and_or",
"get_variable",
"EQUAL",
"0",
"AND",
"boolean_basic_operator",
"get_variable",
"LESS",
"50"
],
"points": 1.31,
"desc": "문제 2/다트/만일 1/만일 '다트 개수' 값 = '0' '그리고' '점수 값' < '50' 이라면",
"type": "list"
},
{
"ele": "$[1][1].statements[1][4].statements[0][0].statements[0][0].type",
"answer": "start_neighbor_scene",
"points": 1.29,
"desc": "문제 2/다트/[만일 1]의 세부 동작/'다음' 장면 시작하기"
},
{
"ele": [
"$[1][1].statements[1][4].statements[0][1].type",
"$[1][1].statements[1][4].statements[0][1].params[0].type",
"$[1][1].statements[1][4].statements[0][1].params[0].params[0].type",
"$[1][1].statements[1][4].statements[0][1].params[0].params[1]",
"$[1][1].statements[1][4].statements[0][1].params[0].params[2].params[0]"
],
"answer": [
"_if",
"boolean_basic_operator",
"get_variable",
"GREATER_OR_EQUAL",
"50"
],
"points": 1.29,
"desc": "문제 2/다트/만일 2/만일 '점수' 값 ≥ '50' 이라면",
"type": "list"
},
{
"ele": [
"$[1][1].statements[1][4].statements[0][1].statements[0][0].type",
"$[1][1].statements[1][4].statements[0][1].statements[0][0].params[0].params[0]",
"$[1][1].statements[1][4].statements[0][1].statements[0][0].params[1]"
],
"answer": [
"dialog",
"미션 성공!",
"speak"
],
"points": 1.29,
"desc": "문제 2/다트/[만일 2]의 세부 동작 1/'미션 성공!' 을 '말하기'",
"type": "list"
},
{
"ele": [
"$[1][1].statements[1][4].statements[0][1].statements[0][1].type",
"$[1][1].statements[1][4].statements[0][1].statements[0][1].params[0]"
],
"answer": [
"stop_object",
"all"
],
"points": 1.29,
"desc": "문제 2/다트/[만일 2]의 세부 동작 2/'모든' 코드 멈추기",
"type": "list"
}
],
"sort": 137
},
"7-0": {
"type": "script",
"ele": "$.objects[?(@.name=~'복도|장면 ')].script",
"blocks": [
{
"ele": "$[0][0].type",
"answer": "when_scene_start",
"points": 1.29,
"desc": "문제 2/복도/장면/장면이 시작되었을 때"
},
{
"ele": "$[0][1].type",
"answer": "hide_variable",
"points": 1.29,
"desc": "문제 2/복도/[장면 2]의 세부 동작 1/변수 '다트 개수' 숨기기"
},
{
"ele": "$[0][2].type",
"answer": "hide_variable",
"points": 1.29,
"desc": "문제 2/복도/[장면 2]의 세부 동작 2/변수 '점수' 숨기기"
},
{
"ele": [
"$[0][3].type",
"$[0][3].params[0].params[0]",
"$[0][3].params[1]"
],
"answer": [
"dialog",
"미션 실패!",
"speak"
],
"points": 1.29,
"desc": "문제 2/복도/[장면 2]의 세부 동작 3/'미션 실패!' 를 '말하기'",
"type": "list"
},
{
"ele": "$[1][0].type",
"answer": "when_object_click",
"points": 2,
"desc": "문제 3/복도/오브젝트/오브젝트를 클릭했을 때"
},
{
"ele": [
"$[1][1].type",
"$[1][1].params[0]",
"$[1][1].params[1].params[0]"
],
"answer": [
"add_effect_amount",
"color",
"60"
],
"points": 2,
"desc": "문제 3/복도/[오브젝트]의 세부 동작 1/'색깔' 효과를 '60' 만큼 주기",
"type": "list"
},
{
"ele": [
"$[1][2].type",
"$[1][2].params[0].params[0]",
"$[1][2].params[1]"
],
"answer": [
"dialog",
"처음부터 다시 실행합니다.",
"speak"
],
"points": 2,
"desc": "문제 3/복도/[오브젝트]의 세부 동작 2/'처음부터 다시 실행합니다.' 를 '말하기'",
"type": "list"
},
{
"ele": [
"$[1][3].type",
"$[1][3].params[0].params[0]"
],
"answer": [
"wait_second",
"2"
],
"points": 2,
"desc": "문제 3/복도/[오브젝트]의 세부 동작 3/'2' 초 기다리기",
"type": "list"
},
{
"ele": "$[1][4].type",
"answer": "restart_project",
"points": 2,
"desc": "문제 3/복도/[오브젝트]의 세부 동작 4/처음부터 다시 실행하기"
}
],
"sort": 160
}
}

877
correct/_2508_CAS_2_A.json Normal file
View File

@@ -0,0 +1,877 @@
{
"1-1": {
"type": "scene",
"ele": "$..objects[?(@.name=='우주')]",
"points": 1.8,
"desc": "장면 1/[배경] 이름 설정 1/이름을 ‘우주’로 변경하기",
"sort": 11
},
"1-2": {
"type": "scene",
"ele": "$..objects[?(@.name=='우주정거장')]",
"points": 1.8,
"desc": "장면 2/[배경] 이름 설정 2/이름 변경 없음",
"sort": 12
},
"1-3": {
"type": "scene",
"ele": "$..objects[?(@.name=='에너지원')]",
"points": 1.6,
"desc": "물약(빨강)/[개체] 이름 설정 1/이름을 ‘에너지원’으로 변경하기",
"sort": 13
},
"1-4": {
"type": "scene",
"ele": "$..objects[?(@.name=='운석')]",
"points": 1.6,
"desc": "검은 돌멩이/[개체] 이름 설정 2/이름을 ‘운석’으로 변경하기",
"sort": 14
},
"1-5": {
"type": "scene",
"ele": "$..objects[?(@.name=='행성')]",
"points": 1.6,
"desc": "행성(5)/[개체] 이름 설정 3/이름을 ‘행성’으로 변경하기",
"sort": 15
},
"1-6": {
"type": "scene",
"ele": "$..objects[?(@.name=='우주선')]",
"points": 1.6,
"desc": "우주선 탄 엔트리봇/[개체] 이름 설정 4/이름을 ‘우주선’으로 변경하기",
"sort": 16
},
"1-7": {
"type": "scene",
"ele": "$..variables[?(@.name=='연료')]",
"points": 1,
"desc": "문제 2/에너지원/변수 1/‘연료’변수 만들기 (변수 기본값은 100, ‘모든 오브젝트에 사용’ 설정하기)",
"sort": 101
},
"1-8": {
"type": "scene",
"ele": "$..variables[?(@.name=='점수')]",
"points": 1,
"desc": "문제 2/에너지원/변수 2/‘점수’ 변수 만들기 (변수 기본값은 0, ‘모든 오브젝트에 사용’ 설정하기)",
"sort": 102
},
"2-0": {
"type": "script",
"ele": "$.objects[?(@.name=~'에너지원')].script",
"blocks": [
{
"ele": "$[0][0].type",
"answer": "when_run_button_click",
"points": 1.2,
"desc": "문제 2/에너지원/시작/시작하기 버튼을 클릭했을 때"
},
{
"ele": "$[0][1].params[0].params[0]",
"answer": "50",
"points": 1.2,
"desc": "문제 2/에너지원/[시작]의 세부 동작/크기를 50 으로 정하기"
},
{
"ele": [
"$[0][2].type",
"$[0][2].params[0]"
],
"answer": [
"repeat_inf",
null
],
"points": 1.2,
"desc": "문제 2/에너지원/반복/계속 반복하기",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][0].type",
"$[0][2].statements[0][0].params[0]"
],
"answer": [
"hide",
null
],
"points": 1.2,
"desc": "문제 2/에너지원/[반복]의 세부 동작 1/모양 숨기기",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][0].statements[0][0].type",
"$[0][2].statements[0][0].statements[0][0].params[1].params[0]"
],
"answer": [
"change_variable",
"1"
],
"points": 1.2,
"desc": "문제 2/빨간 물고기/[만일]의 세부 동작 1/'물고기 수'에 '1' 만큼 더하기",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][0].statements[0][1].type",
"$[0][2].statements[0][0].statements[0][1].params[0].params[0]"
],
"answer": [
"wait_second",
"0.01"
],
"points": 1.2,
"desc": "문제 2/빨간 물고기/[만일]의 세부 동작 2/'0.01' 초 기다리기",
"type": "list"
},
{
"ele": "$[0][2].statements[0][0].statements[0][2].type",
"answer": "hide",
"points": 1.2,
"desc": "문제 2/빨간 물고기/[만일]의 세부 동작 3/모양 숨기기"
},
{
"ele": [
"$[0][2].statements[0][0].statements[0][3].type",
"$[0][2].statements[0][0].statements[0][3].params[0].type",
"$[0][2].statements[0][0].statements[0][3].params[0].params[1].params[0]",
"$[0][2].statements[0][0].statements[0][3].params[0].params[3].params[0]"
],
"answer": [
"wait_second",
"calc_rand",
"0.5",
"3"
],
"points": 1.2,
"desc": "문제 2/빨간 물고기/[만일]의 세부 동작 4/'0.5 부터 3 사이의 무작위 수' 초 기다리기",
"type": "list"
},
{
"ele": "$[0][2].statements[0][0].statements[0][4].type",
"answer": "show",
"points": 1.2,
"desc": "문제 2/빨간 물고기/[만일]의 세부 동작 5/모양 보이기"
},
{
"ele": "$[1][0].type",
"answer": "when_run_button_click",
"points": 1.2,
"desc": "문제 2/빨간 물고기/시작2/시작하기 버튼을 클릭했을 때"
},
{
"ele": [
"$[1][1].type",
"$[1][1].params[0]"
],
"answer": [
"repeat_inf",
null
],
"points": 1.2,
"desc": "문제 2/빨간 물고기/반복/계속 반복하기",
"type": "list"
},
{
"ele": [
"$[1][1].statements[0][0].type",
"$[1][1].statements[0][0].params[0].params[0]"
],
"answer": [
"move_direction",
null
],
"points": 1.2,
"desc": "문제 2/빨간 물고기/[반복]의 세부 동작 1/이동 방향으로 '1 부터 2 사이의 무작위 수' 만큼 움직이기",
"type": "list"
},
{
"ele": [
"$[1][1].statements[0][1].type",
"$[1][1].statements[0][1].params[0].type",
"$[1][1].statements[0][1].params[0].params[1].params[0]",
"$[1][1].statements[0][1].params[0].params[3].params[0]"
],
"answer": [
"direction_relative",
"calc_rand",
"-1",
"1"
],
"points": 1.2,
"desc": "문제 2/빨간 물고기/[반복]의 세부 동작 2/이동 방향을 '-1 부터 1 사이의 무작위 수' 만큼 회전하기",
"type": "list"
},
{
"ele": "$[1][1].statements[0][2].type",
"answer": "bounce_wall",
"points": 1.2,
"desc": "문제 2/빨간 물고기/[반복]의 세부 동작 3/화면 끝에 닿으면 튕기기"
}
],
"sort": 102,
"list": [
"set_scale_size",
"repeat_inf"
]
},
"3-0": {
"type": "script",
"ele": "$.objects[?(@.name=~'노란 물고기|물고')].script",
"blocks": [
{
"ele": "$[0][0].type",
"answer": "when_run_button_click",
"points": 1.2,
"desc": "문제 2/노란 물고기/시작1/시작하기 버튼을 클릭했을 때"
},
{
"ele": "$[0][1].params[0].params[0]",
"answer": "30",
"points": 1.2,
"desc": "문제 2/노란 물고기/[시작1]의 세부 동작 1/크기를 '30' 으로 정하기"
},
{
"ele": [
"$[0][2].type",
"$[0][2].params[0]"
],
"answer": [
"repeat_inf",
null
],
"points": 1.2,
"desc": "문제 2/노란 물고기/반복/계속 반복하기",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][0].type",
"$[0][2].statements[0][0].params[0].type"
],
"answer": [
"_if",
"reach_something"
],
"points": 1.2,
"desc": "문제 2/노란 물고기/만일/만일 '상어' 에 닿았는가? 라면",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][0].statements[0][0].type",
"$[0][2].statements[0][0].statements[0][0].params[1].params[0]"
],
"answer": [
"change_variable",
"2"
],
"points": 1.2,
"desc": "문제 2/노란 물고기/[만일]의 세부 동작 1/물고기 수'에 '2' 만큼 더하기",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][0].statements[0][1].type",
"$[0][2].statements[0][0].statements[0][1].params[0].params[0]"
],
"answer": [
"wait_second",
"0.01"
],
"points": 1.2,
"desc": "문제 2/노란 물고기/[만일]의 세부 동작 2/'0.01' 초 기다리기",
"type": "list"
},
{
"ele": "$[0][2].statements[0][0].statements[0][2].type",
"answer": "hide",
"points": 1.2,
"desc": "문제 2/노란 물고기/[만일]의 세부 동작 3/모양 숨기기"
},
{
"ele": [
"$[0][2].statements[0][0].statements[0][3].type",
"$[0][2].statements[0][0].statements[0][3].params[0].type",
"$[0][2].statements[0][0].statements[0][3].params[0].params[1].params[0]",
"$[0][2].statements[0][0].statements[0][3].params[0].params[3].params[0]"
],
"answer": [
"wait_second",
"calc_rand",
"0.5",
"1.5"
],
"points": 1.2,
"desc": "문제 2/노란 물고기/[만일]의 세부 동작 4/'0.5' 부터 '1.5' 사이의 무작위 수' 초 기다리기",
"type": "list"
},
{
"ele": "$[0][2].statements[0][0].statements[0][4].type",
"answer": "show",
"points": 1.2,
"desc": "문제 2/노란 물고기/[만일]의 세부 동작 5/모양 보이기"
},
{
"ele": "$[1][0].type",
"answer": "when_run_button_click",
"points": 1.2,
"desc": "문제 2/노란 물고기/시작2/시작하기 버튼을 클릭했을 때"
},
{
"ele": [
"$[1][1].type",
"$[1][1].params[0]"
],
"answer": [
"repeat_inf",
null
],
"points": 1.2,
"desc": "문제 2/노란 물고기/반복/계속 반복하기",
"type": "list"
},
{
"ele": [
"$[1][1].statements[0][0].type",
"$[1][1].statements[0][0].params[0].params[0]"
],
"answer": [
"move_direction",
null
],
"points": 1.2,
"desc": "문제 2/노란 물고기/[반복]의 세부 동작 1/이동 방향으로 '1 부터 2 사이의 무작위 수' 만큼 움직이기",
"type": "list"
},
{
"ele": [
"$[1][1].statements[0][1].type",
"$[1][1].statements[0][1].params[0].type",
"$[1][1].statements[0][1].params[0].params[1].params[0]",
"$[1][1].statements[0][1].params[0].params[3].params[0]"
],
"answer": [
"direction_relative",
"calc_rand",
"-1",
"1"
],
"points": 1.2,
"desc": "문제 2/노란 물고기/[반복]의 세부 동작 2/이동 방향을 '-1 부터 1 사이의 무작위 수' 만큼 회전하기",
"type": "list"
},
{
"ele": "$[1][1].statements[0][2].type",
"answer": "bounce_wall",
"points": 1.2,
"desc": "문제 2/노란 물고기/[반복]의 세부 동작 3/화면 끝에 닿으면 튕기기"
}
],
"sort": 117,
"list": [
"set_scale_size",
"repeat_inf"
]
},
"4-0": {
"type": "script",
"ele": "$.objects[?(@.name=~'쓰레기')].script",
"blocks": [
{
"ele": "$[0][0].type",
"answer": "when_run_button_click",
"points": 1.2,
"desc": "문제 2/쓰레기/시작1/시작하기 버튼을 클릭했을 때"
},
{
"ele": "$[0][1].params[0].params[0]",
"answer": "30",
"points": 1.2,
"desc": "문제 2/쓰레기/[시작1]의 세부 동작 1/크기를 '30' 으로 정하기"
},
{
"ele": [
"$[0][2].type",
"$[0][2].params[0]"
],
"answer": [
"repeat_inf",
null
],
"points": 1.2,
"desc": "문제 2/쓰레기/반복/계속 반복하기",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][0].type",
"$[0][2].statements[0][0].params[0].type"
],
"answer": [
"_if",
"reach_something"
],
"points": 1.2,
"desc": "문제 2/쓰레기/만일/만일 '상어' 에 닿았는가? 라면",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][0].statements[0][0].type",
"$[0][2].statements[0][0].statements[0][0].params[1].params[0]"
],
"answer": [
"change_variable",
"-1"
],
"points": 1.2,
"desc": "문제 2/쓰레기/[만일]의 세부 동작 1/물고기 수'에 '-1' 만큼 더하기",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][0].statements[0][1].type",
"$[0][2].statements[0][0].statements[0][1].params[0].params[0]"
],
"answer": [
"wait_second",
"0.01"
],
"points": 1.2,
"desc": "문제 2/쓰레기/[만일]의 세부 동작 2/'0.01' 초 기다리기",
"type": "list"
},
{
"ele": "$[0][2].statements[0][0].statements[0][2].type",
"answer": "hide",
"points": 1.2,
"desc": "문제 2/쓰레기/[만일]의 세부 동작 3/모양 숨기기"
},
{
"ele": [
"$[0][2].statements[0][0].statements[0][3].type",
"$[0][2].statements[0][0].statements[0][3].params[0].type",
"$[0][2].statements[0][0].statements[0][3].params[0].params[1].params[0]",
"$[0][2].statements[0][0].statements[0][3].params[0].params[3].params[0]"
],
"answer": [
"wait_second",
"calc_rand",
"0.5",
"3"
],
"points": 1.2,
"desc": "문제 2/쓰레기/[만일]의 세부 동작 4/'0.5 부터 3 사이의 무작위 수' 초 기다리기",
"type": "list"
},
{
"ele": "$[0][2].statements[0][0].statements[0][4].type",
"answer": "show",
"points": 1.2,
"desc": "문제 2/쓰레기/[만일]의 세부 동작 5/모양 보이기"
},
{
"ele": "$[1][0].type",
"answer": "when_run_button_click",
"points": 1.2,
"desc": "문제 2/쓰레기/시작2/시작하기 버튼을 클릭했을 때"
},
{
"ele": [
"$[1][1].type",
"$[1][1].params[0]"
],
"answer": [
"repeat_inf",
null
],
"points": 1.2,
"desc": "문제 2/쓰레기/반복/계속 반복하기",
"type": "list"
},
{
"ele": [
"$[1][1].statements[0][0].type",
"$[1][1].statements[0][0].params[0].params[0]"
],
"answer": [
"move_direction",
null
],
"points": 1.2,
"desc": "문제 2/쓰레기/[반복]의 세부 동작 1/이동 방향으로 '1 부터 2 사이의 무작위 수' 만큼 움직이기",
"type": "list"
},
{
"ele": [
"$[1][1].statements[0][1].type",
"$[1][1].statements[0][1].params[0].type",
"$[1][1].statements[0][1].params[0].params[1].params[0]",
"$[1][1].statements[0][1].params[0].params[3].params[0]"
],
"answer": [
"direction_relative",
"calc_rand",
"-1",
"1"
],
"points": 1.2,
"desc": "문제 2/쓰레기/[반복]의 세부 동작 2/이동 방향을 '-1 부터 1 사이의 무작위 수' 만큼 회전하기",
"type": "list"
},
{
"ele": "$[1][1].statements[0][2].type",
"answer": "bounce_wall",
"points": 1.2,
"desc": "문제 2/쓰레기/[반복]의 세부 동작 3/화면 끝에 닿으면 튕기기"
}
],
"sort": 131,
"list": [
"set_scale_size",
"repeat_inf"
]
},
"44-0": {
"ele": "$.messages[?(@.name=='성공')]",
"points": 1,
"desc": "문제 2/상어/신호/'성공'신호 만들기",
"type": "scene",
"sort": 144
},
"5-0": {
"type": "script",
"ele": "$.objects[?(@.name=~'상어')].script",
"blocks": [
{
"ele": "$[0][0].type",
"answer": "when_run_button_click",
"points": 1.2,
"desc": "문제 2/상어/시작1/시작하기 버튼을 클릭했을 때"
},
{
"ele": "$[0][1].params[0].params[0]",
"answer": "50",
"points": 1.2,
"desc": "문제 2/상어/[시작]의 세부 동작 1/크기를 '50' 으로 정하기"
},
{
"ele": [
"$[0][2].type",
"$[0][2].params[0].params[0]",
"$[0][2].params[1].params[0]"
],
"answer": [
"locate_xy",
"-100",
"0"
],
"points": 1.2,
"desc": "문제 2/상어/[시작]의 세부 동작 2/x: '-100' y: '0' 위치로 이동하기",
"type": "list"
},
{
"ele": [
"$[0][3].type",
"$[0][3].params[0]"
],
"answer": [
"repeat_inf",
null
],
"points": 1.2,
"desc": "문제 2/상어/반복/계속 반복하기",
"type": "list"
},
{
"ele": [
"$[0][3].statements[0][0].type",
"$[0][3].statements[0][0].params[0].type",
"$[0][3].statements[0][0].params[0].params[0].type",
"$[0][3].statements[0][0].params[0].params[1]",
"$[0][3].statements[0][0].params[0].params[2].params[0]"
],
"answer": [
"_if",
"boolean_basic_operator",
"get_variable",
"GREATER",
"10"
],
"points": 1.2,
"desc": "문제 2/상어/만일/만일 '물고기 수' 값 > '10' 이라면",
"type": "list"
},
{
"ele": "$[0][3].statements[0][0].statements[0][0].type",
"answer": "message_cast",
"points": 1.2,
"desc": "문제 2/상어/[만일]의 세부 동작 1/성공' 신호보내기"
},
{
"ele": [
"$[0][3].statements[0][0].statements[0][1].type",
"$[0][3].statements[0][0].statements[0][1].params[0]"
],
"answer": [
"stop_object",
"thisOnly"
],
"points": 1.2,
"desc": "문제 2/상어/[만일]의 세부 동작 2/자신의' 코드 멈추기",
"type": "list"
},
{
"ele": "$[1][0].type",
"answer": "when_run_button_click",
"points": 1.2,
"desc": "문제 2/상어/시작2/시작하기 버튼을 클릭했을 때"
},
{
"ele": [
"$[1][1].type",
"$[1][1].params[0]"
],
"answer": [
"repeat_inf",
null
],
"points": 1.2,
"desc": "문제 2/상어/반복/계속 반복하기",
"type": "list"
},
{
"ele": [
"$[1][1].statements[0][0].type",
"$[1][1].statements[0][0].params[0].type",
"$[1][1].statements[0][0].params[0].params[0]"
],
"answer": [
"_if",
"is_press_some_key",
"37"
],
"points": 1.2,
"desc": "문제 2/상어/만일1/만일 '왼쪽 화살표' 키가 눌러져 있는가? 라면",
"type": "list"
},
{
"ele": [
"$[1][1].statements[0][0].statements[0][0].type",
"$[1][1].statements[0][0].statements[0][0].params[0].params[0]"
],
"answer": [
"move_x",
"-5"
],
"points": 1.2,
"desc": "문제 2/상어/[만일1]의 세부 동작 1/x 좌표를 '-5' 만큼 바꾸기",
"type": "list"
},
{
"ele": [
"$[1][1].statements[0][1].type",
"$[1][1].statements[0][1].params[0].type",
"$[1][1].statements[0][1].params[0].params[0]"
],
"answer": [
"_if",
"is_press_some_key",
"39"
],
"points": 1.2,
"desc": "문제 2/상어/만일2/만일 '오른쪽 화살표' 키가 눌러져 있는가? 라면",
"type": "list"
},
{
"ele": [
"$[1][1].statements[0][1].statements[0][0].type",
"$[1][1].statements[0][1].statements[0][0].params[0].params[0]"
],
"answer": [
"move_x",
"5"
],
"points": 1.2,
"desc": "문제 2/상어/[만일2]의 세부 동작 1/x 좌표를 '5' 만큼 바꾸기",
"type": "list"
},
{
"ele": [
"$[1][1].statements[0][2].type",
"$[1][1].statements[0][2].params[0].type",
"$[1][1].statements[0][2].params[0].params[0]"
],
"answer": [
"_if",
"is_press_some_key",
"38"
],
"points": 1.2,
"desc": "문제 2/상어/만일3/만일 '위쪽 화살표' 키가 눌러져 있는가? 라면",
"type": "list"
},
{
"ele": [
"$[1][1].statements[0][2].statements[0][0].type",
"$[1][1].statements[0][2].statements[0][0].params[0].params[0]"
],
"answer": [
"move_y",
"5"
],
"points": 1.2,
"desc": "문제 2/상어/[만일3]의 세부 동작 1/y 좌표를 '5' 만큼 바꾸기",
"type": "list"
},
{
"ele": [
"$[1][1].statements[0][3].type",
"$[1][1].statements[0][3].params[0].type",
"$[1][1].statements[0][3].params[0].params[0]"
],
"answer": [
"_if",
"is_press_some_key",
"40"
],
"points": 1.2,
"desc": "문제 2/상어/만일4/만일 '아래쪽 화살표' 키가 눌러져 있는가? 라면",
"type": "list"
},
{
"ele": [
"$[1][1].statements[0][3].statements[0][0].type",
"$[1][1].statements[0][3].statements[0][0].params[0].params[0]"
],
"answer": [
"move_y",
"-5"
],
"points": 1.2,
"desc": "문제 2/상어/[만일4]의 세부 동작 1/y 좌표를 '-5' 만큼 바꾸기",
"type": "list"
},
{
"ele": "$[2][0].type",
"answer": "when_message_cast",
"points": 1.2,
"desc": "문제 2/상어/신호/'성공' 신호를 받았을 때 "
},
{
"ele": "$[2][1].params[*].params",
"answer": [
"배부르다!",
"1"
],
"points": 1.2,
"desc": "문제 2/상어/[신호]의 세부 동작 1/'배부르다!' 를 '1'초 동안 '말하기'"
},
{
"ele": "$[2][2].type",
"answer": "start_neighbor_scene",
"points": 1.2,
"desc": "문제 2/상어/[신호]의 세부 동작 2/'다음' 장면 시작하기"
}
],
"sort": 145,
"list": [
"set_scale_size",
"repeat_inf",
"dialog_time"
]
},
"6-0": {
"type": "script",
"ele": "$.objects[?(@.name=~'바다2|바닷속\\(3\\)1')].script",
"blocks": [
{
"ele": "$[0][0].type",
"answer": "when_scene_start",
"points": 1.2,
"desc": "문제 2/바다2/장면 2/장면이 시작되었을 때"
},
{
"ele": "$[0][1].type",
"answer": "hide_variable",
"points": 1.2,
"desc": "문제 2/바다2/[장면 2]의 세부 동작 1/변수 '물고기 수' 숨기기"
},
{
"ele": [
"$[0][2].type",
"$[0][2].params[0].params[0]",
"$[0][2].params[1]"
],
"answer": [
"dialog",
"미션성공!",
"speak"
],
"points": 1.2,
"desc": "문제 2/바다2/[장면 2]의 세부 동작 2/'미션성공!' 을 '말하기'",
"type": "list"
},
{
"ele": "$[1][0].type",
"answer": "when_object_click",
"points": 2,
"desc": "문제 3/바다2/오브젝트/오브젝트를 클릭했을 때"
},
{
"ele": [
"$[1][1].type",
"$[1][1].params[0]",
"$[1][1].params[1].params[0]"
],
"answer": [
"add_effect_amount",
"color",
"30"
],
"points": 2,
"desc": "문제 3/바다2/[오브젝트]의 세부 동작 1/'색깔' 효과를 '30' 만큼 주기",
"type": "list"
},
{
"ele": [
"$[1][2].type",
"$[1][2].params[0].params[0]",
"$[1][2].params[1]"
],
"answer": [
"dialog",
"처음부터 다시 실행!",
"speak"
],
"points": 2,
"desc": "문제 3/바다2/[오브젝트]의 세부 동작 2/'처음부터 다시 실행!' 을 '말하기'",
"type": "list"
},
{
"ele": [
"$[1][3].type",
"$[1][3].params[0].params[0]"
],
"answer": [
"wait_second",
"2"
],
"points": 2,
"desc": "문제 3/바다2/[오브젝트]의 세부 동작 3/'2' 초 기다리기",
"type": "list"
},
{
"ele": "$[1][4].type",
"answer": "restart_project",
"points": 2,
"desc": "문제 3/바다2/[오브젝트]의 세부 동작 4/처음부터 다시 실행하기"
}
],
"sort": 166,
"list": [
"hide_variable",
"add_effect_amount"
]
}
}

870
correct/_2508_CAS_2_B.json Normal file
View File

@@ -0,0 +1,870 @@
{
"1-1": {
"type": "scene",
"ele": "$..objects[?(@.name=='바다1')]",
"points": 1.8,
"desc": "문제 1/장면 1/[배경] 이름 설정 1/이름을 '바다1'로 변경하기",
"sort": 11
},
"1-2": {
"type": "scene",
"ele": "$..objects[?(@.name=='바다2')]",
"points": 1.8,
"desc": "문제 1/장면 2/[배경] 이름 설정 2/이름을 '바다2'로 변경하기",
"sort": 12
},
"1-3": {
"type": "scene",
"ele": "$..objects[?(@.name=='빨간 물고기')]",
"points": 1.6,
"desc": "문제 1/빨간 물고기/[개체] 이름 설정 1/이름 변경 없음",
"sort": 13
},
"1-4": {
"type": "scene",
"ele": "$..objects[?(@.name=='노란 물고기')]",
"points": 1.6,
"desc": "문제 1/물고기/[개체] 이름 설정 2/이름을 '노란 물고기'로 변경하기",
"sort": 14
},
"1-5": {
"type": "scene",
"ele": "$..objects[?(@.name=='쓰레기')]",
"points": 1.6,
"desc": "문제 1/쓰레기/[개체] 이름 설정 3/이름 변경 없음",
"sort": 15
},
"1-6": {
"type": "scene",
"ele": "$..objects[?(@.name=='상어')]",
"points": 1.6,
"desc": "문제 1/상어(1)/[개체] 이름 설정 4/이름을 '상어'로 변경하기",
"sort": 16
},
"1-7": {
"type": "scene",
"ele": "$..variables[?(@.name=='물고기 수')]",
"points": 1,
"desc": "문제 2/빨간 물고기/변수/'물고기 수' 변수 만들기",
"sort": 101
},
"2-0": {
"type": "script",
"ele": "$.objects[?(@.name=~'빨간 물고기')].script",
"blocks": [
{
"ele": "$[0][0].type",
"answer": "when_run_button_click",
"points": 1.2,
"desc": "문제 2/빨간 물고기/시작1/시작하기 버튼을 클릭했을 때"
},
{
"ele": "$[0][1].params[0].params[0]",
"answer": "30",
"points": 1.2,
"desc": "문제 2/빨간 물고기/[시작1]의 세부 동작 1/크기를 '30' 으로 정하기"
},
{
"ele": [
"$[0][2].type",
"$[0][2].params[0]"
],
"answer": [
"repeat_inf",
null
],
"points": 1.2,
"desc": "문제 2/빨간 물고기/반복/계속 반복하기",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][0].type",
"$[0][2].statements[0][0].params[0].type"
],
"answer": [
"_if",
"reach_something"
],
"points": 1.2,
"desc": "문제 2/빨간 물고기/만일/만일 '상어' 에 닿았는가? 라면",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][0].statements[0][0].type",
"$[0][2].statements[0][0].statements[0][0].params[1].params[0]"
],
"answer": [
"change_variable",
"1"
],
"points": 1.2,
"desc": "문제 2/빨간 물고기/[만일]의 세부 동작 1/'물고기 수'에 '1' 만큼 더하기",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][0].statements[0][1].type",
"$[0][2].statements[0][0].statements[0][1].params[0].params[0]"
],
"answer": [
"wait_second",
"0.01"
],
"points": 1.2,
"desc": "문제 2/빨간 물고기/[만일]의 세부 동작 2/'0.01' 초 기다리기",
"type": "list"
},
{
"ele": "$[0][2].statements[0][0].statements[0][2].type",
"answer": "hide",
"points": 1.2,
"desc": "문제 2/빨간 물고기/[만일]의 세부 동작 3/모양 숨기기"
},
{
"ele": [
"$[0][2].statements[0][0].statements[0][3].type",
"$[0][2].statements[0][0].statements[0][3].params[0].type",
"$[0][2].statements[0][0].statements[0][3].params[0].params[1].params[0]",
"$[0][2].statements[0][0].statements[0][3].params[0].params[3].params[0]"
],
"answer": [
"wait_second",
"calc_rand",
"0.5",
"3"
],
"points": 1.2,
"desc": "문제 2/빨간 물고기/[만일]의 세부 동작 4/'0.5 부터 3 사이의 무작위 수' 초 기다리기",
"type": "list"
},
{
"ele": "$[0][2].statements[0][0].statements[0][4].type",
"answer": "show",
"points": 1.2,
"desc": "문제 2/빨간 물고기/[만일]의 세부 동작 5/모양 보이기"
},
{
"ele": "$[1][0].type",
"answer": "when_run_button_click",
"points": 1.2,
"desc": "문제 2/빨간 물고기/시작2/시작하기 버튼을 클릭했을 때"
},
{
"ele": [
"$[1][1].type",
"$[1][1].params[0]"
],
"answer": [
"repeat_inf",
null
],
"points": 1.2,
"desc": "문제 2/빨간 물고기/반복/계속 반복하기",
"type": "list"
},
{
"ele": [
"$[1][1].statements[0][0].type",
"$[1][1].statements[0][0].params[0].params[0]"
],
"answer": [
"move_direction",
null
],
"points": 1.2,
"desc": "문제 2/빨간 물고기/[반복]의 세부 동작 1/이동 방향으로 '1 부터 2 사이의 무작위 수' 만큼 움직이기",
"type": "list"
},
{
"ele": [
"$[1][1].statements[0][1].type",
"$[1][1].statements[0][1].params[0].type",
"$[1][1].statements[0][1].params[0].params[1].params[0]",
"$[1][1].statements[0][1].params[0].params[3].params[0]"
],
"answer": [
"direction_relative",
"calc_rand",
"-1",
"1"
],
"points": 1.2,
"desc": "문제 2/빨간 물고기/[반복]의 세부 동작 2/이동 방향을 '-1 부터 1 사이의 무작위 수' 만큼 회전하기",
"type": "list"
},
{
"ele": "$[1][1].statements[0][2].type",
"answer": "bounce_wall",
"points": 1.2,
"desc": "문제 2/빨간 물고기/[반복]의 세부 동작 3/화면 끝에 닿으면 튕기기"
}
],
"sort": 102,
"list": [
"set_scale_size",
"repeat_inf"
]
},
"3-0": {
"type": "script",
"ele": "$.objects[?(@.name=~'노란 물고기|물고')].script",
"blocks": [
{
"ele": "$[0][0].type",
"answer": "when_run_button_click",
"points": 1.2,
"desc": "문제 2/노란 물고기/시작1/시작하기 버튼을 클릭했을 때"
},
{
"ele": "$[0][1].params[0].params[0]",
"answer": "30",
"points": 1.2,
"desc": "문제 2/노란 물고기/[시작1]의 세부 동작 1/크기를 '30' 으로 정하기"
},
{
"ele": [
"$[0][2].type",
"$[0][2].params[0]"
],
"answer": [
"repeat_inf",
null
],
"points": 1.2,
"desc": "문제 2/노란 물고기/반복/계속 반복하기",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][0].type",
"$[0][2].statements[0][0].params[0].type"
],
"answer": [
"_if",
"reach_something"
],
"points": 1.2,
"desc": "문제 2/노란 물고기/만일/만일 '상어' 에 닿았는가? 라면",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][0].statements[0][0].type",
"$[0][2].statements[0][0].statements[0][0].params[1].params[0]"
],
"answer": [
"change_variable",
"2"
],
"points": 1.2,
"desc": "문제 2/노란 물고기/[만일]의 세부 동작 1/물고기 수'에 '2' 만큼 더하기",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][0].statements[0][1].type",
"$[0][2].statements[0][0].statements[0][1].params[0].params[0]"
],
"answer": [
"wait_second",
"0.01"
],
"points": 1.2,
"desc": "문제 2/노란 물고기/[만일]의 세부 동작 2/'0.01' 초 기다리기",
"type": "list"
},
{
"ele": "$[0][2].statements[0][0].statements[0][2].type",
"answer": "hide",
"points": 1.2,
"desc": "문제 2/노란 물고기/[만일]의 세부 동작 3/모양 숨기기"
},
{
"ele": [
"$[0][2].statements[0][0].statements[0][3].type",
"$[0][2].statements[0][0].statements[0][3].params[0].type",
"$[0][2].statements[0][0].statements[0][3].params[0].params[1].params[0]",
"$[0][2].statements[0][0].statements[0][3].params[0].params[3].params[0]"
],
"answer": [
"wait_second",
"calc_rand",
"0.5",
"1.5"
],
"points": 1.2,
"desc": "문제 2/노란 물고기/[만일]의 세부 동작 4/'0.5' 부터 '1.5' 사이의 무작위 수' 초 기다리기",
"type": "list"
},
{
"ele": "$[0][2].statements[0][0].statements[0][4].type",
"answer": "show",
"points": 1.2,
"desc": "문제 2/노란 물고기/[만일]의 세부 동작 5/모양 보이기"
},
{
"ele": "$[1][0].type",
"answer": "when_run_button_click",
"points": 1.2,
"desc": "문제 2/노란 물고기/시작2/시작하기 버튼을 클릭했을 때"
},
{
"ele": [
"$[1][1].type",
"$[1][1].params[0]"
],
"answer": [
"repeat_inf",
null
],
"points": 1.2,
"desc": "문제 2/노란 물고기/반복/계속 반복하기",
"type": "list"
},
{
"ele": [
"$[1][1].statements[0][0].type",
"$[1][1].statements[0][0].params[0].params[0]"
],
"answer": [
"move_direction",
null
],
"points": 1.2,
"desc": "문제 2/노란 물고기/[반복]의 세부 동작 1/이동 방향으로 '1 부터 2 사이의 무작위 수' 만큼 움직이기",
"type": "list"
},
{
"ele": [
"$[1][1].statements[0][1].type",
"$[1][1].statements[0][1].params[0].type",
"$[1][1].statements[0][1].params[0].params[1].params[0]",
"$[1][1].statements[0][1].params[0].params[3].params[0]"
],
"answer": [
"direction_relative",
"calc_rand",
"-1",
"1"
],
"points": 1.2,
"desc": "문제 2/노란 물고기/[반복]의 세부 동작 2/이동 방향을 '-1 부터 1 사이의 무작위 수' 만큼 회전하기",
"type": "list"
},
{
"ele": "$[1][1].statements[0][2].type",
"answer": "bounce_wall",
"points": 1.2,
"desc": "문제 2/노란 물고기/[반복]의 세부 동작 3/화면 끝에 닿으면 튕기기"
}
],
"sort": 117,
"list": [
"set_scale_size",
"repeat_inf"
]
},
"4-0": {
"type": "script",
"ele": "$.objects[?(@.name=~'쓰레기')].script",
"blocks": [
{
"ele": "$[0][0].type",
"answer": "when_run_button_click",
"points": 1.2,
"desc": "문제 2/쓰레기/시작1/시작하기 버튼을 클릭했을 때"
},
{
"ele": "$[0][1].params[0].params[0]",
"answer": "30",
"points": 1.2,
"desc": "문제 2/쓰레기/[시작1]의 세부 동작 1/크기를 '30' 으로 정하기"
},
{
"ele": [
"$[0][2].type",
"$[0][2].params[0]"
],
"answer": [
"repeat_inf",
null
],
"points": 1.2,
"desc": "문제 2/쓰레기/반복/계속 반복하기",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][0].type",
"$[0][2].statements[0][0].params[0].type"
],
"answer": [
"_if",
"reach_something"
],
"points": 1.2,
"desc": "문제 2/쓰레기/만일/만일 '상어' 에 닿았는가? 라면",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][0].statements[0][0].type",
"$[0][2].statements[0][0].statements[0][0].params[1].params[0]"
],
"answer": [
"change_variable",
"-1"
],
"points": 1.2,
"desc": "문제 2/쓰레기/[만일]의 세부 동작 1/물고기 수'에 '-1' 만큼 더하기",
"type": "list"
},
{
"ele": [
"$[0][2].statements[0][0].statements[0][1].type",
"$[0][2].statements[0][0].statements[0][1].params[0].params[0]"
],
"answer": [
"wait_second",
"0.01"
],
"points": 1.2,
"desc": "문제 2/쓰레기/[만일]의 세부 동작 2/'0.01' 초 기다리기",
"type": "list"
},
{
"ele": "$[0][2].statements[0][0].statements[0][2].type",
"answer": "hide",
"points": 1.2,
"desc": "문제 2/쓰레기/[만일]의 세부 동작 3/모양 숨기기"
},
{
"ele": [
"$[0][2].statements[0][0].statements[0][3].type",
"$[0][2].statements[0][0].statements[0][3].params[0].type",
"$[0][2].statements[0][0].statements[0][3].params[0].params[1].params[0]",
"$[0][2].statements[0][0].statements[0][3].params[0].params[3].params[0]"
],
"answer": [
"wait_second",
"calc_rand",
"0.5",
"3"
],
"points": 1.2,
"desc": "문제 2/쓰레기/[만일]의 세부 동작 4/'0.5 부터 3 사이의 무작위 수' 초 기다리기",
"type": "list"
},
{
"ele": "$[0][2].statements[0][0].statements[0][4].type",
"answer": "show",
"points": 1.2,
"desc": "문제 2/쓰레기/[만일]의 세부 동작 5/모양 보이기"
},
{
"ele": "$[1][0].type",
"answer": "when_run_button_click",
"points": 1.2,
"desc": "문제 2/쓰레기/시작2/시작하기 버튼을 클릭했을 때"
},
{
"ele": [
"$[1][1].type",
"$[1][1].params[0]"
],
"answer": [
"repeat_inf",
null
],
"points": 1.2,
"desc": "문제 2/쓰레기/반복/계속 반복하기",
"type": "list"
},
{
"ele": [
"$[1][1].statements[0][0].type",
"$[1][1].statements[0][0].params[0].params[0]"
],
"answer": [
"move_direction",
null
],
"points": 1.2,
"desc": "문제 2/쓰레기/[반복]의 세부 동작 1/이동 방향으로 '1 부터 2 사이의 무작위 수' 만큼 움직이기",
"type": "list"
},
{
"ele": [
"$[1][1].statements[0][1].type",
"$[1][1].statements[0][1].params[0].type",
"$[1][1].statements[0][1].params[0].params[1].params[0]",
"$[1][1].statements[0][1].params[0].params[3].params[0]"
],
"answer": [
"direction_relative",
"calc_rand",
"-1",
"1"
],
"points": 1.2,
"desc": "문제 2/쓰레기/[반복]의 세부 동작 2/이동 방향을 '-1 부터 1 사이의 무작위 수' 만큼 회전하기",
"type": "list"
},
{
"ele": "$[1][1].statements[0][2].type",
"answer": "bounce_wall",
"points": 1.2,
"desc": "문제 2/쓰레기/[반복]의 세부 동작 3/화면 끝에 닿으면 튕기기"
}
],
"sort": 131,
"list": [
"set_scale_size",
"repeat_inf"
]
},
"44-0": {
"ele": "$.messages[?(@.name=='성공')]",
"points": 1,
"desc": "문제 2/상어/신호/'성공'신호 만들기",
"type": "scene",
"sort": 144
},
"5-0": {
"type": "script",
"ele": "$.objects[?(@.name=~'상어')].script",
"blocks": [
{
"ele": "$[0][0].type",
"answer": "when_run_button_click",
"points": 1.2,
"desc": "문제 2/상어/시작1/시작하기 버튼을 클릭했을 때"
},
{
"ele": "$[0][1].params[0].params[0]",
"answer": "50",
"points": 1.2,
"desc": "문제 2/상어/[시작]의 세부 동작 1/크기를 '50' 으로 정하기"
},
{
"ele": [
"$[0][2].type",
"$[0][2].params[0].params[0]",
"$[0][2].params[1].params[0]"
],
"answer": [
"locate_xy",
"-100",
"0"
],
"points": 1.2,
"desc": "문제 2/상어/[시작]의 세부 동작 2/x: '-100' y: '0' 위치로 이동하기",
"type": "list"
},
{
"ele": [
"$[0][3].type",
"$[0][3].params[0]"
],
"answer": [
"repeat_inf",
null
],
"points": 1.2,
"desc": "문제 2/상어/반복/계속 반복하기",
"type": "list"
},
{
"ele": [
"$[0][3].statements[0][0].type",
"$[0][3].statements[0][0].params[0].type",
"$[0][3].statements[0][0].params[0].params[0].type",
"$[0][3].statements[0][0].params[0].params[1]",
"$[0][3].statements[0][0].params[0].params[2].params[0]"
],
"answer": [
"_if",
"boolean_basic_operator",
"get_variable",
"GREATER",
"10"
],
"points": 1.2,
"desc": "문제 2/상어/만일/만일 '물고기 수' 값 > '10' 이라면",
"type": "list"
},
{
"ele": "$[0][3].statements[0][0].statements[0][0].type",
"answer": "message_cast",
"points": 1.2,
"desc": "문제 2/상어/[만일]의 세부 동작 1/성공' 신호보내기"
},
{
"ele": [
"$[0][3].statements[0][0].statements[0][1].type",
"$[0][3].statements[0][0].statements[0][1].params[0]"
],
"answer": [
"stop_object",
"thisOnly"
],
"points": 1.2,
"desc": "문제 2/상어/[만일]의 세부 동작 2/자신의' 코드 멈추기",
"type": "list"
},
{
"ele": "$[1][0].type",
"answer": "when_run_button_click",
"points": 1.2,
"desc": "문제 2/상어/시작2/시작하기 버튼을 클릭했을 때"
},
{
"ele": [
"$[1][1].type",
"$[1][1].params[0]"
],
"answer": [
"repeat_inf",
null
],
"points": 1.2,
"desc": "문제 2/상어/반복/계속 반복하기",
"type": "list"
},
{
"ele": [
"$[1][1].statements[0][0].type",
"$[1][1].statements[0][0].params[0].type",
"$[1][1].statements[0][0].params[0].params[0]"
],
"answer": [
"_if",
"is_press_some_key",
"37"
],
"points": 1.2,
"desc": "문제 2/상어/만일1/만일 '왼쪽 화살표' 키가 눌러져 있는가? 라면",
"type": "list"
},
{
"ele": [
"$[1][1].statements[0][0].statements[0][0].type",
"$[1][1].statements[0][0].statements[0][0].params[0].params[0]"
],
"answer": [
"move_x",
"-5"
],
"points": 1.2,
"desc": "문제 2/상어/[만일1]의 세부 동작 1/x 좌표를 '-5' 만큼 바꾸기",
"type": "list"
},
{
"ele": [
"$[1][1].statements[0][1].type",
"$[1][1].statements[0][1].params[0].type",
"$[1][1].statements[0][1].params[0].params[0]"
],
"answer": [
"_if",
"is_press_some_key",
"39"
],
"points": 1.2,
"desc": "문제 2/상어/만일2/만일 '오른쪽 화살표' 키가 눌러져 있는가? 라면",
"type": "list"
},
{
"ele": [
"$[1][1].statements[0][1].statements[0][0].type",
"$[1][1].statements[0][1].statements[0][0].params[0].params[0]"
],
"answer": [
"move_x",
"5"
],
"points": 1.2,
"desc": "문제 2/상어/[만일2]의 세부 동작 1/x 좌표를 '5' 만큼 바꾸기",
"type": "list"
},
{
"ele": [
"$[1][1].statements[0][2].type",
"$[1][1].statements[0][2].params[0].type",
"$[1][1].statements[0][2].params[0].params[0]"
],
"answer": [
"_if",
"is_press_some_key",
"38"
],
"points": 1.2,
"desc": "문제 2/상어/만일3/만일 '위쪽 화살표' 키가 눌러져 있는가? 라면",
"type": "list"
},
{
"ele": [
"$[1][1].statements[0][2].statements[0][0].type",
"$[1][1].statements[0][2].statements[0][0].params[0].params[0]"
],
"answer": [
"move_y",
"5"
],
"points": 1.2,
"desc": "문제 2/상어/[만일3]의 세부 동작 1/y 좌표를 '5' 만큼 바꾸기",
"type": "list"
},
{
"ele": [
"$[1][1].statements[0][3].type",
"$[1][1].statements[0][3].params[0].type",
"$[1][1].statements[0][3].params[0].params[0]"
],
"answer": [
"_if",
"is_press_some_key",
"40"
],
"points": 1.2,
"desc": "문제 2/상어/만일4/만일 '아래쪽 화살표' 키가 눌러져 있는가? 라면",
"type": "list"
},
{
"ele": [
"$[1][1].statements[0][3].statements[0][0].type",
"$[1][1].statements[0][3].statements[0][0].params[0].params[0]"
],
"answer": [
"move_y",
"-5"
],
"points": 1.2,
"desc": "문제 2/상어/[만일4]의 세부 동작 1/y 좌표를 '-5' 만큼 바꾸기",
"type": "list"
},
{
"ele": "$[2][0].type",
"answer": "when_message_cast",
"points": 1.2,
"desc": "문제 2/상어/신호/'성공' 신호를 받았을 때 "
},
{
"ele": "$[2][1].params[*].params",
"answer": [
"배부르다!",
"1"
],
"points": 1.2,
"desc": "문제 2/상어/[신호]의 세부 동작 1/'배부르다!' 를 '1'초 동안 '말하기'"
},
{
"ele": "$[2][2].type",
"answer": "start_neighbor_scene",
"points": 1.2,
"desc": "문제 2/상어/[신호]의 세부 동작 2/'다음' 장면 시작하기"
}
],
"sort": 145,
"list": [
"set_scale_size",
"repeat_inf",
"dialog_time"
]
},
"6-0": {
"type": "script",
"ele": "$.objects[?(@.name=~'바다2|바닷속\\(3\\)1')].script",
"blocks": [
{
"ele": "$[0][0].type",
"answer": "when_scene_start",
"points": 1.2,
"desc": "문제 2/바다2/장면 2/장면이 시작되었을 때"
},
{
"ele": "$[0][1].type",
"answer": "hide_variable",
"points": 1.2,
"desc": "문제 2/바다2/[장면 2]의 세부 동작 1/변수 '물고기 수' 숨기기"
},
{
"ele": [
"$[0][2].type",
"$[0][2].params[0].params[0]",
"$[0][2].params[1]"
],
"answer": [
"dialog",
"미션성공!",
"speak"
],
"points": 1.2,
"desc": "문제 2/바다2/[장면 2]의 세부 동작 2/'미션성공!' 을 '말하기'",
"type": "list"
},
{
"ele": "$[1][0].type",
"answer": "when_object_click",
"points": 2,
"desc": "문제 3/바다2/오브젝트/오브젝트를 클릭했을 때"
},
{
"ele": [
"$[1][1].type",
"$[1][1].params[0]",
"$[1][1].params[1].params[0]"
],
"answer": [
"add_effect_amount",
"color",
"30"
],
"points": 2,
"desc": "문제 3/바다2/[오브젝트]의 세부 동작 1/'색깔' 효과를 '30' 만큼 주기",
"type": "list"
},
{
"ele": [
"$[1][2].type",
"$[1][2].params[0].params[0]",
"$[1][2].params[1]"
],
"answer": [
"dialog",
"처음부터 다시 실행!",
"speak"
],
"points": 2,
"desc": "문제 3/바다2/[오브젝트]의 세부 동작 2/'처음부터 다시 실행!' 을 '말하기'",
"type": "list"
},
{
"ele": [
"$[1][3].type",
"$[1][3].params[0].params[0]"
],
"answer": [
"wait_second",
"2"
],
"points": 2,
"desc": "문제 3/바다2/[오브젝트]의 세부 동작 3/'2' 초 기다리기",
"type": "list"
},
{
"ele": "$[1][4].type",
"answer": "restart_project",
"points": 2,
"desc": "문제 3/바다2/[오브젝트]의 세부 동작 4/처음부터 다시 실행하기"
}
],
"sort": 166,
"list": [
"hide_variable",
"add_effect_amount"
]
}
}