{ "1-1": { "type": "scene", "ele": "$..objects[?(@.name=='화산')]", "points": 2, "desc": "문제 1/화산섬/[배경] 이름 설정/이름을 '화산'으로 변경하기", "sort": 11 }, "1-3": { "type": "scene", "ele": "$..objects[?(@.name=='불')]", "points": 2, "desc": "문제 1/불(2)/[개체] 이름 설정 1/이름을 '불'로 변경하기", "sort": 13 }, "1-4": { "type": "scene", "ele": "$..objects[?(@.name=='공룡')]", "points": 2, "desc": "문제 1/공룡/[개체] 이름 설정 2/이름 변경 없음", "sort": 14 }, "1-5": { "type": "scene", "ele": "$..objects[?(@.name=='알')]", "points": 2, "desc": "문제 1/계란/[개체] 이름 설정 3/이름을 '알'로 변경하기", "sort": 15 }, "1-6": { "type": "scene", "ele": "$..objects[?(@.name=='바위')]", "points": 2, "desc": "문제 1/바위(4)/[개체] 이름 설정 4/이름을 '바위'로 변경하기", "sort": 16 }, "2-0": { "type": "script", "ele": "$.objects[?(@.name=~'불')].script", "blocks": [ { "ele": "$[0][0].type", "answer": "when_run_button_click", "points": 2.14, "desc": "문제 2/불/시작/시작하기 버튼을 클릭했을 때" }, { "ele": [ "$[0][1].type", "$[0][1].params[0].params[0]", "$[0][1].params[1].params[0]" ], "answer": [ "locate_xy", "120", "90" ], "points": 2.14, "desc": "문제 2/불/[시작]의 세부 동작 1/x: '120' y: '90' 위치로 이동하기", "type": "list" }, { "ele": "$[0][2].params[0].params[0]", "answer": "130", "points": 2.14, "desc": "문제 2/불/[시작]의 세부 동작 2/크기를 '130' 으로 정하기" }, { "ele": [ "$[0][3].type", "$[0][3].params[0]" ], "answer": [ "repeat_inf", null ], "points": 2.14, "desc": "문제 2/불/반복/계속 반복하기", "type": "list" }, { "ele": [ "$[0][3].statements[0][0].type", "$[0][3].statements[0][0].params[0].type" ], "answer": [ "change_to_some_shape", "get_pictures" ], "points": 2.14, "desc": "문제 2/불/[반복]의 세부 동작 1/'불(2)_3' 모양으로 바꾸기", "type": "list" }, { "ele": [ "$[0][3].statements[0][1].type", "$[0][3].statements[0][1].params[0].params[0]" ], "answer": [ "wait_second", "0.5" ], "points": 2.14, "desc": "문제 2/불/[반복]의 세부 동작 2/'0.5' 초 기다리기", "type": "list" }, { "ele": [ "$[0][3].statements[0][2].type", "$[0][3].statements[0][2].params[0].type" ], "answer": [ "change_to_some_shape", "get_pictures" ], "points": 2.14, "desc": "문제 2/불/[반복]의 세부 동작 3/'불(2)_1' 모양으로 바꾸기", "type": "list" }, { "ele": [ "$[0][3].statements[0][3].type", "$[0][3].statements[0][3].params[0].params[0]" ], "answer": [ "wait_second", "0.5" ], "points": 2.14, "desc": "문제 2/불/[반복]의 세부 동작 4/'0.5' 초 기다리기", "type": "list" } ], "sort": 102 }, "3-0": { "type": "script", "ele": "$.objects[?(@.name=~'공룡')].script", "blocks": [ { "ele": "$[0][0].type", "answer": "when_run_button_click", "points": 2.14, "desc": "문제 2/공룡/시작/시작하기 버튼을 클릭했을 때" }, { "ele": [ "$[0][1].type", "$[0][1].params[0].params[0]", "$[0][1].params[1].params[0]" ], "answer": [ "locate_xy", "0", "-20" ], "points": 2.14, "desc": "문제 2/공룡/[시작]의 세부 동작 1/x: '0' y: '-20' 위치로 이동하기", "type": "list" }, { "ele": "$[0][2].params[*].params", "answer": [ "공룡알을 구하자", "1" ], "points": 2.14, "desc": "문제 2/공룡/[시작]의 세부 동작 2/'공룡알을 구하자' 를 '1' 초 동안 '말하기'" }, { "ele": [ "$[0][3].type", "$[0][3].params[0]" ], "answer": [ "repeat_inf", null ], "points": 2.14, "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]" ], "answer": [ "_if", "is_press_some_key", "38" ], "points": 2.14, "desc": "문제 2/공룡/만일 1/만일 '위쪽 화살표' 키가 눌러져 있는가? 라면", "type": "list" }, { "ele": [ "$[0][3].statements[0][0].statements[0][0].type", "$[0][3].statements[0][0].statements[0][0].params[0].params[0]" ], "answer": [ "move_y", "5" ], "points": 2.14, "desc": "문제 2/공룡/[만일 1]의 세부 동작/y 좌표를 '5' 만큼 바꾸기", "type": "list" }, { "ele": [ "$[0][3].statements[0][1].type", "$[0][3].statements[0][1].params[0].type", "$[0][3].statements[0][1].params[0].params[0]" ], "answer": [ "_if", "is_press_some_key", "40" ], "points": 2.14, "desc": "문제 2/공룡/만일 2/만일 '아래쪽 화살표' 키가 눌러져 있는가? 라면", "type": "list" }, { "ele": [ "$[0][3].statements[0][1].statements[0][0].type", "$[0][3].statements[0][1].statements[0][0].params[0].params[0]" ], "answer": [ "move_y", "-5" ], "points": 2.14, "desc": "문제 2/공룡/[만일 2]의 세부 동작/y 좌표를 '-5' 만큼 바꾸기", "type": "list" }, { "ele": [ "$[0][3].statements[0][2].type", "$[0][3].statements[0][2].params[0].type", "$[0][3].statements[0][2].params[0].params[0]" ], "answer": [ "_if", "is_press_some_key", "37" ], "points": 2.14, "desc": "문제 2/공룡/만일 3/만일 '왼쪽 화살표' 키가 눌러져 있는가? 라면", "type": "list" }, { "ele": [ "$[0][3].statements[0][2].statements[0][0].type", "$[0][3].statements[0][2].statements[0][0].params[0].params[0]" ], "answer": [ "move_x", "-5" ], "points": 2.14, "desc": "문제 2/공룡/[만일 3]의 세부 동작/x 좌표를 '-5' 만큼 바꾸기", "type": "list" }, { "ele": [ "$[0][3].statements[0][3].type", "$[0][3].statements[0][3].params[0].type", "$[0][3].statements[0][3].params[0].params[0]" ], "answer": [ "_if", "is_press_some_key", "39" ], "points": 2.14, "desc": "문제 2/공룡/만일 4/만일 '오른쪽 화살표' 키가 눌러져 있는가? 라면", "type": "list" }, { "ele": [ "$[0][3].statements[0][3].statements[0][0].type", "$[0][3].statements[0][3].statements[0][0].params[0].params[0]" ], "answer": [ "move_x", "5" ], "points": 2.14, "desc": "문제 2/공룡/[만일 4]의 세부 동작/x 좌표를 '5' 만큼 바꾸기", "type": "list" }, { "ele": [ "$[0][3].statements[0][4].type", "$[0][3].statements[0][4].params[0].type" ], "answer": [ "_if", "reach_something" ], "points": 2.14, "desc": "문제 2/공룡/만일 5/만일 '불' 에 닿았는가? 라면", "type": "list" }, { "ele": [ "$[0][3].statements[0][4].statements[0][0].type", "$[0][3].statements[0][4].statements[0][0].params[0].params[0]", "$[0][3].statements[0][4].statements[0][0].params[1]" ], "answer": [ "dialog", "앗 뜨거워!", "speak" ], "points": 2.14, "desc": "문제 2/공룡/[만일 5]의 세부 동작 1/'앗 뜨거워!' 를 '말하기'", "type": "list" }, { "ele": [ "$[0][3].statements[0][4].statements[0][1].type", "$[0][3].statements[0][4].statements[0][1].params[0].params[0]" ], "answer": [ "wait_second", "1" ], "points": 2.14, "desc": "문제 2/공룡/[만일 5]의 세부 동작 2/'1' 초 기다리기", "type": "list" }, { "ele": [ "$[0][3].statements[0][4].statements[0][2].type", "$[0][3].statements[0][4].statements[0][2].params[0]" ], "answer": [ "stop_object", "all" ], "points": 2.14, "desc": "문제 2/공룡/[만일 5]의 세부 동작 3/'모든' 코드 멈추기", "type": "list" } ], "sort": 110 }, "4-0": { "type": "script", "ele": "$.objects[?(@.name=~'알|계')].script", "blocks": [ { "ele": "$[0][0].type", "answer": "when_run_button_click", "points": 2.14, "desc": "문제 2/알/시작/시작하기 버튼을 클릭했을 때" }, { "ele": "$[0][1].params[0].params[0]", "answer": "50", "points": 2.14, "desc": "문제 2/알/[시작]의 세부 동작 1/크기를 '50' 으로 정하기" }, { "ele": [ "$[0][2].type", "$[0][2].params[0].params[0]" ], "answer": [ "rotate_absolute", "270" ], "points": 2.14, "desc": "문제 2/알/[시작]의 세부 동작 2/방향을 '270°' 로 정하기", "type": "list" }, { "ele": [ "$[0][3].type", "$[0][3].params[0]" ], "answer": [ "repeat_inf", null ], "points": 2.14, "desc": "문제 2/알/반복/계속 반복하기", "type": "list" }, { "ele": "$[0][3].statements[0][0].type", "answer": "show", "points": 2.14, "desc": "문제 2/알/[반복]의 세부 동작 1/모양 보이기" }, { "ele": [ "$[0][3].statements[0][1].type", "$[0][3].statements[0][1].params[0].params[1].params[0]", "$[0][3].statements[0][1].params[0].params[3].params[0]", "$[0][3].statements[0][1].params[1].params[1].params[0]", "$[0][3].statements[0][1].params[1].params[3].params[0]" ], "answer": [ "locate_xy", "55", "160", "5", "10" ], "points": 2.2, "desc": "문제 2/알/[반복]의 세부 동작 2/x: '55 부터 160 사이의 무작위 수' y: '5 부터 10 사이의 무작위 수' 위치로 이동하기", "type": "list" }, { "ele": [ "$[0][3].statements[0][2].type", "$[0][3].statements[0][2].params[0].params[0]", "$[0][3].statements[0][2].params[1].params[1].params[0]", "$[0][3].statements[0][2].params[1].params[3].params[0]", "$[0][3].statements[0][2].params[2].params[0]" ], "answer": [ "move_xy_time", "2", "-200", "200", "-140" ], "points": 2.2, "desc": "문제 2/알/[반복]의 세부 동작 3/'2' 초 동안 x: '-200 부터 200 사이의 무작위 수' y: '-140' 만큼 움직이기", "type": "list" }, { "ele": [ "$[0][3].statements[0][3].type", "$[0][3].statements[0][3].params[0].type" ], "answer": [ "_if", "reach_something" ], "points": 2.14, "desc": "문제 2/알/만일/만일 '바위' 에 닿았는가? 라면", "type": "list" }, { "ele": "$[0][3].statements[0][3].statements[0][0].params[*].params", "answer": [ "공룡알이 깨졌다!", "0.2" ], "points": 2.14, "desc": "문제 2/알/[만일]의 세부 동작 1/'공룡알이 깨졌다!' 를 '0.2' 초 동안 '말하기'" }, { "ele": "$[0][3].statements[0][3].statements[0][1].type", "answer": "hide", "points": 2.14, "desc": "문제 2/알/[만일]의 세부 동작 2/모양 숨기기" }, { "ele": "$[1][0].params", "answer": [ null, "32" ], "points": 2.14, "desc": "문제 2/알/스페이스/'스페이스' 키를 눌렀을 때" }, { "ele": [ "$[1][1].type", "$[1][1].params[0]" ], "answer": [ "repeat_inf", null ], "points": 2.14, "desc": "문제 2/알/반복/계속 반복하기", "type": "list" }, { "ele": [ "$[1][1].statements[0][0].type", "$[1][1].statements[0][0].params[0].type" ], "answer": [ "_if", "reach_something" ], "points": 2.14, "desc": "문제 2/알/만일/만일 '공룡' 에 닿았는가? 라면", "type": "list" }, { "ele": "$[1][1].statements[0][0].statements[0][0].type", "answer": "locate", "points": 2.14, "desc": "문제 2/알/[만일]의 세부 동작 1/'공룡' 위치로 이동하기" }, { "ele": [ "$[1][1].statements[0][0].statements[0][1].type", "$[1][1].statements[0][0].statements[0][1].params[0].params[0]" ], "answer": [ "move_x", "-20" ], "points": 2.14, "desc": "문제 2/알/[만일]의 세부 동작 2/x 좌표를 '-20' 만큼 바꾸기", "type": "list" } ], "sort": 126 }, "5-0": { "type": "script", "ele": "$.objects[?(@.name=~'바위')].script", "blocks": [ { "ele": "$[0][0].type", "answer": "when_run_button_click", "points": 2.14, "desc": "문제 2/바위/시작/시작하기 버튼을 클릭했을 때" }, { "ele": [ "$[0][1].type", "$[0][1].params[0].params[0]", "$[0][1].params[1].params[0]" ], "answer": [ "locate_xy", "130", "-120" ], "points": 2.14, "desc": "문제 2/바위/[시작]의 세부 동작 1/x: '130' y: '-120' 위치로 이동하기", "type": "list" }, { "ele": "$[0][2].params[0].params[0]", "answer": "150", "points": 2.14, "desc": "문제 2/바위/[시작]의 세부 동작 2/크기를 '150' 으로 정하기" } ], "sort": 141 } }