{ "1-1": { "type": "scene", "ele": "$..objects[?(@.name=='우주')]", "point": 1.7, "desc": "문제 1/장면 1/[배경] 이름 설정 1/이름을 '우주'로 변경하기", "sort": 11 }, "1-2": { "type": "scene", "ele": "$.[objects,scenes][?(@.name=='장면 2')]", "point": 1.7, "desc": "문제 1/장면 2/[배경] 이름 설정 2/이름 변경 없음", "sort": 12 }, "1-3": { "type": "scene", "ele": "$..objects[?(@.name=='우주비행사')]", "point": 1.7, "desc": "문제 1/우주인(4)/[개체] 이름 설정 1/이름을 '우주비행사'로 변경하기", "sort": 13 }, "1-4": { "type": "scene", "ele": "$..objects[?(@.name=='별똥별')]", "point": 1.7, "desc": "문제 1/별똥별(1)/[개체] 이름 설정 2/이름을 '별똥별'으로 변경하기", "sort": 14 }, "1-5": { "type": "scene", "ele": "$..objects[?(@.name=='우주왕복선')]", "point": 1.7, "desc": "문제 1/로켓/[개체] 이름 설정 3/이름을 ‘우주왕복선’으로 변경하기", "sort": 15 }, "1-6": { "type": "scene", "ele": "$..objects[?(@.name=='낙하산')]", "point": 1.7, "desc": "문제 1/열기구(2)/[개체] 이름 설정 4/이름을 '낙하산'으로 변경하기", "sort": 16 }, "1-0": { "ele": "$..variables[?(@.name=='구조자')]", "point": 1.63, "desc": "문제 2/우주비행사/변수/'구조자' 변수 만들기 (변수 기본값은 '0', '모든 오브젝트에 사용' 설정)", "type": "scene", "sort": 101 }, "2-0": { "type": "script", "ele": "$.objects[?(@.name=~'우주비행사|우주인')].script", "blocks": [ { "ele": "$[0][0].type", "answer": "when_run_button_click", "point": 1.63, "desc": "문제 2/우주비행사/시작/시작하기 버튼을 클릭했을 때" }, { "ele": [ "$[0][1].type", "$[0][1].params[0].params[0]" ], "answer": [ "set_scale_size", "70" ], "point": 1.63, "desc": "문제 2/우주비행사/[시작]의 세부 동작 1/크기를 '70' 으로 정하기", "type": "list" }, { "ele": [ "$[0][2].type", "$[0][2].params[0]" ], "answer": [ "repeat_inf", null ], "point": 1.63, "desc": "문제 2/우주비행사/반복/계속 반복하기", "type": "list" }, { "ele": "$[0][2].statements[0][0].type", "answer": "hide", "point": 1.63, "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", "-210", "210", "-120", "120" ], "point": 1.63, "desc": "문제 2/우주비행사/[반복]의 세부 동작 2/x: '-210 부터 210 사이의 무작위 수' y: '-120 부터 120 사이의 무작위 수' 위치로 이동하기", "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" ], "point": 1.63, "desc": "문제 2/우주비행사/[반복]의 세부 동작 3/'0 부터 3 사이의 무작위 수' 초 기다리기", "type": "list" }, { "ele": "$[0][2].statements[0][3].type", "answer": "show", "point": 1.63, "desc": "문제 2/우주비행사/[반복]의 세부 동작 4/모양 보이기" }, { "ele": [ "$[0][2].statements[0][4].type", "$[0][2].statements[0][4].params[0].params[0]" ], "answer": [ "wait_second", "1.5" ], "point": 1.63, "desc": "문제 2/우주비행사/[반복]의 세부 동작 5/'1.5' 초 기다리기", "type": "list" }, { "ele": [ "$[0][2].statements[0][5].type", "$[0][2].statements[0][5].params[0].type" ], "answer": [ "_if", "reach_something" ], "point": 1.63, "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", "1" ], "point": 1.63, "desc": "문제 2/우주비행사/[만일]의 세부 동작/'구조자' 에 '1' 만큼 더하기", "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": 1.63, "desc": "문제 2/별똥별/시작/시작하기 버튼을 클릭했을 때" }, { "ele": [ "$[0][1].type", "$[0][1].params[0].params[0]" ], "answer": [ "set_scale_size", "60" ], "point": 1.63, "desc": "문제 2/별똥별/[시작]의 세부 동작 1/크기를 '60' 으로 정하기", "type": "list" }, { "ele": [ "$[0][2].type", "$[0][2].params[0]" ], "answer": [ "repeat_inf", null ], "point": 1.63, "desc": "문제 2/별똥별/반복/계속 반복하기", "type": "list" }, { "ele": "$[0][2].statements[0][0].type", "answer": "hide", "point": 1.63, "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", "-210", "210", "-120", "120" ], "point": 1.63, "desc": "문제 2/별똥별/[반복]의 세부 동작 2/x: '-210 부터 210 사이의 무작위 수' y: '-120 부터 120 사이의 무작위 수' 위치로 이동하기", "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" ], "point": 1.63, "desc": "문제 2/별똥별/[반복]의 세부 동작 3/'0 부터 3 사이의 무작위 수' 초 기다리기", "type": "list" }, { "ele": "$[0][2].statements[0][3].type", "answer": "show", "point": 1.63, "desc": "문제 2/별똥별/[반복]의 세부 동작 4/모양 보이기" }, { "ele": [ "$[0][2].statements[0][4].type", "$[0][2].statements[0][4].params[0].params[0]" ], "answer": [ "wait_second", "1.5" ], "point": 1.63, "desc": "문제 2/별똥별/[반복]의 세부 동작 4/'1.5' 초 기다리기", "type": "list" }, { "ele": [ "$[0][2].statements[0][5].type", "$[0][2].statements[0][5].params[0].type" ], "answer": [ "_if", "reach_something" ], "point": 1.63, "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", "-1" ], "point": 1.63, "desc": "문제 2/별똥별/[만일]의 세부 동작 1/'구조자' 에 '-1' 만큼 더하기", "type": "list" } ], "sortBlock": [ "when_run_button_click" ], "sort": 113 }, "22-0": { "ele": "$.messages[?(@.name=='탈출')]", "point": 1.63, "desc": "문제 2/우주왕복선/신호/'탈출' 신호 만들기", "type": "scene", "sort": 122 }, "4-0": { "type": "script", "ele": "$.objects[?(@.name=~'우주왕복선')].script", "blocks": [ { "ele": "$[0][0].type", "answer": "when_run_button_click", "point": 1.63, "desc": "문제 2/우주왕복선/시작/시작하기 버튼을 클릭했을 때" }, { "ele": [ "$[0][1].type", "$[0][1].params[0].params[0]", "$[0][1].params[1].params[0]" ], "answer": [ "locate_xy", "10", "10" ], "point": 1.63, "desc": "문제 2/우주왕복선/[시작]의 세부 동작 1/x: '10' y: '10' 위치로 이동하기", "type": "list" }, { "ele": [ "$[0][2].type", "$[0][2].params[0].params[0]" ], "answer": [ "set_scale_size", "60" ], "point": 1.63, "desc": "문제 2/우주왕복선/[시작]의 세부 동작 2/크기를 '60' 으로 정하기", "type": "list" }, { "ele": [ "$[0][3].type", "$[0][3].params[0]" ], "answer": [ "repeat_inf", null ], "point": 1.63, "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", "37" ], "point": 1.63, "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_x", "-6" ], "point": 1.63, "desc": "문제 2/우주왕복선/[만일 1]의 세부 동작/x 좌표를 '-6' 만큼 바꾸기", "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", "39" ], "point": 1.63, "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_x", "6" ], "point": 1.63, "desc": "문제 2/우주왕복선/[만일 2]의 세부 동작/x 좌표를 '6' 만큼 바꾸기", "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", "38" ], "point": 1.63, "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_y", "6" ], "point": 1.63, "desc": "문제 2/우주왕복선/[만일 3]의 세부 동작/y 좌표를 '6' 만큼 바꾸기", "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", "40" ], "point": 1.63, "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_y", "-6" ], "point": 1.63, "desc": "문제 2/우주왕복선/[만일 4]의 세부 동작/y 좌표를 '-6' 만큼 바꾸기", "type": "list" }, { "ele": [ "$[0][3].statements[0][4].type", "$[0][3].statements[0][4].params[0].type", "$[0][3].statements[0][4].params[0].params[0].type", "$[0][3].statements[0][4].params[0].params[1]", "$[0][3].statements[0][4].params[0].params[2].params[0]" ], "answer": [ "_if", "boolean_basic_operator", "get_variable", "EQUAL", "4" ], "point": 1.63, "desc": "문제 2/우주왕복선/만일 5/만일 '구조자' 값 = '4' 이라면", "type": "list" }, { "ele": "$[0][3].statements[0][4].statements[0][0].type", "answer": "hide", "point": 1.63, "desc": "문제 2/우주왕복선/[만일 5]의 세부 동작 1/모양 숨기기" }, { "ele": "$[0][3].statements[0][4].statements[0][1].type", "answer": "message_cast", "point": 1.63, "desc": "문제 2/우주왕복선/[만일 5]의 세부 동작 2/'탈출' 신호 보내기" } ], "sortBlock": [ "when_run_button_click" ], "sort": 123 }, "5-0": { "type": "script", "ele": "$.objects[?(@.name=~'낙하산|열기구')].script", "blocks": [ { "ele": "$[0][0].type", "answer": "when_run_button_click", "point": 1.63, "desc": "문제 2/낙하산/시작/시작하기 버튼을 클릭했을 때" }, { "ele": "$[0][1].type", "answer": "hide", "point": 1.63, "desc": "문제 2/낙하산/[시작]의 세부 동작/모양 숨기기" }, { "ele": "$[1][0].type", "answer": "when_message_cast", "point": 1.63, "desc": "문제 2/낙하산/신호/'탈출' 신호를 받았을 때" }, { "ele": "$[1][1].type", "answer": "locate", "point": 1.63, "desc": "문제 2/낙하산/[신호]의 세부 동작 1/'우주왕복선' 위치로 이동하기" }, { "ele": "$[1][2].type", "answer": "show", "point": 1.63, "desc": "문제 2/낙하산/[신호]의 세부 동작 2/모양 보이기" }, { "ele": [ "$[1][3].type", "$[1][3].params[0].params[0]", "$[1][3].params[1]" ], "answer": [ "dialog", "구출완료!", "speak" ], "point": 1.63, "desc": "문제 2/낙하산/[신호]의 세부 동작 3/'구출완료!' 를 '말하기'", "type": "list" }, { "ele": [ "$[1][4].type", "$[1][4].params[0]" ], "answer": [ "stop_object", "other_objects" ], "point": 1.63, "desc": "문제 2/낙하산/[신호]의 세부 동작 4/'다른 오브젝트의' 코드 멈추기", "type": "list" }, { "ele": [ "$[1][5].type", "$[1][5].params[0].params[0]" ], "answer": [ "wait_second", "2" ], "point": 1.63, "desc": "문제 2/낙하산/[신호]의 세부 동작 5/'2' 초 기다리기", "type": "list" }, { "ele": "$[1][6].type", "answer": "start_neighbor_scene", "point": 1.63, "desc": "문제 2/낙하산/[신호]의 세부 동작 6/'다음' 장면 시작하기" } ], "sortBlock": [ "when_run_button_click", "when_message_cast" ], "sort": 139 }, "6-0": { "type": "script", "ele": "$.objects[?(@.name=~'활주로')].script", "blocks": [ { "ele": "$[0][0].type", "answer": "when_scene_start", "point": 1.63, "desc": "문제 2/활주로/장면 2/장면이 시작되었을 때" }, { "ele": "$[0][1].type", "answer": "hide_variable", "point": 1.63, "desc": "문제 2/활주로/[장면 2]의 세부 동작 1/변수 '구조자' 숨기기" }, { "ele": [ "$[0][2].type", "$[0][2].params[0].params[0]", "$[0][2].params[1]" ], "answer": [ "dialog", "미션 성공!", "speak" ], "point": 1.63, "desc": "문제 2/활주로/[장면 2]의 세부 동작 2/'미션 성공!' 을 '말하기'", "type": "list" }, { "ele": "$[1][0].type", "answer": "when_object_click", "point": 2, "desc": "문제 3/활주로/오브젝트/오브젝트를 클릭했을 때" }, { "ele": [ "$[1][1].type", "$[1][1].params[0]", "$[1][1].params[1].params[0]" ], "answer": [ "add_effect_amount", "color", "50" ], "point": 2, "desc": "문제 3/활주로/[오브젝트]의 세부 동작 1/'색깔' 효과를 '50' 만큼 주기", "type": "list" }, { "ele": [ "$[1][2].type", "$[1][2].params[0].params[0]", "$[1][2].params[1]" ], "answer": [ "dialog", "처음부터 다시 실행합니다!", "speak" ], "point": 2, "desc": "문제 3/활주로/[오브젝트]의 세부 동작 2/'처음부터 다시 실행합니다!' 를 '말하기'", "type": "list" }, { "ele": [ "$[1][3].type", "$[1][3].params[0].params[0]" ], "answer": [ "wait_second", "2" ], "point": 2, "desc": "문제 3/활주로/[오브젝트]의 세부 동작 3/'2' 초 기다리기", "type": "list" }, { "ele": "$[1][4].type", "answer": "restart_project", "point": 2, "desc": "문제 3/활주로/[오브젝트]의 세부 동작 4/처음부터 다시 실행하기" } ], "sortBlock": [ "when_scene_start", "when_object_click" ], "sort": 148 } }