363 lines
12 KiB
JSON
363 lines
12 KiB
JSON
|
|
{
|
||
|
|
"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"
|
||
|
|
}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
}
|