2602회 채점완료

This commit is contained in:
2026-03-06 17:41:55 +09:00
parent 20b9848818
commit 2c78f54bdd
57 changed files with 1718 additions and 10536 deletions

View File

@@ -18,7 +18,7 @@
"ele": "$..objects[?(@.name=='렌치')]",
"point": 1.6,
"desc": "문제 1/렌치/[개체] 이름 설정 1/이름 변경 없음",
"sort": 13
"sort": 13
},
"1-4": {
"type": "scene",
@@ -71,37 +71,21 @@
"$[0][1].params[0].params[0]",
"$[0][1].params[1].params[0]"
],
"answer": [
"locate_xy",
"-90",
"-40"
],
"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"
],
"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"
],
"ele": ["$[0][3].type", "$[0][3].params[0].params[0]"],
"answer": ["set_scale_size", "110"],
"point": 1.29,
"desc": "문제 2/렌치/[시작]의 세부 동작 3/크기를 '110' 으로 정하기",
"type": "list"
@@ -118,11 +102,7 @@
"$[1][1].params[0].params[0]",
"$[1][1].params[1].params[0]"
],
"answer": [
"locate_xy",
"25",
"10"
],
"answer": ["locate_xy", "25", "10"],
"point": 1.29,
"desc": "문제 2/렌치/[오브젝트]의 세부 동작 1/x: '25' y: '10' 위치로 이동하기",
"type": "list"
@@ -148,10 +128,7 @@
},
{
"ele": "$[1][2].statements[0][0].params[*].params",
"answer": [
"로봇이 수리되었습니다.",
"1"
],
"answer": ["로봇이 수리되었습니다.", "1"],
"point": 1.29,
"desc": "문제 2/렌치/[만일]의 세부 동작 1/'로봇이 수리되었습니다.' 를 '1' 초 동안 '말하기'"
},
@@ -163,10 +140,7 @@
},
{
"ele": "$[1][2].statements[1][0].params[*].params",
"answer": [
"고장 원인을 다시 확인하세요.",
"2"
],
"answer": ["고장 원인을 다시 확인하세요.", "2"],
"point": 1.29,
"desc": "문제 2/렌치/[아니면]의 세부 동작/'고장 원인을 다시 확인하세요.' 를 '2' 초 동안 '말하기'"
},
@@ -176,20 +150,13 @@
"$[1][3].params[0].params[0]",
"$[1][3].params[1].params[0]"
],
"answer": [
"locate_xy",
"-90",
"-40"
],
"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"
],
"sortBlock": ["when_run_button_click", "when_object_click"],
"sort": 105
},
"14-0": {
@@ -222,24 +189,14 @@
"$[0][1].params[0].params[0]",
"$[0][1].params[1].params[0]"
],
"answer": [
"locate_xy",
"95",
"-30"
],
"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"
],
"ele": ["$[0][2].type", "$[0][2].params[0].params[0]"],
"answer": ["set_scale_size", "120"],
"point": 1.29,
"desc": "문제 2/로봇/[시작]의 세부 동작 2/크기를 '120' 으로 정하기",
"type": "list"
@@ -251,27 +208,18 @@
"desc": "문제 2/로봇/수리 완료/'수리 완료' 신호를 받았을 때"
},
{
"ele": "$[1][2].params[*].params",
"answer": [
"수리되었습니다.",
"1"
],
"point": 1.29,
"desc": "문제 2/로봇/[수리 완료]의 세부 동작 2/'수리되었습니다.' 를 '1' 초 동안 '말하기'"
},
{
"ele": [
"$[1][1].type",
"$[1][1].params[1].params[0]"
],
"answer": [
"change_variable",
"1"
],
"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",
@@ -296,20 +244,14 @@
"$[1][3].statements[0][0].type",
"$[1][3].statements[0][0].params[0]"
],
"answer": [
"set_visible_answer",
"HIDE"
],
"answer": ["set_visible_answer", "HIDE"],
"point": 1.29,
"desc": "문제 2/로봇/[만일]의 세부 동작 1/대답 '숨기기'",
"type": "list"
},
{
"ele": "$[1][3].statements[0][1].params[*].params",
"answer": [
"모두 수리했습니다.",
"1"
],
"answer": ["모두 수리했습니다.", "1"],
"point": 1.29,
"desc": "문제 2/로봇/[만일]의 세부 동작 2/'모두 수리했습니다.' 를 '1' 초 동안 '말하기'"
},
@@ -332,14 +274,8 @@
"desc": "문제 2/로봇/로봇 이동/'로봇 이동' 신호를 받았을 때"
},
{
"ele": [
"$[2][1].type",
"$[2][1].params[0].params[0]"
],
"answer": [
"move_x",
"120"
],
"ele": ["$[2][1].type", "$[2][1].params[0].params[0]"],
"answer": ["move_x", "120"],
"point": 1.29,
"desc": "문제 2/로봇/[로봇 이동]의 세부 동작 1/x 좌표를 '120' 만큼 바꾸기",
"type": "list"
@@ -351,14 +287,8 @@
"desc": "문제 2/로봇/[로봇 이동]의 세부 동작 2/모양 숨기기"
},
{
"ele": [
"$[2][3].type",
"$[2][3].params[0].params[0]"
],
"answer": [
"wait_second",
"0.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"
@@ -369,24 +299,14 @@
"$[2][4].params[0].params[0]",
"$[2][4].params[1].params[0]"
],
"answer": [
"locate_xy",
"95",
"-30"
],
"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"
],
"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"
@@ -423,11 +343,7 @@
"$[0][1].params[0].params[0]",
"$[0][1].params[1].params[0]"
],
"answer": [
"locate_xy",
"180",
"10"
],
"answer": ["locate_xy", "180", "10"],
"point": 1.29,
"desc": "문제 2/망치/[시작]의 세부 동작/x: '180' y: '10' 위치로 이동하기",
"type": "list"
@@ -439,45 +355,27 @@
"desc": "문제 2/망치/오브젝트/오브젝트를 클릭했을 때"
},
{
"ele": [
"$[1][1].type",
"$[1][1].params[0].params[0]"
],
"answer": [
"rotate_absolute",
"320"
],
"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"
],
"answer": ["더 고장났어요!", "2"],
"point": 1.29,
"desc": "문제 2/망치/[오브젝트]의 세부 동작 2/'더 고장났어요!' 를 '2' 초 동안 '말하기'"
},
{
"ele": [
"$[1][3].type",
"$[1][3].params[0].params[0]"
],
"answer": [
"rotate_absolute",
"0"
],
"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"
],
"sortBlock": ["when_run_button_click", "when_object_click"],
"sort": 135
},
"6-0": {
@@ -497,24 +395,14 @@
"$[0][1].params[0].params[0]",
"$[0][1].params[1].params[0]"
],
"answer": [
"locate_xy",
"10",
"15"
],
"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"
],
"ele": ["$[0][2].type", "$[0][2].params[0].params[0]"],
"answer": ["rotate_absolute", "180"],
"point": 1.29,
"desc": "문제 2/로봇 팔/[시작]의 세부 동작 2/방향을 '180°' 로 정하기",
"type": "list"
@@ -526,12 +414,7 @@
"$[0][3].params[0].params[1]",
"$[0][3].params[0].params[2].params[0]"
],
"answer": [
"repeat_while_true",
null,
"EQUAL",
"2"
],
"answer": ["repeat_while_true", null, "EQUAL", "2"],
"point": 1.29,
"desc": "문제 2/로봇 팔/반복/'수리된 로봇 값' = '2' 이 될 때까지' 반복하기",
"type": "list"
@@ -541,10 +424,7 @@
"$[0][3].statements[0][0].type",
"$[0][3].statements[0][0].params[0].params[0]"
],
"answer": [
"wait_second",
"1"
],
"answer": ["wait_second", "1"],
"point": 1.29,
"desc": "문제 2/로봇 팔/[반복]의 세부 동작 1/1' 초 기다리기",
"type": "list"
@@ -554,10 +434,7 @@
"$[0][3].statements[0][1].type",
"$[0][3].statements[0][1].params[0].params[0]"
],
"answer": [
"ask_and_wait",
"어디가 고장났나요?"
],
"answer": ["ask_and_wait", "어디가 고장났나요?"],
"point": 1.29,
"desc": "문제 2/로봇 팔/[반복]의 세부 동작 2/'어디가 고장났나요?' 를 묻고 대답 기다리기",
"type": "list"
@@ -594,29 +471,20 @@
"$[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
],
"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"
],
"answer": ["도구를 선택하세요.", "2"],
"point": 1.29,
"desc": "문제 2/로봇 팔/[만일]의 세부 동작 2/'도구를 선택하세요' 를 '2' 초 동안 '말하기'"
},
{
"ele": "$[0][3].statements[0][2].statements[1][0].params[*].params",
"answer": [
"나사 조임, 부품 고장 중 무엇입니까?",
"2"
],
"answer": ["나사 조임, 부품 고장 중 무엇입니까?", "2"],
"point": 1.29,
"desc": "문제 2/로봇 팔/[아니면]의 세부 동작 1/'나사 조임, 부품 고장 중 무엇입니까?' 를 '2' 초 동안 말하기"
},
@@ -625,10 +493,7 @@
"$[0][3].statements[0][3].type",
"$[0][3].statements[0][3].params[0].params[0]"
],
"answer": [
"wait_second",
"2"
],
"answer": ["wait_second", "2"],
"point": 1.29,
"desc": "문제 2/로봇 팔/[아니면]의 세부 동작 2/'2' 초 기다리기",
"type": "list"
@@ -640,14 +505,8 @@
"desc": "문제 2/로봇 팔/오브젝트/오브젝트를 클릭했을 때"
},
{
"ele": [
"$[1][1].type",
"$[1][1].params[0].params[0]"
],
"answer": [
"rotate_absolute",
"130"
],
"ele": ["$[1][1].type", "$[1][1].params[0].params[0]"],
"answer": ["rotate_absolute", "130"],
"point": 1.29,
"desc": "문제 2/로봇 팔/[오브젝트]의 세부 동작 1/방향을 '130°' 로 정하기",
"type": "list"
@@ -673,10 +532,7 @@
},
{
"ele": "$[1][2].statements[0][0].params[*].params",
"answer": [
"로봇이 수리되었습니다.",
"1"
],
"answer": ["로봇이 수리되었습니다.", "1"],
"point": 1.29,
"desc": "문제 2/로봇 팔/[만일]의 세부 동작 1/'로봇이 수리되었습니다.' 를 '1' 초 동안 '말하기'"
},
@@ -688,10 +544,7 @@
},
{
"ele": "$[1][2].statements[1][0].params[*].params",
"answer": [
"고장 원인을 확인하세요.",
"2"
],
"answer": ["고장 원인을 확인하세요.", "2"],
"point": 1.29,
"desc": "문제 2/로봇 팔/[아니면]의 세부 동작/'고장 원인을 다시 확인하세요' 를 '2' 초 동안 '말하기'"
},
@@ -701,33 +554,20 @@
"$[1][3].params[0].params[0]",
"$[1][3].params[1].params[0]"
],
"answer": [
"locate_xy",
"10",
"15"
],
"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"
],
"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"
],
"sortBlock": ["when_run_button_click", "when_object_click"],
"sort": 141
},
"7-0": {
@@ -758,11 +598,7 @@
"$[0][3].params[0].params[0]",
"$[0][3].params[1]"
],
"answer": [
"dialog",
"모든 로봇 수리 완료!",
"speak"
],
"answer": ["dialog", "모든 로봇 수리 완료!", "speak"],
"point": 1.29,
"desc": "문제 2/로봇방/[장면 2]의 세부 동작 3/'모든 로봇 수리 완료!' 를 '말하기'",
"type": "list"
@@ -779,11 +615,7 @@
"$[1][1].params[0]",
"$[1][1].params[1].params[0]"
],
"answer": [
"add_effect_amount",
"color",
"45"
],
"answer": ["add_effect_amount", "color", "45"],
"point": 2,
"desc": "문제 3/로봇방/[오브젝트]의 세부 동작 1/'색깔' 효과를 '45' 만큼 주기",
"type": "list"
@@ -794,24 +626,14 @@
"$[1][2].params[0].params[0]",
"$[1][2].params[1]"
],
"answer": [
"dialog",
"처음부터 다시 실행합니다.",
"speak"
],
"answer": ["dialog", "처음부터 다시 실행합니다.", "speak"],
"point": 2,
"desc": "문제 3/로봇방/[오브젝트]의 세부 동작 2/'처음부터 다시 실행합니다.' 를 '말하기'",
"type": "list"
},
{
"ele": [
"$[1][3].type",
"$[1][3].params[0].params[0]"
],
"answer": [
"wait_second",
"2"
],
"ele": ["$[1][3].type", "$[1][3].params[0].params[0]"],
"answer": ["wait_second", "2"],
"point": 2,
"desc": "문제 3/로봇방/[오브젝트]의 세부 동작 3/'2' 초 기다리기",
"type": "list"
@@ -823,10 +645,7 @@
"desc": "문제 3/로봇방/[오브젝트]의 세부 동작 4/처음부터 다시 실행하기"
}
],
"sortBlock": [
"when_scene_start",
"when_object_click"
],
"sortBlock": ["when_scene_start", "when_object_click"],
"sort": 160
}
}
}