652 lines
22 KiB
JSON
652 lines
22 KiB
JSON
{
|
|
"1-1": {
|
|
"type": "scene",
|
|
"ele": "$..objects[?(@.name=='작업실')]",
|
|
"point": 1.7,
|
|
"desc": "문제 1/장면 1/[배경] 이름 설정 1/이름을 '작업실'로 변경하기",
|
|
"sort": 11
|
|
},
|
|
"1-2": {
|
|
"type": "scene",
|
|
"ele": "$..objects[?(@.name=='로봇방')]",
|
|
"point": 1.7,
|
|
"desc": "문제 1/장면 2/[배경] 이름 설정 2/이름을 '로봇방'으로 변경하기",
|
|
"sort": 12
|
|
},
|
|
"1-3": {
|
|
"type": "scene",
|
|
"ele": "$..objects[?(@.name=='렌치')]",
|
|
"point": 1.6,
|
|
"desc": "문제 1/렌치/[개체] 이름 설정 1/이름 변경 없음",
|
|
"sort": 13
|
|
},
|
|
"1-4": {
|
|
"type": "scene",
|
|
"ele": "$..objects[?(@.name=='로봇')]",
|
|
"point": 1.7,
|
|
"desc": "문제 1/둥근로봇/[개체] 이름 설정 2/이름을 '로봇'으로 변경하기",
|
|
"sort": 14
|
|
},
|
|
"1-5": {
|
|
"type": "scene",
|
|
"ele": "$..objects[?(@.name=='망치')]",
|
|
"point": 1.7,
|
|
"desc": "문제 1/뿅망치(1)_1/[개체] 이름 설정 3/이름을 '망치'로 변경하기",
|
|
"sort": 15
|
|
},
|
|
"1-6": {
|
|
"type": "scene",
|
|
"ele": "$..objects[?(@.name=='로봇 팔')]",
|
|
"point": 1.6,
|
|
"desc": "문제 1/로봇 팔/[개체] 이름 설정 4/이름 변경 없음",
|
|
"sort": 16
|
|
},
|
|
"1-0": {
|
|
"ele": "$..variables[?(@.name=='고장 원인')]",
|
|
"point": 1.29,
|
|
"desc": "문제 2/렌치/변수/'고장 원인' 변수 만들기 (변수 기본값은 '0', '모든 오브젝트에 사용' 설정하기)",
|
|
"type": "scene",
|
|
"sort": 101
|
|
},
|
|
"2-0": {
|
|
"ele": "$.messages[?(@.name=='수리 완료')]",
|
|
"point": 1.29,
|
|
"desc": "문제 2/렌치/신호/'수리 완료' 신호 만들기",
|
|
"type": "scene",
|
|
"sort": 102
|
|
},
|
|
"3-0": {
|
|
"type": "script",
|
|
"ele": "$.objects[?(@.name=~'렌치')].script",
|
|
"blocks": [
|
|
{
|
|
"ele": "$[0][0].type",
|
|
"answer": "when_run_button_click",
|
|
"point": 1.29,
|
|
"desc": "문제 2/렌치/시작/시작하기 버튼을 클릭했을 때"
|
|
},
|
|
{
|
|
"ele": [
|
|
"$[0][1].type",
|
|
"$[0][1].params[0].params[0]",
|
|
"$[0][1].params[1].params[0]"
|
|
],
|
|
"answer": ["locate_xy", "-90", "-40"],
|
|
"point": 1.29,
|
|
"desc": "문제 2/렌치/[시작]의 세부 동작 1/x: '-90' y: '-40' 위치로 이동하기",
|
|
"type": "list"
|
|
},
|
|
{
|
|
"ele": ["$[0][2].type", "$[0][2].params[0].params[0]"],
|
|
"answer": ["rotate_absolute", "180"],
|
|
"point": 1.29,
|
|
"desc": "문제 2/렌치/[시작]의 세부 동작 2/방향을 '180°' 로 정하기",
|
|
"type": "list"
|
|
},
|
|
{
|
|
"ele": ["$[0][3].type", "$[0][3].params[0].params[0]"],
|
|
"answer": ["set_scale_size", "110"],
|
|
"point": 1.29,
|
|
"desc": "문제 2/렌치/[시작]의 세부 동작 3/크기를 '110' 으로 정하기",
|
|
"type": "list"
|
|
},
|
|
{
|
|
"ele": "$[1][0].type",
|
|
"answer": "when_object_click",
|
|
"point": 1.29,
|
|
"desc": "문제 2/렌치/오브젝트/오브젝트를 클릭했을 때"
|
|
},
|
|
{
|
|
"ele": [
|
|
"$[1][1].type",
|
|
"$[1][1].params[0].params[0]",
|
|
"$[1][1].params[1].params[0]"
|
|
],
|
|
"answer": ["locate_xy", "25", "10"],
|
|
"point": 1.29,
|
|
"desc": "문제 2/렌치/[오브젝트]의 세부 동작 1/x: '25' y: '10' 위치로 이동하기",
|
|
"type": "list"
|
|
},
|
|
{
|
|
"ele": [
|
|
"$[1][2].type",
|
|
"$[1][2].params[0].type",
|
|
"$[1][2].params[0].params[0].type",
|
|
"$[1][2].params[0].params[1]",
|
|
"$[1][2].params[0].params[2].params[0]"
|
|
],
|
|
"answer": [
|
|
"if_else",
|
|
"boolean_basic_operator",
|
|
"get_variable",
|
|
"EQUAL",
|
|
"나사 조임"
|
|
],
|
|
"point": 1.29,
|
|
"desc": "문제 2/렌치/만일 / 아니면/만일 '고장 원인 값' = '나사 조임' 이라면",
|
|
"type": "list"
|
|
},
|
|
{
|
|
"ele": "$[1][2].statements[0][0].params[*].params",
|
|
"answer": ["로봇이 수리되었습니다.", "1"],
|
|
"point": 1.29,
|
|
"desc": "문제 2/렌치/[만일]의 세부 동작 1/'로봇이 수리되었습니다.' 를 '1' 초 동안 '말하기'"
|
|
},
|
|
{
|
|
"ele": "$[1][2].statements[0][1].type",
|
|
"answer": "message_cast",
|
|
"point": 1.29,
|
|
"desc": "문제 2/렌치/[만일]의 세부 동작 2/'수리 완료' 신호 보내기"
|
|
},
|
|
{
|
|
"ele": "$[1][2].statements[1][0].params[*].params",
|
|
"answer": ["고장 원인을 다시 확인하세요.", "2"],
|
|
"point": 1.29,
|
|
"desc": "문제 2/렌치/[아니면]의 세부 동작/'고장 원인을 다시 확인하세요.' 를 '2' 초 동안 '말하기'"
|
|
},
|
|
{
|
|
"ele": [
|
|
"$[1][3].type",
|
|
"$[1][3].params[0].params[0]",
|
|
"$[1][3].params[1].params[0]"
|
|
],
|
|
"answer": ["locate_xy", "-90", "-40"],
|
|
"point": 1.29,
|
|
"desc": "문제 2/렌치/[오브젝트]의 세부 동작 2/x: '-90' y: '-40' 위치로 이동하기",
|
|
"type": "list"
|
|
}
|
|
],
|
|
"sortBlock": ["when_run_button_click", "when_object_click"],
|
|
"sort": 105
|
|
},
|
|
"14-0": {
|
|
"ele": "$..variables[?(@.name=='수리된 로봇')]",
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇/변수/'수리된 로봇' 변수 만들기 (변수 기본값은 '0', '모든 오브젝트에 사용' 설정하기)",
|
|
"type": "scene",
|
|
"sort": 114
|
|
},
|
|
"15-0": {
|
|
"ele": "$.messages[?(@.name=='로봇 이동')]",
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇/신호/'로봇 이동' 신호 만들기",
|
|
"type": "scene",
|
|
"sort": 115
|
|
},
|
|
"4-0": {
|
|
"type": "script",
|
|
"ele": "$.objects[?(@.name=='로봇')].script",
|
|
"blocks": [
|
|
{
|
|
"ele": "$[0][0].type",
|
|
"answer": "when_run_button_click",
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇/시작/시작하기 버튼을 클릭했을 때"
|
|
},
|
|
{
|
|
"ele": [
|
|
"$[0][1].type",
|
|
"$[0][1].params[0].params[0]",
|
|
"$[0][1].params[1].params[0]"
|
|
],
|
|
"answer": ["locate_xy", "95", "-30"],
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇/[시작]의 세부 동작 1/x: '95' y: '-30' 위치로 이동하기",
|
|
"type": "list"
|
|
},
|
|
{
|
|
"ele": ["$[0][2].type", "$[0][2].params[0].params[0]"],
|
|
"answer": ["set_scale_size", "120"],
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇/[시작]의 세부 동작 2/크기를 '120' 으로 정하기",
|
|
"type": "list"
|
|
},
|
|
{
|
|
"ele": "$[1][0].type",
|
|
"answer": "when_message_cast",
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇/수리 완료/'수리 완료' 신호를 받았을 때"
|
|
},
|
|
{
|
|
"ele": ["$[1][1].type", "$[1][1].params[1].params[0]"],
|
|
"answer": ["change_variable", "1"],
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇/[수리 완료]의 세부 동작 1/'수리된 로봇'에 '1' 만큼 더하기",
|
|
"type": "list"
|
|
},
|
|
{
|
|
"ele": "$[1][2].params[*].params",
|
|
"answer": ["수리되었습니다.", "1"],
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇/[수리 완료]의 세부 동작 2/'수리되었습니다.' 를 '1' 초 동안 '말하기'"
|
|
},
|
|
{
|
|
"ele": [
|
|
"$[1][3].type",
|
|
"$[1][3].params[0].type",
|
|
"$[1][3].params[0].params[0].type",
|
|
"$[1][3].params[0].params[1]",
|
|
"$[1][3].params[0].params[2].params[0]"
|
|
],
|
|
"answer": [
|
|
"_if",
|
|
"boolean_basic_operator",
|
|
"get_variable",
|
|
"EQUAL",
|
|
"2"
|
|
],
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇/만일/만일 '수리된 로봇 값' = '2' 이라면",
|
|
"type": "list"
|
|
},
|
|
{
|
|
"ele": [
|
|
"$[1][3].statements[0][0].type",
|
|
"$[1][3].statements[0][0].params[0]"
|
|
],
|
|
"answer": ["set_visible_answer", "HIDE"],
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇/[만일]의 세부 동작 1/대답 '숨기기'",
|
|
"type": "list"
|
|
},
|
|
{
|
|
"ele": "$[1][3].statements[0][1].params[*].params",
|
|
"answer": ["모두 수리했습니다.", "1"],
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇/[만일]의 세부 동작 2/'모두 수리했습니다.' 를 '1' 초 동안 '말하기'"
|
|
},
|
|
{
|
|
"ele": "$[1][3].statements[0][2].type",
|
|
"answer": "start_scene",
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇/[만일]의 세부 동작 3/ '장면2' 시작하기"
|
|
},
|
|
{
|
|
"ele": "$[1][4].type",
|
|
"answer": "message_cast",
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇/[수리 완료]의 세부 동작 3/'로봇 이동' 신호 보내기"
|
|
},
|
|
{
|
|
"ele": "$[2][0].type",
|
|
"answer": "when_message_cast",
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇/로봇 이동/'로봇 이동' 신호를 받았을 때"
|
|
},
|
|
{
|
|
"ele": ["$[2][1].type", "$[2][1].params[0].params[0]"],
|
|
"answer": ["move_x", "120"],
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇/[로봇 이동]의 세부 동작 1/x 좌표를 '120' 만큼 바꾸기",
|
|
"type": "list"
|
|
},
|
|
{
|
|
"ele": "$[2][2].type",
|
|
"answer": "hide",
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇/[로봇 이동]의 세부 동작 2/모양 숨기기"
|
|
},
|
|
{
|
|
"ele": ["$[2][3].type", "$[2][3].params[0].params[0]"],
|
|
"answer": ["wait_second", "0.2"],
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇/[로봇 이동]의 세부 동작 3/'0.2' 초 기다리기",
|
|
"type": "list"
|
|
},
|
|
{
|
|
"ele": [
|
|
"$[2][4].type",
|
|
"$[2][4].params[0].params[0]",
|
|
"$[2][4].params[1].params[0]"
|
|
],
|
|
"answer": ["locate_xy", "95", "-30"],
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇/[로봇 이동]의 세부 동작 4/x: '95' y: '-30' 위치로 이동하기",
|
|
"type": "list"
|
|
},
|
|
{
|
|
"ele": ["$[2][5].type", "$[2][5].params[0].params[0]"],
|
|
"answer": ["wait_second", "0.2"],
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇/[로봇 이동]의 세부 동작 5/'0.2' 초 기다리기",
|
|
"type": "list"
|
|
},
|
|
{
|
|
"ele": "$[2][6].type",
|
|
"answer": "show",
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇/[로봇 이동]의 세부 동작 6/모양 보이기"
|
|
}
|
|
],
|
|
"sortBlock": [
|
|
"when_run_button_click",
|
|
"when_message_cast",
|
|
"when_message_cast"
|
|
],
|
|
"sort": 115
|
|
},
|
|
|
|
"5-0": {
|
|
"type": "script",
|
|
"ele": "$..objects[?(@.name=~'^(망치|뿅망치)$')].script",
|
|
"ele_tmp": "$.objects[?(@.name=~'망치')].script",
|
|
"blocks": [
|
|
{
|
|
"ele": "$[0][0].type",
|
|
"answer": "when_run_button_click",
|
|
"point": 1.29,
|
|
"desc": "문제 2/망치/시작/시작하기 버튼을 클릭했을 때"
|
|
},
|
|
{
|
|
"ele": [
|
|
"$[0][1].type",
|
|
"$[0][1].params[0].params[0]",
|
|
"$[0][1].params[1].params[0]"
|
|
],
|
|
"answer": ["locate_xy", "180", "10"],
|
|
"point": 1.29,
|
|
"desc": "문제 2/망치/[시작]의 세부 동작/x: '180' y: '10' 위치로 이동하기",
|
|
"type": "list"
|
|
},
|
|
{
|
|
"ele": "$[1][0].type",
|
|
"answer": "when_object_click",
|
|
"point": 1.29,
|
|
"desc": "문제 2/망치/오브젝트/오브젝트를 클릭했을 때"
|
|
},
|
|
{
|
|
"ele": ["$[1][1].type", "$[1][1].params[0].params[0]"],
|
|
"answer": ["rotate_absolute", "320"],
|
|
"point": 1.29,
|
|
"desc": "문제 2/망치/[오브젝트]의 세부 동작 1/방향을 '320°' 로 정하기",
|
|
"type": "list"
|
|
},
|
|
{
|
|
"ele": "$[1][2].params[*].params",
|
|
"answer": ["더 고장났어요!", "2"],
|
|
"point": 1.29,
|
|
"desc": "문제 2/망치/[오브젝트]의 세부 동작 2/'더 고장났어요!' 를 '2' 초 동안 '말하기'"
|
|
},
|
|
{
|
|
"ele": ["$[1][3].type", "$[1][3].params[0].params[0]"],
|
|
"answer": ["rotate_absolute", "0"],
|
|
"point": 1.29,
|
|
"desc": "문제 2/망치/[오브젝트]의 세부 동작 3/방향을 '0°' 로 정하기",
|
|
"type": "list"
|
|
}
|
|
],
|
|
"sortBlock": ["when_run_button_click", "when_object_click"],
|
|
"sort": 135
|
|
},
|
|
"6-0": {
|
|
"type": "script",
|
|
"ele": "$..objects[?(@.name=~'^(로봇 팔|단소)$')].script",
|
|
"ele_tmp": "$.objects[?(@.name=~'로봇 팔')].script",
|
|
"blocks": [
|
|
{
|
|
"ele": "$[0][0].type",
|
|
"answer": "when_run_button_click",
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇 팔/시작/시작하기 버튼을 클릭했을 때"
|
|
},
|
|
{
|
|
"ele": [
|
|
"$[0][1].type",
|
|
"$[0][1].params[0].params[0]",
|
|
"$[0][1].params[1].params[0]"
|
|
],
|
|
"answer": ["locate_xy", "10", "15"],
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇 팔/[시작]의 세부 동작 1/x: '10' y: '15' 위치로 이동하기",
|
|
"type": "list"
|
|
},
|
|
{
|
|
"ele": ["$[0][2].type", "$[0][2].params[0].params[0]"],
|
|
"answer": ["rotate_absolute", "180"],
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇 팔/[시작]의 세부 동작 2/방향을 '180°' 로 정하기",
|
|
"type": "list"
|
|
},
|
|
{
|
|
"ele": [
|
|
"$[0][3].type",
|
|
"$[0][3].params[0].params[0].params[3]",
|
|
"$[0][3].params[0].params[1]",
|
|
"$[0][3].params[0].params[2].params[0]"
|
|
],
|
|
"answer": ["repeat_while_true", null, "EQUAL", "2"],
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇 팔/반복/'수리된 로봇 값' = '2' 이 될 때까지' 반복하기",
|
|
"type": "list"
|
|
},
|
|
{
|
|
"ele": [
|
|
"$[0][3].statements[0][0].type",
|
|
"$[0][3].statements[0][0].params[0].params[0]"
|
|
],
|
|
"answer": ["wait_second", "1"],
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇 팔/[반복]의 세부 동작 1/1' 초 기다리기",
|
|
"type": "list"
|
|
},
|
|
{
|
|
"ele": [
|
|
"$[0][3].statements[0][1].type",
|
|
"$[0][3].statements[0][1].params[0].params[0]"
|
|
],
|
|
"answer": ["ask_and_wait", "어디가 고장났나요?"],
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇 팔/[반복]의 세부 동작 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[0].params[1]",
|
|
"$[0][3].statements[0][2].params[0].params[0].params[2].params[0]",
|
|
"$[0][3].statements[0][2].params[0].params[1]",
|
|
"$[0][3].statements[0][2].params[0].params[2].type",
|
|
"$[0][3].statements[0][2].params[0].params[2].params[1]",
|
|
"$[0][3].statements[0][2].params[0].params[2].params[2].params[0]"
|
|
],
|
|
"answer": [
|
|
"if_else",
|
|
"boolean_and_or",
|
|
"boolean_basic_operator",
|
|
"EQUAL",
|
|
"나사 조임",
|
|
"OR",
|
|
"boolean_basic_operator",
|
|
"EQUAL",
|
|
"부품 고장"
|
|
],
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇 팔/만일 / 아니면/만일 '대답' = '나사 조임' 또는 '대답' = '부품 고장' 이라면",
|
|
"type": "list"
|
|
},
|
|
{
|
|
"ele": [
|
|
"$[0][3].statements[0][2].statements[0][0].type",
|
|
"$[0][3].statements[0][2].statements[0][0].params[1].params[0]"
|
|
],
|
|
"answer": ["set_variable", null],
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇 팔/[만일]의 세부 동작 1/'고장 원인' 을 '대답' 으로 정하기",
|
|
"type": "list"
|
|
},
|
|
{
|
|
"ele": "$[0][3].statements[0][2].statements[0][1].params[*].params",
|
|
"answer": ["도구를 선택하세요.", "2"],
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇 팔/[만일]의 세부 동작 2/'도구를 선택하세요' 를 '2' 초 동안 '말하기'"
|
|
},
|
|
{
|
|
"ele": "$[0][3].statements[0][2].statements[1][0].params[*].params",
|
|
"answer": ["나사 조임, 부품 고장 중 무엇입니까?", "2"],
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇 팔/[아니면]의 세부 동작 1/'나사 조임, 부품 고장 중 무엇입니까?' 를 '2' 초 동안 말하기"
|
|
},
|
|
{
|
|
"ele": [
|
|
"$[0][3].statements[0][3].type",
|
|
"$[0][3].statements[0][3].params[0].params[0]"
|
|
],
|
|
"answer": ["wait_second", "2"],
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇 팔/[아니면]의 세부 동작 2/'2' 초 기다리기",
|
|
"type": "list"
|
|
},
|
|
{
|
|
"ele": "$[1][0].type",
|
|
"answer": "when_object_click",
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇 팔/오브젝트/오브젝트를 클릭했을 때"
|
|
},
|
|
{
|
|
"ele": ["$[1][1].type", "$[1][1].params[0].params[0]"],
|
|
"answer": ["rotate_absolute", "130"],
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇 팔/[오브젝트]의 세부 동작 1/방향을 '130°' 로 정하기",
|
|
"type": "list"
|
|
},
|
|
{
|
|
"ele": [
|
|
"$[1][2].type",
|
|
"$[1][2].params[0].type",
|
|
"$[1][2].params[0].params[0].type",
|
|
"$[1][2].params[0].params[1]",
|
|
"$[1][2].params[0].params[2].params[0]"
|
|
],
|
|
"answer": [
|
|
"if_else",
|
|
"boolean_basic_operator",
|
|
"get_variable",
|
|
"EQUAL",
|
|
"부품 고장"
|
|
],
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇 팔/만일 / 아니면/만일 '고장 원인' 값 = '부품 고장' 이라면",
|
|
"type": "list"
|
|
},
|
|
{
|
|
"ele": "$[1][2].statements[0][0].params[*].params",
|
|
"answer": ["로봇이 수리되었습니다.", "1"],
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇 팔/[만일]의 세부 동작 1/'로봇이 수리되었습니다.' 를 '1' 초 동안 '말하기'"
|
|
},
|
|
{
|
|
"ele": "$[1][2].statements[0][1].type",
|
|
"answer": "message_cast",
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇 팔/[만일]의 세부 동작 2/'수리 완료' 신호 보내기"
|
|
},
|
|
{
|
|
"ele": "$[1][2].statements[1][0].params[*].params",
|
|
"answer": ["고장 원인을 확인하세요.", "2"],
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇 팔/[아니면]의 세부 동작/'고장 원인을 다시 확인하세요' 를 '2' 초 동안 '말하기'"
|
|
},
|
|
{
|
|
"ele": [
|
|
"$[1][3].type",
|
|
"$[1][3].params[0].params[0]",
|
|
"$[1][3].params[1].params[0]"
|
|
],
|
|
"answer": ["locate_xy", "10", "15"],
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇 팔/[오브젝트]의 세부 동작 2/x: '10' y: '15' 위치로 이동하기",
|
|
"type": "list"
|
|
},
|
|
{
|
|
"ele": ["$[1][4].type", "$[1][4].params[0].params[0]"],
|
|
"answer": ["rotate_absolute", "180"],
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇 팔/[오브젝트]의 세부 동작 3/방향을 '180°' 로 정하기",
|
|
"type": "list"
|
|
}
|
|
],
|
|
"sortBlock": ["when_run_button_click", "when_object_click"],
|
|
"sort": 141
|
|
},
|
|
"7-0": {
|
|
"type": "script",
|
|
"ele": "$.objects[?(@.name=~'로봇방|장면 ')].script",
|
|
"blocks": [
|
|
{
|
|
"ele": "$[0][0].type",
|
|
"answer": "when_scene_start",
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇방/장면 2/장면이 시작되었을 때"
|
|
},
|
|
{
|
|
"ele": "$[0][1].type",
|
|
"answer": "hide_variable",
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇방/[장면 2]의 세부 동작 1/변수 '고장 원인' 숨기기"
|
|
},
|
|
{
|
|
"ele": "$[0][2].type",
|
|
"answer": "hide_variable",
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇방/[장면 2]의 세부 동작 2/변수 '수리된 로봇' 숨기기"
|
|
},
|
|
{
|
|
"ele": [
|
|
"$[0][3].type",
|
|
"$[0][3].params[0].params[0]",
|
|
"$[0][3].params[1]"
|
|
],
|
|
"answer": ["dialog", "모든 로봇 수리 완료!", "speak"],
|
|
"point": 1.29,
|
|
"desc": "문제 2/로봇방/[장면 2]의 세부 동작 3/'모든 로봇 수리 완료!' 를 '말하기'",
|
|
"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", "45"],
|
|
"point": 2,
|
|
"desc": "문제 3/로봇방/[오브젝트]의 세부 동작 1/'색깔' 효과를 '45' 만큼 주기",
|
|
"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": 160
|
|
}
|
|
}
|