{ "1-1": { "type": "scene", "ele": "$..objects[?(@.name=='우주')]", "point": 1.7, "desc": "장면 1/[배경] 이름 설정 1/이름을 ‘우주’로 변경하기", "sort": 11 }, "1-2": { "type": "scene", "ele": "$..objects[?(@.name=='우주정거장')]", "point": 1.7, "desc": "장면 2/[배경] 이름 설정 2/이름을 ‘우주정거장’으로 변경하기", "sort": 12 }, "1-3": { "type": "scene", "ele": "$..objects[?(@.name=='별')]", "point": 1.7, "desc": "큰별(노랑)/[개체] 이름 설정 1/이름을 ‘별’로 변경하기", "sort": 13 }, "1-4": { "type": "scene", "ele": "$..objects[?(@.name=='운석')]", "point": 1.7, "desc": "돌덩이/[개체] 이름 설정 2/이름을 ‘운석’으로 변경하기", "sort": 14 }, "1-5": { "type": "scene", "ele": "$..objects[?(@.name=='비행기')]", "point": 1.7, "desc": "파란 비행기/[개체] 이름 설정 3/이름 ‘비행기’로 변경하기", "sort": 15 }, "1-6": { "type": "scene", "ele": "$..objects[?(@.name=='전투기')]", "point": 1.7, "desc": "전투기/[개체] 이름 설정 4/이름 변경 없음", "sort": 16 }, "1-7": { "type": "scene", "ele": "$..variables[?(@.name=='에너지')]", "point": 1.63, "desc": "별/변수/‘에너지’ 변수 만들기 (변수 기본값은 ‘0’, ‘모든 오브젝트에 사용’ 설정)", "sort": 17 }, "3-0": { "type": "script", "ele": "$.objects[?(@.name=~'별')].script", "blocks": [ { "ele": "$[0][0].type", "answer": "when_run_button_click", "point": 1.63, "desc": "별/시작/시작하기 버튼을 클릭했을 때" }, { "ele": ["$[0][1].type", "$[0][1].params[0].params[0]"], "answer": ["set_scale_size", "30"], "point": 1.63, "desc": "별/[시작]의 세부 동작 1/크기를 '30’ 으로 정하기", "type": "list" }, { "ele": "$[0][2].type", "answer": "repeat_inf", "point": 1.63, "desc": "별/반복/계속 반복하기" }, { "ele": "$[0][2].statements[0][0].type", "answer": "hide", "point": 1.63, "desc": "별/[반복]의 세부 동작 1/모양 숨기기" }, { "ele": [ "$[0][2].statements[0][1].type", "$[0][2].statements[0][1].params[0].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].type", "$[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", "calc_rand", "-210", "210", "calc_rand", "-120", "120" ], "point": 1.63, "desc": "별/[반복]의 세부 동작 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": "별/[반복]의 세부 동작 3/‘0 부터 3 사이의 무작위 수’ 초 기다리기", "type": "list" }, { "ele": "$[0][2].statements[0][3].type", "answer": "show", "point": 1.63, "desc": "별/[반복]의 세부 동작 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": "별/[반복]의 세부 동작 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": "별/만일/만일 ’비행기‘ 에 닿았는가? 라면", "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", "30"], "point": 1.63, "desc": "별/[만일]의 세부 동작/에너지' 에 '30' 만큼 더하기", "type": "list" } ] }, "4-0": { "type": "script", "ele": "$.objects[?(@.name=='운석')].script", "blocks": [ { "ele": "$[0][0].type", "answer": "when_run_button_click", "point": 1.63, "desc": "시작/시작하기 버튼을 클릭했을 때" }, { "ele": ["$[0][1].type", "$[0][1].params[0].params[0]"], "answer": ["set_scale_size", "30"], "point": 1.63, "desc": "운석/[시작]의 세부 동작 1/크기를 '30’ 으로 정하기", "type": "list" }, { "ele": "$[0][2].type", "answer": "repeat_inf", "point": 1.63, "desc": "운석/반복/계속 반복하기" }, { "ele": "$[0][2].statements[0][0].type", "answer": "hide", "point": 1.63, "desc": "운석/[반복]의 세부 동작 1/모양 숨기기" }, { "ele": [ "$[0][2].statements[0][1].type", "$[0][2].statements[0][1].params[0].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].type", "$[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", "calc_rand", "-210", "210", "calc_rand", "-120", "120" ], "point": 1.63, "desc": "운석/[반복]의 세부 동작 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": "운석/[반복]의 세부 동작 3/‘0 부터 3 사이의 무작위 수’ 초 기다리기", "type": "list" }, { "ele": "$[0][2].statements[0][3].type", "answer": "show", "point": 1.63, "desc": "운석/[반복]의 세부 동작 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": "운석/[반복]의 세부 동작 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": "운석/만일/만일 ’비행기‘ 에 닿았는가? 라면", "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", "-30"], "point": 1.63, "desc": "운석/[만일]의 세부 동작 1/에너지' 에 '-30' 만큼 더하기", "type": "list" } ] }, "15-0": { "ele": "$.messages[?(@.name=='업그레이드')]", "point": 1.63, "desc": "비행기/신호/‘업그레이드’ 신호 만들기", "type": "scene" }, "5-0": { "type": "script", "ele": "$..objects[?(@.name=~'비행기')].script", "blocks": [ { "ele": "$[0][0].type", "answer": "when_run_button_click", "point": 1.63, "desc": "비행기/시작/시작하기 버튼을 클릭했을 때" }, { "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": "비행기/[시작]의 세부 동작 1/x: ‘10’ y: ‘10’ 위치로 이동하기", "type": "list" }, { "ele": ["$[0][2].type", "$[0][2].params[0].params[0]"], "answer": ["set_scale_size", "50"], "point": 1.63, "desc": "비행기/[시작]의 세부 동작 2/크기를 ‘50’ 으로 정하기", "type": "list" }, { "ele": "$[0][3].type", "answer": "repeat_inf", "point": 1.63, "desc": "비행기/반복/계속 반복하기" }, { "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": "비행기/만일 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", "-5"], "point": 1.63, "desc": "비행기/[만일 1]의 세부 동작/x 좌표를 ‘-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", "39"], "point": 1.63, "desc": "비행기/만일 1/만일 ‘오른쪽 화살표’ 키가 키가 눌러져 있는가? 라면", "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", "5"], "point": 1.63, "desc": "비행기/[만일 1]의 세부 동작/x 좌표를 ‘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", "38"], "point": 1.63, "desc": "비행기/만일 1/만일 ‘위쪽 화살표’ 키가 키가 눌러져 있는가? 라면", "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", "5"], "point": 1.63, "desc": "비행기/[만일 3]의 세부 동작/y 좌표를 ‘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", "40"], "point": 1.63, "desc": "비행기/만일 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", "-5"], "point": 1.63, "desc": "비행기/[만일 4]의 세부 동작/y 좌표를 ‘-5’ 만큼 바꾸기", "type": "list" }, { "ele": [ "$[0][3].statements[0][4].type", "$[0][3].statements[0][4].params[0].params[1]", "$[0][3].statements[0][4].params[0].params[2].params[0]" ], "answer": ["_if", "EQUAL", "120"], "point": 1.63, "desc": "비행기/만일 5/만일 ‘에너지’ 값 = ‘120’ 이라면", "type": "list" }, { "ele": "$[0][3].statements[0][4].statements[0][0].type", "answer": "hide", "point": 1.63, "desc": "비행기/[만일 5]의 세부 동작 1/모양 숨기기" }, { "ele": "$[0][3].statements[0][4].statements[0][1].type", "answer": "message_cast", "point": 1.63, "desc": "비행기/[만일 5]의 세부 동작 2/‘업그레이드’ 신호 보내기" } ] }, "6-0": { "type": "script", "ele": "$..objects[?(@.name=~'전투기')].script", "blocks": [ { "ele": "$[0][0].type", "answer": "when_run_button_click", "point": 1.63, "desc": "전투기/시작/시작하기 버튼을 클릭했을 때" }, { "ele": "$[0][1].type", "answer": "hide", "point": 1.63, "desc": "전투기/[시작]의 세부 동작/모양 숨기기" }, { "ele": "$[1][0].type", "answer": "when_message_cast", "point": 1.63, "desc": "전투기/신호/‘업그레이드’ 신호를 받았을 때" }, { "ele": "$[1][1].type", "answer": "locate", "point": 1.63, "desc": "전투기/[신호]의 세부 동작 1/‘비행기’ 위치로 이동하기" }, { "ele": "$[1][2].type", "answer": "show", "point": 1.63, "desc": "전투기/[신호]의 세부 동작 2/모양 보이기" }, { "ele": ["$[1][3].params[0].params[0]", "$[1][3].params[1]"], "answer": ["변신!", "speak"], "point": 1.63, "desc": "전투기/[신호]의 세부 동작 3/‘변신!’ 을 '말하기'", "type": "list" }, { "ele": ["$[1][4].type", "$[1][4].params[0]"], "answer": ["stop_object", "other_objects"], "point": 1.63, "desc": "전투기/[신호]의 세부 동작 4/‘다른 오브젝트의’ 코드 멈추기", "type": "list" }, { "ele": ["$[1][5].type", "$[1][5].params[0].params[0]"], "answer": ["wait_second", "2"], "point": 1.63, "desc": "전투기/[신호]의 세부 동작 5/‘2’ 초 기다리기", "type": "list" }, { "ele": ["$[1][6].type", "$[1][6].params[0]"], "answer": ["start_neighbor_scene", "next"], "point": 1.63, "desc": "전투기/[신호]의 세부 동작 6/‘다음’ 장면 시작하기", "type": "list" } ] }, "2-0": { "type": "script", "ele": "$.objects[?(@.name=='우주정거장')].script", "blocks": [ { "ele": "$[0][0].type", "answer": "when_scene_start", "point": 1.63, "desc": "우주정거장/장면 2/장면이 시작되었을 때" }, { "ele": "$[0][1].type", "answer": "hide_variable", "point": 1.63, "desc": "우주정거장/[장면 2]의 세부 동작 1/변수 ‘에너지’ 숨기기" }, { "ele": ["$[0][2].params[0].params[0]", "$[0][2].params[1]"], "answer": ["미션 성공!", "speak"], "point": 1.63, "desc": "우주정거장/[장면 2]의 세부 동작 2/‘미션 성공!’ 을 '말하기'", "type": "list" }, { "ele": "$[1][0].type", "answer": "when_object_click", "point": 2, "desc": "우주정거장/오브젝트/오브젝트를 클릭했을 때" }, { "ele": [ "$[1][1].type", "$[1][1].params[0]", "$[1][1].params[1].params[0]" ], "answer": [ "add_effect_amount", "color", "35" ], "point": 2, "desc": "우주정거장/[오브젝트]의 세부 동작 1/‘색깔’ 효과를 ‘35’ 만큼 주기", "type": "list" }, { "ele": ["$[1][2].params[0].params[0]", "$[1][2].params[1]"], "answer": ["처음부터 다시 실행합니다!", "speak"], "point": 2, "desc": "우주정거장/[오브젝트]의 세부 동작 2/‘처음부터 다시 실행합니다!’ 를 '말하기'", "type": "list" }, { "ele": [ "$[1][3].type", "$[1][3].params[0].params[0]" ], "answer": ["wait_second", "2"], "point": 2, "desc": "우주정거장/[오브젝트]의 세부 동작 3/‘2’ 초 기다리기", "type": "list" }, { "ele": "$[1][4].type", "answer": "restart_project", "point": 2, "desc": "우주정거장/[오브젝트]의 세부 동작 4/처음부터 다시 실행하기" } ] } }