{
  "1-1": {
    "type": "scene",
    "ele": "$..objects[?(@.name=='바다')]",
    "points": 2,
    "desc": "문제 1/바닷속(3)/[배경] 이름 설정/이름을 '바다'로 변경하기"
  },
  "1-3": {
    "type": "scene",
    "ele": "$..objects[?(@.name=='신비한 열매')]",
    "points": 2,
    "desc": "문제 1/블루베리/[개체] 이름 설정 1/이름을 '신비한 열매'로 변경하기"
  },
  "1-4": {
    "type": "scene",
    "ele": "$..objects[?(@.name=='쓰레기')]",
    "points": 2,
    "desc": "문제 1/쓰레기/[개체] 이름 설정 2/이름 변경 없음"
  },
  "1-5": {
    "type": "scene",
    "ele": "$..objects[?(@.name=='물고기')]",
    "points": 2,
    "desc": "문제 1/빨간 물고기/[개체] 이름 설정 3/이름을 '물고기'로 변경하기"
  },
  "1-6": {
    "type": "scene",
    "ele": "$..objects[?(@.name=='상어')]",
    "points": 2,
    "desc": "문제 1/상어(1)/[개체] 이름 설정 4/이름을 '상어'로 변경하기"
  },
  "2": {
    "type": "script",
    "ele": "$.objects[?(@.name=~'열매|블루베|신비한열매')].script",
    "blocks": [
      {
        "ele": "$[0][0].type",
        "answer": "when_run_button_click",
        "points": 2.19,
        "desc": "문제 2/신비한 열매/시작/시작하기 버튼을 클릭했을 때"
      },
      {
        "ele": "$[0][1].type",
        "answer": "hide",
        "points": 2.19,
        "desc": "문제 2/신비한 열매/[시작]의 세부 동작 1/모양 숨기기"
      },
      {
        "ele": "$[0][2].params[0].params[0]",
        "answer": "40",
        "points": 2.19,
        "desc": "문제 2/신비한 열매/[시작]의 세부 동작 2/크기를 '40' 으로 정하기"
      },
      {
        "ele": [
          "$[0][3].type",
          "$[0][3].params[0]"
        ],
        "answer": [
          "repeat_inf",
          null
        ],
        "points": 2.19,
        "desc": "문제 2/신비한 열매/반복/계속 반복하기",
        "type": "list"
      },
      {
        "ele": [
          "$[0][3].statements[0][0].type",
          "$[0][3].statements[0][0].params[0].params[*].params[0]",
          "$[0][3].statements[0][0].params[1].params[*].params[0]"
        ],
        "answer": [
          "locate_xy",
          "-200",
          "200",
          "-120",
          "120"
        ],
        "points": 2.19,
        "desc": "문제 2/신비한 열매/[반복]의 세부 동작 1/x: '-200 부터 200 사이의 무작위 수' y: '-120 부터 120 사이의 무작위 수' 위치로 이동하기",
        "type": "list"
      },
      {
        "ele": [
          "$[0][3].statements[0][1].type",
          "$[0][3].statements[0][1].params[0].params[0]"
        ],
        "answer": [
          "wait_second",
          "1"
        ],
        "points": 2.19,
        "desc": "문제 2/신비한 열매/[반복]의 세부 동작 2/'1' 초 기다리기",
        "type": "list"
      },
      {
        "ele": "$[0][3].statements[0][2].type",
        "answer": "show",
        "points": 2.19,
        "desc": "문제 2/신비한 열매/[반복]의 세부 동작 3/모양 보이기"
      }
    ]
  },
  "3": {
    "type": "script",
    "ele": "$.objects[?(@.name=~'쓰레기|변경없음')].script",
    "blocks": [
      {
        "ele": "$[0][0].type",
        "answer": "when_run_button_click",
        "points": 2.19,
        "desc": "문제 2/쓰레기/시작/시작하기 버튼을 클릭했을 때"
      },
      {
        "ele": "$[0][1].type",
        "answer": "hide",
        "points": 2.19,
        "desc": "문제 2/쓰레기/[시작]의 세부 동작 1/모양 숨기기"
      },
      {
        "ele": "$[0][2].params[0].params[0]",
        "answer": "30",
        "points": 2.19,
        "desc": "문제 2/쓰레기/[시작]의 세부 동작 2/크기를 '30' 으로 정하기"
      },
      {
        "ele": [
          "$[0][3].type",
          "$[0][3].params[0]"
        ],
        "answer": [
          "repeat_inf",
          null
        ],
        "points": 2.19,
        "desc": "문제 2/쓰레기/반복/계속 반복하기",
        "type": "list"
      },
      {
        "ele": [
          "$[0][3].statements[0][0].type",
          "$[0][3].statements[0][0].params[0].params[*].params[0]",
          "$[0][3].statements[0][0].params[1].params[*].params[0]"
        ],
        "answer": [
          "locate_xy",
          "-200",
          "200",
          "-120",
          "120"
        ],
        "points": 2.19,
        "desc": "문제 2/쓰레기/[반복]의 세부 동작 1/x: '-200 부터 200 사이의 무작위 수' y: '-120 부터 120 사이의 무작위 수' 위치로 이동하기",
        "type": "list"
      },
      {
        "ele": [
          "$[0][3].statements[0][1].type",
          "$[0][3].statements[0][1].params[0].params[0]"
        ],
        "answer": [
          "wait_second",
          "1"
        ],
        "points": 2.19,
        "desc": "문제 2/쓰레기/[반복]의 세부 동작 2/'1' 초 기다리기",
        "type": "list"
      },
      {
        "ele": "$[0][3].statements[0][2].type",
        "answer": "show",
        "points": 2.19,
        "desc": "문제 2/쓰레기/[반복]의 세부 동작 3/모양 보이기"
      }
    ]
  },
  "4": {
    "type": "script",
    "ele": "$.objects[?(@.name=~'물고기')].script",
    "blocks": [
      {
        "ele": "$[0][0].type",
        "answer": "when_run_button_click",
        "points": 2.19,
        "desc": "문제 2/물고기/시작/시작하기 버튼을 클릭했을 때"
      },
      {
        "ele": [
          "$[0][1].type",
          "$[0][1].params[0].params[0]",
          "$[0][1].params[1].params[0]"
        ],
        "answer": [
          "locate_xy",
          "100",
          "60"
        ],
        "points": 2.19,
        "desc": "문제 2/물고기/[시작]의 세부 동작 1/x: '100' y: '60' 위치로 이동하기",
        "type": "list"
      },
      {
        "ele": "$[0][2].params[0].params[0]",
        "answer": "50",
        "points": 2.19,
        "desc": "문제 2/물고기/[시작]의 세부 동작 2/크기를 '50' 으로 정하기"
      },
      {
        "ele": [
          "$[0][3].type",
          "$[0][3].params[0]"
        ],
        "answer": [
          "repeat_inf",
          null
        ],
        "points": 2.19,
        "desc": "문제 2/물고기/반복/계속 반복하기",
        "type": "list"
      },
      {
        "ele": [
          "$[0][3].statements[0][0].type",
          "$[0][3].statements[0][0].params[0].type",
          "$[0][3].statements[0][0].params[0].params[0]"
        ],
        "answer": [
          "_if",
          "is_press_some_key",
          "37"
        ],
        "points": 2.19,
        "desc": "문제 2/물고기/만일 1/만일 '왼쪽 화살표' 키가 눌러져 있는가? 라면",
        "type": "list"
      },
      {
        "ele": [
          "$[0][3].statements[0][0].statements[0][0].type",
          "$[0][3].statements[0][0].statements[0][0].params[0].params[0]"
        ],
        "answer": [
          "move_x",
          "-5"
        ],
        "points": 2.19,
        "desc": "문제 2/물고기/[만일 1]의 세부 동작/x 좌표를 '-5' 만큼 바꾸기",
        "type": "list"
      },
      {
        "ele": [
          "$[0][3].statements[0][1].type",
          "$[0][3].statements[0][1].params[0].type",
          "$[0][3].statements[0][1].params[0].params[0]"
        ],
        "answer": [
          "_if",
          "is_press_some_key",
          "39"
        ],
        "points": 2.19,
        "desc": "문제 2/물고기/만일 2/만일 '오른쪽 화살표' 키가 눌러져 있는가? 라면",
        "type": "list"
      },
      {
        "ele": [
          "$[0][3].statements[0][1].statements[0][0].type",
          "$[0][3].statements[0][1].statements[0][0].params[0].params[0]"
        ],
        "answer": [
          "move_x",
          "5"
        ],
        "points": 2.19,
        "desc": "문제 2/물고기/[만일 2]의 세부 동작/x 좌표를 '5' 만큼 바꾸기",
        "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]"
        ],
        "answer": [
          "_if",
          "is_press_some_key",
          "38"
        ],
        "points": 2.19,
        "desc": "문제 2/물고기/만일 3/만일 '위쪽 화살표' 키가 눌러져 있는가? 라면",
        "type": "list"
      },
      {
        "ele": [
          "$[0][3].statements[0][2].statements[0][0].type",
          "$[0][3].statements[0][2].statements[0][0].params[0].params[0]"
        ],
        "answer": [
          "move_y",
          "5"
        ],
        "points": 2.19,
        "desc": "문제 2/물고기/[만일 3]의 세부 동작/y 좌표를 '5' 만큼 바꾸기",
        "type": "list"
      },
      {
        "ele": [
          "$[0][3].statements[0][3].type",
          "$[0][3].statements[0][3].params[0].type",
          "$[0][3].statements[0][3].params[0].params[0]"
        ],
        "answer": [
          "_if",
          "is_press_some_key",
          "40"
        ],
        "points": 2.19,
        "desc": "문제 2/물고기/만일 4/만일 '아래쪽 화살표' 키가 눌러져 있는가? 라면",
        "type": "list"
      },
      {
        "ele": [
          "$[0][3].statements[0][3].statements[0][0].type",
          "$[0][3].statements[0][3].statements[0][0].params[0].params[0]"
        ],
        "answer": [
          "move_y",
          "-5"
        ],
        "points": 2.19,
        "desc": "문제 2/물고기/[만일 4]의 세부 동작/y 좌표를 '-5' 만큼 바꾸기",
        "type": "list"
      },
      {
        "ele": [
          "$[0][3].statements[0][4].type",
          "$[0][3].statements[0][4].params[0].type"
        ],
        "answer": [
          "_if",
          "reach_something"
        ],
        "points": 2.19,
        "desc": "문제 2/물고기/만일 5/만일 '신비한 열매' 에 닿았는가? 라면",
        "type": "list"
      },
      {
        "ele": "$[0][3].statements[0][4].statements[0][0].params[*].params",
        "answer": [
          "냠냠!",
          "2"
        ],
        "points": 2.19,
        "desc": "문제 2/물고기/[만일 5]의 세부 동작 1/'냠냠!' 을 '2' 초 동안 '말하기'"
      },
      {
        "ele": "$[0][3].statements[0][4].statements[0][1].params[0].params[0]",
        "answer": "120",
        "points": 2.19,
        "desc": "문제 2/물고기/[만일 5]의 세부 동작 2/크기를 '120' 으로 정하기"
      },
      {
        "ele": "$[0][3].statements[0][4].statements[0][2].type",
        "answer": "hide",
        "points": 2.19,
        "desc": "문제 2/물고기/[만일 5]의 세부 동작 3/모양 숨기기"
      },
      {
        "ele": [
          "$[0][3].statements[0][5].type",
          "$[0][3].statements[0][5].params[0].type"
        ],
        "answer": [
          "_if",
          "reach_something"
        ],
        "points": 2.19,
        "desc": "문제 2/물고기/만일 6/만일 '쓰레기' 에 닿았는가? 라면",
        "type": "list"
      },
      {
        "type": "list",
        "ele": [
          "$[0][3].statements[0][5].statements[0][0].type",
          "$[0][3].statements[0][5].statements[0][0].params[0]",
          "$[0][3].statements[0][5].statements[0][0].params[1].params[0]"
        ],
        "answer": [
          "add_effect_amount",
          "color",
          "30"
        ],
        "points": 2.19,
        "desc": "문제 2/물고기/[만일 6]의 세부 동작 1/'색깔' 효과를 '30' 만큼 주기"
      },
      {
        "ele": "$[0][3].statements[0][5].statements[0][1].params[*].params",
        "answer": [
          "으악!",
          "2"
        ],
        "points": 2.19,
        "desc": "문제 2/물고기/[만일 6]의 세부 동작 2/'으악!' 을 '2' 초 동안 '말하기'"
      },
      {
        "ele": "$[0][3].statements[0][5].statements[0][2].type",
        "answer": "erase_all_effects",
        "points": 2.19,
        "desc": "문제 2/물고기/[만일 6]의 세부 동작 3/효과 모두 지우기"
      }
    ]
  },
  "5": {
    "type": "script",
    "ele": "$.objects[?(@.name=~'상어')].script",
    "blocks": [
      {
        "ele": "$[0][0].type",
        "answer": "when_run_button_click",
        "points": 2.19,
        "desc": "문제 2/상어/시작/시작하기 버튼을 클릭했을 때"
      },
      {
        "ele": "$[0][1].type",
        "answer": "hide",
        "points": 2.19,
        "desc": "문제 2/상어/[시작]의 세부 동작 1/모양 숨기기"
      },
      {
        "type": "list",
        "ele": [
          "$[0][2].type",
          "$[0][2].params[0].type",
          "$[0][2].params[0].params[1]",
          "$[0][2].params[0].params[2].params[0]"
        ],
        "answer": [
          "wait_until_true",
          "boolean_basic_operator",
          "EQUAL",
          "120"
        ],
        "points": 2.19,
        "desc": "문제 2/상어/[시작]의 세부 동작 2/'물고기' 의 '크기' = '120' 이 될 때까지 기다리기"
      },
      {
        "ele": [
          "$[0][3].type",
          "$[0][3].params[0]"
        ],
        "answer": [
          "stop_object",
          "other_objects"
        ],
        "points": 2.19,
        "desc": "문제 2/상어/[시작]의 세부 동작 3/'다른 오브젝트의' 코드 멈추기",
        "type": "list"
      },
      {
        "ele": "$[0][4].type",
        "answer": "locate",
        "points": 2.19,
        "desc": "문제 2/상어/[시작]의 세부 동작 4/'물고기' 위치로 이동하기"
      },
      {
        "ele": "$[0][5].type",
        "answer": "show",
        "points": 2.19,
        "desc": "문제 2/상어/[시작]의 세부 동작 5/모양 보이기"
      },
      {
        "ele": "$[0][6].params[*].params",
        "answer": [
          "상어로 변했어!",
          "2"
        ],
        "points": 2.19,
        "desc": "문제 2/상어/[시작]의 세부 동작 6/'상어로 변했어!' 를 '2' 초 동안 '말하기'"
      }
    ]
  }
}