{
  "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"
      }
    ]
  }
}
