{ "1-1": { "type": "scene", "ele": "$..objects[?(@.name=='동물원')]", "point": 2, "desc": "문제 1/들판(3)/[배경] 이름 설정/이름을 '동물원'으로 변경하기", "sort": 11 }, "1-3": { "type": "scene", "ele": "$..objects[?(@.name=='코끼리')]", "point": 2, "desc": "문제 1/코끼리/[개체] 이름 설정 1/이름 변경 없음", "sort": 13 }, "1-4": { "type": "scene", "ele": "$..objects[?(@.name=='사육사')]", "point": 2, "desc": "문제 1/프랑켄슈타인/[개체] 이름 설정 2/이름을 '사육사'로 변경하기", "sort": 14 }, "1-5": { "type": "scene", "ele": "$..objects[?(@.name=='울타리')]", "point": 2, "desc": "문제 1/골대(3)/[개체] 이름 설정 3/이름을 '울타리'로 변경하기", "sort": 15 }, "1-6": { "type": "scene", "ele": "$..objects[?(@.name=='사자')]", "point": 2, "desc": "문제 1/사자/[개체] 이름 설정 4/이름 변경 없음", "sort": 16 }, "2-0": { "type": "script", "ele": "$.objects[?(@.name=~'코끼리')].script", "blocks": [ { "ele": "$[0][0].type", "answer": "when_run_button_click", "point": 2.09, "desc": "문제 2/코끼리/시작/시작하기 버튼을 클릭했을 때" }, { "ele": [ "$[0][1].type", "$[0][1].params[0].params[0]" ], "answer": [ "set_scale_size", "80" ], "point": 2.09, "desc": "문제 2/코끼리/[시작]의 세부 동작/크기를 '80' 으로 정하기", "type": "list" }, { "ele": [ "$[0][2].type", "$[0][2].params[0]" ], "answer": [ "repeat_inf", null ], "point": 2.09, "desc": "문제 2/코끼리/반복/계속 반복하기", "type": "list" }, { "ele": [ "$[0][2].statements[0][0].type", "$[0][2].statements[0][0].params[0].params[1].params[0]", "$[0][2].statements[0][0].params[0].params[3].params[0]", "$[0][2].statements[0][0].params[1].params[0]" ], "answer": [ "locate_xy", "-150", "150", "-80" ], "point": 2.09, "desc": "문제 2/코끼리/[반복]의 세부 동작 1/x: '-150 부터 150 사이의 무작위 수' y: '-80' 위치로 이동하기", "type": "list" }, { "ele": [ "$[0][2].statements[0][1].type", "$[0][2].statements[0][1].params[0].params[0]" ], "answer": [ "wait_second", "0.5" ], "point": 2.09, "desc": "문제 2/코끼리/[반복]의 세부 동작 2/'0.5' 초 기다리기", "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": 2.09, "desc": "문제 2/사육사/시작/시작하기 버튼을 클릭했을 때" }, { "ele": [ "$[0][1].type", "$[0][1].params[0].params[0]", "$[0][1].params[1].params[0]" ], "answer": [ "locate_xy", "-50", "80" ], "point": 2.09, "desc": "문제 2/사육사/[시작]의 세부 동작 1/x: '-50' y: '80' 위치로 이동하기", "type": "list" }, { "ele": [ "$[0][2].type", "$[0][2].params[0].params[0]" ], "answer": [ "set_scale_size", "70" ], "point": 2.09, "desc": "문제 2/사육사/[시작]의 세부 동작 2/크기를 '70' 으로 정하기", "type": "list" }, { "ele": [ "$[0][3].type", "$[0][3].params[0]" ], "answer": [ "repeat_inf", null ], "point": 2.09, "desc": "문제 2/사육사/반복/계속 반복하기", "type": "list" }, { "ele": [ "$[0][3].statements[0][0].type", "$[0][3].statements[0][0].params[0].type" ], "answer": [ "_if", "reach_something" ], "point": 2.09, "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", "20" ], "point": 2.09, "desc": "문제 2/사육사/[만일 1]의 세부 동작/x 좌표를 '20' 만큼 바꾸기", "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].type", "$[0][3].statements[0][1].params[0].params[1]", "$[0][3].statements[0][1].params[0].params[2].params[0]" ], "answer": [ "_if", "boolean_basic_operator", "coordinate_object", "LESS", null ], "point": 2.09, "desc": "문제 2/사육사/만일 2/만일 '사자 의 x 좌푯값' < '사육사 의 x 좌푯값' 이라면", "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", "-2" ], "point": 2.09, "desc": "문제 2/사육사/[만일 2]의 세부 동작/x 좌표를 '-2' 만큼 바꾸기", "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].type", "$[0][3].statements[0][2].params[0].params[1]", "$[0][3].statements[0][2].params[0].params[2].params[0]" ], "answer": [ "_if", "boolean_basic_operator", "coordinate_object", "GREATER", null ], "point": 2.09, "desc": "문제 2/사육사/만일 3/만일 '사자 의 x 좌푯값' > '사육사 의 x 좌푯값' 이라면", "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", "2" ], "point": 2.09, "desc": "문제 2/사육사/[만일 3]의 세부 동작/x 좌표를 '2' 만큼 바꾸기", "type": "list" }, { "ele": [ "$[0][3].statements[0][3].type", "$[0][3].statements[0][3].params[0].params[0]" ], "answer": [ "wait_second", "0.2" ], "point": 2.09, "desc": "문제 2/사육사/[반복]의 세부 동작/'0.2' 초 기다리기", "type": "list" } ], "sortBlock": [ "when_run_button_click" ], "sort": 107 }, "4-0": { "type": "script", "ele": "$.objects[?(@.name=~'울타리|골대')].script", "blocks": [ { "ele": "$[0][0].type", "answer": "when_run_button_click", "point": 2.09, "desc": "문제 2/울타리/시작/시작하기 버튼을 클릭했을 때" }, { "ele": [ "$[0][1].type", "$[0][1].params[0].params[0]", "$[0][1].params[1].params[0]" ], "answer": [ "locate_xy", "20", "-200" ], "point": 2.09, "desc": "문제 2/울타리/[시작]의 세부 동작 1/x: '20' y: '-200' 위치로 이동하기", "type": "list" }, { "ele": [ "$[0][2].type", "$[0][2].params[0].params[0]" ], "answer": [ "rotate_absolute", "90" ], "point": 2.09, "desc": "문제 2/울타리/[시작]의 세부 동작 2/방향을 '90°' 로 정하기", "type": "list" }, { "ele": [ "$[0][3].type", "$[0][3].params[0].params[0]" ], "answer": [ "set_scale_size", "330" ], "point": 2.09, "desc": "문제 2/울타리/[시작]의 세부 동작 3/크기를 '330' 으로 정하기", "type": "list" }, { "ele": [ "$[0][4].type", "$[0][4].params[0]" ], "answer": [ "repeat_inf", null ], "point": 2.09, "desc": "문제 2/울타리/반복/계속 반복하기", "type": "list" }, { "ele": [ "$[0][4].statements[0][0].type", "$[0][4].statements[0][0].params[0].type" ], "answer": [ "_if", "reach_something" ], "point": 2.09, "desc": "문제 2/울타리/만일/만일 '사자' 에 닿았는가? 라면", "type": "list" }, { "ele": "$[0][4].statements[0][0].statements[0][0].params[0].params", "answer": [ "사자가 탈출했다!" ], "point": 2.09, "desc": "문제 2/울타리/[만일]의 세부 동작 1/'사자가 탈출했다!' 를 '말하기'" }, { "ele": [ "$[0][4].statements[0][0].statements[0][1].type", "$[0][4].statements[0][0].statements[0][1].params[0]" ], "answer": [ "stop_object", "all" ], "point": 2.09, "desc": "문제 2/울타리/[만일]의 세부 동작 2/'모든' 코드 멈추기", "type": "list" } ], "sortBlock": [ "when_run_button_click" ], "sort": 118 }, "5-0": { "type": "script", "ele": "$.objects[?(@.name=~'사자')].script", "blocks": [ { "ele": "$[0][0].type", "answer": "when_run_button_click", "point": 2.09, "desc": "문제 2/사자/시작/시작하기 버튼을 클릭했을 때" }, { "ele": [ "$[0][1].type", "$[0][1].params[0].params[0]", "$[0][1].params[1].params[0]" ], "answer": [ "locate_xy", "100", "80" ], "point": 2.09, "desc": "문제 2/사자/[시작]의 세부 동작 1/x: '100' y: '80' 위치로 이동하기", "type": "list" }, { "ele": [ "$[0][2].type", "$[0][2].params[0].params[0]" ], "answer": [ "set_scale_size", "80" ], "point": 2.09, "desc": "문제 2/사자/[시작]의 세부 동작 2/크기를 '80' 으로 정하기", "type": "list" }, { "ele": [ "$[0][3].type", "$[0][3].params[0].type" ], "answer": [ "change_to_some_shape", "get_pictures" ], "point": 2.09, "desc": "문제 2/사자/[시작]의 세부 동작 3/'사자_4' 모양으로 바꾸기", "type": "list" }, { "ele": [ "$[0][4].type", "$[0][4].params[0]" ], "answer": [ "repeat_inf", null ], "point": 2.09, "desc": "문제 2/사자/반복/계속 반복하기", "type": "list" }, { "ele": [ "$[0][4].statements[0][0].type", "$[0][4].statements[0][0].params[0].type", "$[0][4].statements[0][0].params[0].params[0]" ], "answer": [ "_if", "is_press_some_key", "38" ], "point": 2.09, "desc": "문제 2/사자/만일 1/만일 '위쪽 화살표' 키가 눌러져 있는가? 라면", "type": "list" }, { "ele": [ "$[0][4].statements[0][0].statements[0][0].type", "$[0][4].statements[0][0].statements[0][0].params[0].params[0]" ], "answer": [ "move_y", "5" ], "point": 2.09, "desc": "문제 2/사자/[만일 1]의 세부 동작/y 좌표를 '5' 만큼 바꾸기", "type": "list" }, { "ele": [ "$[0][4].statements[0][1].type", "$[0][4].statements[0][1].params[0].type", "$[0][4].statements[0][1].params[0].params[0]" ], "answer": [ "_if", "is_press_some_key", "40" ], "point": 2.09, "desc": "문제 2/사자/만일 2/만일 '아래쪽 화살표' 키가 눌러져 있는가? 라면", "type": "list" }, { "ele": [ "$[0][4].statements[0][1].statements[0][0].type", "$[0][4].statements[0][1].statements[0][0].params[0].params[0]" ], "answer": [ "move_y", "-5" ], "point": 2.09, "desc": "문제 2/사자/[만일 2]의 세부 동작/y 좌표를 '-5' 만큼 바꾸기", "type": "list" }, { "ele": [ "$[0][4].statements[0][2].type", "$[0][4].statements[0][2].params[0].type", "$[0][4].statements[0][2].params[0].params[0]" ], "answer": [ "_if", "is_press_some_key", "37" ], "point": 2.09, "desc": "문제 2/사자/만일 3/만일 '왼쪽 화살표' 키가 눌러져 있는가? 라면", "type": "list" }, { "ele": [ "$[0][4].statements[0][2].statements[0][0].type", "$[0][4].statements[0][2].statements[0][0].params[0].params[0]" ], "answer": [ "move_x", "-5" ], "point": 2.09, "desc": "문제 2/사자/[만일 3]의 세부 동작/x 좌표를 '-5' 만큼 바꾸기", "type": "list" }, { "ele": [ "$[0][4].statements[0][3].type", "$[0][4].statements[0][3].params[0].type", "$[0][4].statements[0][3].params[0].params[0]" ], "answer": [ "_if", "is_press_some_key", "39" ], "point": 2.09, "desc": "문제 2/사자/만일 4/만일 '오른쪽 화살표' 키가 눌러져 있는가? 라면", "type": "list" }, { "ele": [ "$[0][4].statements[0][3].statements[0][0].type", "$[0][4].statements[0][3].statements[0][0].params[0].params[0]" ], "answer": [ "move_x", "5" ], "point": 2.09, "desc": "문제 2/사자/[만일 4]의 세부 동작/x 좌표를 '5' 만큼 바꾸기", "type": "list" }, { "ele": [ "$[0][4].statements[0][4].type", "$[0][4].statements[0][4].params[0].type" ], "answer": [ "_if", "reach_something" ], "point": 2.09, "desc": "문제 2/사자/만일 5/만일 '사육사' 에 닿았는가? 라면", "type": "list" }, { "ele": [ "$[0][4].statements[0][4].statements[0][0].type", "$[0][4].statements[0][4].statements[0][0].params[0].params[0]", "$[0][4].statements[0][4].statements[0][0].params[1].params[0]" ], "answer": [ "locate_xy", "100", "80" ], "point": 2.09, "desc": "문제 2/사자/[만일 5]의 세부 동작 1/'x: '100' y: '80' 위치로 이동하기", "type": "list" }, { "ele": "$[0][4].statements[0][4].statements[0][1].params[*].params", "answer": [ "다시 돌아가야겠군!", "0.5" ], "point": 2.09, "desc": "문제 2/사자/[만일 5]의 세부 동작 2/'다시 돌아가야겠군!' 을 '0.5' 초 동안 '말하기'" }, { "ele": [ "$[0][4].statements[0][5].type", "$[0][4].statements[0][5].params[0].type" ], "answer": [ "_if", "reach_something" ], "point": 2.09, "desc": "문제 2/사자/만일 6/만일 '코끼리' 에 닿았는가? 라면", "type": "list" }, { "ele": [ "$[0][4].statements[0][5].statements[0][0].type", "$[0][4].statements[0][5].statements[0][0].params[0].params[0]" ], "answer": [ "move_y", "30" ], "point": 2.22, "desc": "문제 2/사자/[만일 6]의 세부 동작 1/y 좌표를 '30' 만큼 바꾸기", "type": "list" }, { "ele": "$[0][4].statements[0][5].statements[0][1].params[*].params", "answer": [ "길이 막혔다!", "0.5" ], "point": 2.09, "desc": "문제 2/사자/[만일 6]의 세부 동작 2/'길이 막혔다!' 를 '0.5' 초 동안 '말하기'" } ], "sortBlock": [ "when_run_button_click" ], "sort": 126 } }