{ "1-1": { "type": "scene", "ele": "$..objects[?(@.name=='실험실')]", "points": 2, "desc": "문제 1/교실 뒤(3)/[배경] 이름 설정/이름을 '실험실'으로 변경하기" }, "1-2": { "type": "scene", "ele": "$..objects[?(@.name=='새로운 약')]", "points": 2, "desc": "문제 1/물약(빨강)/[개체] 이름 설정 1/이름을 '새로운 약'으로 변경하기" }, "1-4": { "type": "scene", "ele": "$..objects[?(@.name=='불')]", "points": 2, "desc": "문제 1/불(2)/[개체] 이름 설정 2/이름을 '불'로 변경하기" }, "1-5": { "type": "scene", "ele": "$..objects[?(@.name=='마법사')]", "points": 2, "desc": "문제 1/꼬마 마법사/[개체] 이름 설정 3/이름을 '마법사'로 변경하기" }, "1-6": { "type": "scene", "ele": "$..objects[?(@.name=='마법의 약')]", "points": 2, "desc": "문제 1/마법의 약/[개체] 이름 설정 4/이름 변경 없음" }, "2-0": { "type": "script", "ele": "$.objects[?(@.name=~'새로운 약|물약')].script", "blocks": [ { "ele": "$[0][0].type", "answer": "when_run_button_click", "points": 2.43, "desc": "문제 2/새로운 약/시작/시작하기 버튼을 클릭했을 때" }, { "ele": [ "$[0][1].type", "$[0][1].params[0].params[0]", "$[0][1].params[1].params[0]" ], "answer": ["locate_xy", "50", "5"], "points": 2.43, "desc": "문제 2/새로운 약/[시작]의 세부 동작 1/x: '50' y: '5' 위치로 이동하기", "type": "list" }, { "ele": "$[0][2].params[0].params[0]", "answer": "60", "points": 2.43, "desc": "문제 2/새로운 약/[시작]의 세부 동작 2/크기를 '60' 으로 정하기" }, { "ele": "$[1][0].type", "answer": "when_object_click", "points": 2.43, "desc": "문제 2/새로운 약/오브젝트/오브젝트를 클릭했을 때" }, { "ele": ["$[1][1].type", "$[1][1].params[0]"], "answer": ["repeat_inf", null], "points": 2.43, "desc": "문제 2/새로운 약/반복/계속 반복하기", "type": "list" }, { "ele": "$[1][1].statements[0][0].type", "answer": "locate", "points": 2.43, "desc": "문제 2/새로운 약/[반복]의 세부 동작/'마우스 포인터' 위치로 이동하기" } ] }, "3-0": { "type": "script", "ele": "$.objects[?(@.name=~'불')].script", "blocks": [ { "ele": "$[0][0].type", "answer": "when_run_button_click", "points": 2.43, "desc": "문제 2/불/시작/시작하기 버튼을 클릭했을 때" }, { "ele": [ "$[0][1].type", "$[0][1].params[0].params[0]", "$[0][1].params[1].params[0]" ], "answer": ["locate_xy", "-150", "-30"], "points": 2.43, "desc": "문제 2/불/[시작]의 세부 동작 1/x: '-150' y: '-30' 위치로 이동하기", "type": "list" }, { "ele": "$[0][2].params[0].params[0]", "answer": "90", "points": 2.43, "desc": "문제 2/불/[시작]의 세부 동작 2/크기를 '90' 으로 정하기" }, { "ele": ["$[0][3].type", "$[0][3].params[0]"], "answer": ["repeat_inf", null], "points": 2.43, "desc": "문제 2/불/반복/계속 반복하기", "type": "list" }, { "ele": [ "$[0][3].statements[0][0].type", "$[0][3].statements[0][0].params[0].params[1].params[0]", "$[0][3].statements[0][0].params[0].params[3].params[0]", "$[0][3].statements[0][0].params[1].params[1].params[0]", "$[0][3].statements[0][0].params[1].params[3].params[0]" ], "answer": ["locate_xy", "-150", "0", "-10", "40"], "points": 2.43, "desc": "문제 2/불/[반복]의 세부 동작 1/x: '-150 부터 0 사이의 무작위 수' y: '-10 부터 40 사이의 무작위 수' 위치로 이동하기", "type": "list" }, { "ele": "$[0][3].statements[0][1].type", "answer": "hide", "points": 2.43, "desc": "문제 2/불/[반복]의 세부 동작 2/모양 숨기기" }, { "ele": [ "$[0][3].statements[0][2].type", "$[0][3].statements[0][2].params[0].type", "$[0][3].statements[0][2].params[0].params[1].params[0]", "$[0][3].statements[0][2].params[0].params[3].params[0]" ], "answer": ["wait_second", "calc_rand", "1", "2"], "points": 2.43, "desc": "문제 2/불/[반복]의 세부 동작 3/'1 부터 2 사이의 무작위 수' 초 기다리기", "type": "list" }, { "ele": "$[0][3].statements[0][3].type", "answer": "show", "points": 2.43, "desc": "문제 2/불/[반복]의 세부 동작 4/모양 보이기" }, { "ele": [ "$[0][3].statements[0][4].type", "$[0][3].statements[0][4].params[0].params[0]" ], "answer": ["wait_second", "0.5"], "points": 2.43, "desc": "문제 2/불/[반복]의 세부 동작 5/'0.5' 초 기다리기", "type": "list" }, { "ele": [ "$[0][3].statements[0][5].type", "$[0][3].statements[0][5].params[0].type" ], "answer": ["_if", "reach_something"], "points": 2.43, "desc": "문제 2/불/만일/만일 '새로운 약' 에 닿았는가? 라면", "type": "list" }, { "ele": "$[0][3].statements[0][5].statements[0][0].params[0].params[0]", "answer": "300", "points": 2.43, "desc": "문제 2/불/[만일]의 세부 동작 1/크기를 '300' 으로 정하기" }, { "ele": [ "$[0][3].statements[0][5].statements[0][1].type", "$[0][3].statements[0][5].statements[0][1].params[0].params[0]", "$[0][3].statements[0][5].statements[0][1].params[1]" ], "answer": ["dialog", "마법 실패", "speak"], "points": 2.43, "desc": "문제 2/불/[만일]의 세부 동작 2/'마법 실패' 를 '말하기'", "type": "list" }, { "ele": [ "$[0][3].statements[0][5].statements[0][2].type", "$[0][3].statements[0][5].statements[0][2].params[0]" ], "answer": ["stop_object", "all"], "points": 2.43, "desc": "문제 2/불/[만일]의 세부 동작 3/'모든' 코드 멈추기", "type": "list" } ] }, "4-0": { "type": "script", "ele": "$.objects[?(@.name=~'마법사')].script", "blocks": [ { "ele": "$[0][0].type", "answer": "when_run_button_click", "points": 2.43, "desc": "문제 2/마법사/시작/시작하기 버튼을 클릭했을 때" }, { "ele": [ "$[0][1].type", "$[0][1].params[0].params[0]", "$[0][1].params[1].params[0]" ], "answer": ["locate_xy", "135", "-20"], "points": 2.43, "desc": "문제 2/마법사/[시작]의 세부 동작 1/x: '135' y: '-20' 위치로 이동하기", "type": "list" }, { "ele": "$[0][2].params[0].params[0]", "answer": "180", "points": 2.43, "desc": "문제 2/마법사/[시작]의 세부 동작 2/크기를 '180' 으로 정하기" }, { "ele": "$[0][3].params[*].params", "answer": ["마법 실험을 해봐야지!", "2"], "points": 2.43, "desc": "문제 2/마법사/[시작]의 세부 동작 3/'마법 실험을 해봐야지!' 를 '2' 초 동안 '말하기'" } ] }, "5-0": { "type": "script", "ele": "$.objects[?(@.name=~'마법의 약')].script", "blocks": [ { "ele": "$[0][0].type", "answer": "when_run_button_click", "points": 2.43, "desc": "문제 2/마법의 약/시작/시작하기 버튼을 클릭했을 때" }, { "ele": [ "$[0][1].type", "$[0][1].params[0].params[0]", "$[0][1].params[1].params[0]" ], "answer": ["locate_xy", "-40", "10"], "points": 2.43, "desc": "문제 2/마법의 약/[시작]의 세부 동작 1/x: '-40' y: '10' 위치로 이동하기", "type": "list" }, { "ele": "$[0][2].params[0].params[0]", "answer": "50", "points": 2.43, "desc": "문제 2/마법의 약/[시작]의 세부 동작 2/크기를 '50' 으로 정하기" }, { "ele": ["$[0][3].type", "$[0][3].params[0]"], "answer": ["repeat_inf", null], "points": 2.43, "desc": "문제 2/마법의 약/반복/계속 반복하기", "type": "list" }, { "ele": "$[0][3].statements[0][0].type", "answer": "hide", "points": 2.43, "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]" ], "answer": ["locate_x", "-160", "60"], "points": 2.43, "desc": "문제 2/마법의 약/[반복]의 세부 동작 2/x: '-160 부터 60 사이의 무작위 수' 위치로 이동하기", "type": "list" }, { "ele": [ "$[0][3].statements[0][2].type", "$[0][3].statements[0][2].params[0].params[0]" ], "answer": ["wait_second", "2"], "points": 2.43, "desc": "문제 2/마법의 약/[반복]의 세부 동작 3/ '2' 초 기다리기", "type": "list" }, { "ele": "$[0][3].statements[0][3].type", "answer": "show", "points": 2.43, "desc": "문제 2/마법의 약/[반복]의 세부 동작 4/모양 보이기" }, { "ele": [ "$[0][3].statements[0][4].type", "$[0][3].statements[0][4].params[0].params[0]" ], "answer": ["wait_second", "0.5"], "points": 2.43, "desc": "문제 2/마법의 약/[반복]의 세부 동작 5/'0.5' 초 기다리기", "type": "list" }, { "ele": [ "$[0][3].statements[0][5].type", "$[0][3].statements[0][5].params[0].type" ], "answer": ["_if", "reach_something"], "points": 2.43, "desc": "문제 2/마법의 약/만일/만일 '새로운 약' 에 닿았는가? 라면", "type": "list" }, { "ele": "$[0][3].statements[0][5].statements[0][0].params[0].params[0]", "answer": "100", "points": 2.43, "desc": "문제 2/마법의 약/[만일]의 세부 동작 1/크기를 '100' 으로 정하기" }, { "ele": [ "$[0][3].statements[0][5].statements[0][1].type", "$[0][3].statements[0][5].statements[0][1].params[0]", "$[0][3].statements[0][5].statements[0][1].params[1].params[0]" ], "answer": ["add_effect_amount", "color", "70"], "points": 2.43, "desc": "문제 2/마법의 약/[만일]의 세부 동작 2/'색깔' 효과를 '70' 만큼 주기", "type": "list" }, { "ele": [ "$[0][3].statements[0][5].statements[0][2].type", "$[0][3].statements[0][5].statements[0][2].params[0].params[0]", "$[0][3].statements[0][5].statements[0][2].params[1]" ], "answer": ["dialog", "마법 성공", "speak"], "points": 2.43, "desc": "문제 2/마법의 약/[만일]의 세부 동작 3/'마법 성공' 을 '말하기'", "type": "list" }, { "ele": [ "$[0][3].statements[0][5].statements[0][3].type", "$[0][3].statements[0][5].statements[0][3].params[0]" ], "answer": ["stop_object", "all"], "points": 2.43, "desc": "문제 2/마법의 약/[만일]의 세부 동작 4/'모든' 코드 멈추기", "type": "list" } ] } }