{ "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 } }