{
  "1-1": {
    "type": "scene",
    "ele": "$..objects[?(@.name=='우주')]",
    "points": 1.7,
    "desc": "문제 1/장면 1/[배경] 이름 설정 1/이름을 '우주'로 변경하기",
    "sort": 11
  },
  "1-2": {
    "type": "scene",
    "ele": "$..objects[?(@.name=='우주정거장')]",
    "points": 1.5,
    "desc": "문제 1/장면 2/[배경] 이름 설정 2/이름 변경 없음",
    "sort": 12
  },
  "1-3": {
    "type": "scene",
    "ele": "$..objects[?(@.name=='에너지원')]",
    "points": 1.7,
    "desc": "문제 1/물약(빨강)/[개체] 이름 설정 1/이름을 '에너지원'으로 변경하기",
    "sort": 13
  },
  "1-4": {
    "type": "scene",
    "ele": "$..objects[?(@.name=='운석')]",
    "points": 1.7,
    "desc": "문제 1/검은 돌멩이/[개체] 이름 설정 2/이름을 '운석'으로 변경하기",
    "sort": 14
  },
  "1-5": {
    "type": "scene",
    "ele": "$..objects[?(@.name=='행성')]",
    "points": 1.7,
    "desc": "문제 1/행성(5)/[개체] 이름 설정 3/이름을 '행성'으로 변경하기",
    "sort": 15
  },
  "1-6": {
    "type": "scene",
    "ele": "$..objects[?(@.name=='우주선')]",
    "points": 1.7,
    "desc": "문제 1/우주선 탄 엔트리봇/[개체] 이름 설정 4/이름을 '우주선'으로 변경하기",
    "sort": 16
  },
  "1-0": {
    "ele": "$..variables[?(@.name=='연료')]",
    "points": 1.38,
    "desc": "문제 2/에너지원/변수 1/'연료' 변수 만들기 (변수 기본값은 '100', '모든 오브젝트에 사용' 설정하기)",
    "type": "scene",
    "sort": 101
  },
  "2-0": {
    "ele": "$..variables[?(@.name=='점수')]",
    "points": 1.38,
    "desc": "문제 2/에너지원/변수 2/'점수' 변수 만들기 (변수 기본값은 '0', '모든 오브젝트에 사용' 설정하기)",
    "type": "scene",
    "sort": 102
  },
  "3-0": {
    "type": "script",
    "ele": "$.objects[?(@.name=~'에너지원')].script",
    "blocks": [
      {
        "ele": "$[0][0].type",
        "answer": "when_run_button_click",
        "points": 1.38,
        "desc": "문제 2/에너지원/시작/시작하기 버튼을 클릭했을 때"
      },
      {
        "ele": "$[0][1].params[0].params[0]",
        "answer": "50",
        "points": 1.38,
        "desc": "문제 2/에너지원/[시작]의 세부 동작/크기를 '50' 으로 정하기"
      },
      {
        "ele": [
          "$[0][2].type",
          "$[0][2].params[0]"
        ],
        "answer": [
          "repeat_inf",
          null
        ],
        "points": 1.38,
        "desc": "문제 2/에너지원/반복/계속 반복하기",
        "type": "list"
      },
      {
        "ele": "$[0][2].statements[0][0].type",
        "answer": "hide",
        "points": 1.38,
        "desc": "문제 2/에너지원/[반복]의 세부 동작 1/모양 숨기기"
      },
      {
        "ele": [
          "$[0][2].statements[0][1].type",
          "$[0][2].statements[0][1].params[0].params[1].params[0]",
          "$[0][2].statements[0][1].params[0].params[3].params[0]",
          "$[0][2].statements[0][1].params[1].params[1].params[0]",
          "$[0][2].statements[0][1].params[1].params[3].params[0]"
        ],
        "answer": [
          "locate_xy",
          "-200",
          "200",
          "-100",
          "100"
        ],
        "points": 1.38,
        "desc": "문제 2/에너지원/[반복]의 세부 동작 2/x: '-200 부터 200 사이의 무작위 수' y: '-100 부터 100 사이의 무작위 수' 위치로 이동하기",
        "type": "list"
      },
      {
        "ele": [
          "$[0][2].statements[0][2].type",
          "$[0][2].statements[0][2].params[0].type",
          "$[0][2].statements[0][2].params[0].params[1].params[0]",
          "$[0][2].statements[0][2].params[0].params[3].params[0]"
        ],
        "answer": [
          "wait_second",
          "calc_rand",
          "1",
          "2"
        ],
        "points": 1.38,
        "desc": "문제 2/에너지원/[반복]의 세부 동작 3/'1 부터 2 사이의 무작위 수' 초 기다리기",
        "type": "list"
      },
      {
        "ele": "$[0][2].statements[0][3].type",
        "answer": "show",
        "points": 1.38,
        "desc": "문제 2/에너지원/[반복]의 세부 동작 4/모양 보이기"
      },
      {
        "ele": [
          "$[0][2].statements[0][4].type",
          "$[0][2].statements[0][4].params[0].params[0]"
        ],
        "answer": [
          "wait_second",
          "1"
        ],
        "points": 1.38,
        "desc": "문제 2/에너지원/[반복]의 세부 동작 5/'1' 초 기다리기",
        "type": "list"
      },
      {
        "ele": [
          "$[0][2].statements[0][5].type",
          "$[0][2].statements[0][5].params[0].type"
        ],
        "answer": [
          "_if",
          "reach_something"
        ],
        "points": 1.38,
        "desc": "문제 2/에너지원/만일/만일 '우주선' 에 닿았는가? 라면",
        "type": "list"
      },
      {
        "ele": [
          "$[0][2].statements[0][5].statements[0][0].type",
          "$[0][2].statements[0][5].statements[0][0].params[1].params[0]"
        ],
        "answer": [
          "change_variable",
          "10"
        ],
        "points": 1.38,
        "desc": "문제 2/에너지원/[만일]의 세부 동작 1/'점수' 에 '10' 만큼 더하기",
        "type": "list"
      },
      {
        "ele": [
          "$[0][2].statements[0][5].statements[0][1].type",
          "$[0][2].statements[0][5].statements[0][1].params[1].params[0]"
        ],
        "answer": [
          "change_variable",
          "50"
        ],
        "points": 1.38,
        "desc": "문제 2/에너지원/[만일]의 세부 동작 2/'연료' 에 '50' 만큼 더하기",
        "type": "list"
      }
    ],
    "sort": 105
  },
  "4-0": {
    "type": "script",
    "ele": "$.objects[?(@.name=~'운석|검은 돌멩')].script",
    "blocks": [
      {
        "ele": "$[0][0].type",
        "answer": "when_run_button_click",
        "points": 1.38,
        "desc": "문제 2/운석/시작/시작하기 버튼을 클릭했을 때"
      },
      {
        "ele": "$[0][1].params[0].params[0]",
        "answer": "30",
        "points": 1.38,
        "desc": "문제 2/운석/[시작]의 세부 동작/크기를 '30' 으로 정하기"
      },
      {
        "ele": [
          "$[0][2].type",
          "$[0][2].params[0]"
        ],
        "answer": [
          "repeat_inf",
          null
        ],
        "points": 1.38,
        "desc": "문제 2/운석/반복/계속 반복하기",
        "type": "list"
      },
      {
        "ele": "$[0][2].statements[0][0].type",
        "answer": "hide",
        "points": 1.38,
        "desc": "문제 2/운석/[반복]의 세부 동작 1/모양 숨기기"
      },
      {
        "ele": [
          "$[0][2].statements[0][1].type",
          "$[0][2].statements[0][1].params[0].params[1].params[0]",
          "$[0][2].statements[0][1].params[0].params[3].params[0]",
          "$[0][2].statements[0][1].params[1].params[1].params[0]",
          "$[0][2].statements[0][1].params[1].params[3].params[0]"
        ],
        "answer": [
          "locate_xy",
          "-200",
          "200",
          "-100",
          "100"
        ],
        "points": 1.38,
        "desc": "문제 2/운석/[반복]의 세부 동작 2/x: '-200 부터 200 사이의 무작위 수' y: '-100 부터 100 사이의 무작위 수' 위치로 이동하기",
        "type": "list"
      },
      {
        "ele": [
          "$[0][2].statements[0][2].type",
          "$[0][2].statements[0][2].params[0].type",
          "$[0][2].statements[0][2].params[0].params[1].params[0]",
          "$[0][2].statements[0][2].params[0].params[3].params[0]"
        ],
        "answer": [
          "wait_second",
          "calc_rand",
          "0",
          "3"
        ],
        "points": 1.38,
        "desc": "문제 2/운석/[반복]의 세부 동작 3/'0 부터 3 사이의 무작위 수' 초 기다리기",
        "type": "list"
      },
      {
        "ele": "$[0][2].statements[0][3].type",
        "answer": "show",
        "points": 1.38,
        "desc": "문제 2/운석/[반복]의 세부 동작 4/모양 보이기"
      },
      {
        "ele": [
          "$[0][2].statements[0][4].type",
          "$[0][2].statements[0][4].params[0].params[0]"
        ],
        "answer": [
          "wait_second",
          "0.5"
        ],
        "points": 1.38,
        "desc": "문제 2/운석/[반복]의 세부 동작 5/'0.5' 초 기다리기",
        "type": "list"
      },
      {
        "ele": [
          "$[0][2].statements[0][5].type",
          "$[0][2].statements[0][5].params[0].type"
        ],
        "answer": [
          "_if",
          "reach_something"
        ],
        "points": 1.38,
        "desc": "문제 2/운석/만일/만일 '우주선' 에 닿았는가? 라면",
        "type": "list"
      },
      {
        "ele": [
          "$[0][2].statements[0][5].statements[0][0].type",
          "$[0][2].statements[0][5].statements[0][0].params[1].params[0]"
        ],
        "answer": [
          "change_variable",
          "-5"
        ],
        "points": 1.38,
        "desc": "문제 2/운석/[만일]의 세부 동작/'점수' 에 '-5' 만큼 더하기",
        "type": "list"
      }
    ],
    "sort": 115
  },
  "5-0": {
    "type": "script",
    "ele": "$.objects[?(@.name=~'행성')].script",
    "blocks": [
      {
        "ele": "$[0][0].type",
        "answer": "when_run_button_click",
        "points": 1.38,
        "desc": "문제 2/행성/시작/시작하기 버튼을 클릭했을 때"
      },
      {
        "ele": [
          "$[0][1].type",
          "$[0][1].params[0].params[0]",
          "$[0][1].params[1].params[0]"
        ],
        "answer": [
          "locate_xy",
          "150",
          "80"
        ],
        "points": 1.38,
        "desc": "문제 2/행성/[시작]의 세부 동작/x: '150' y: '80' 위치로 이동하기",
        "type": "list"
      },
      {
        "ele": [
          "$[0][2].type",
          "$[0][2].params[0]"
        ],
        "answer": [
          "repeat_inf",
          null
        ],
        "points": 1.38,
        "desc": "문제 2/행성/반복/계속 반복하기",
        "type": "list"
      },
      {
        "ele": [
          "$[0][2].statements[0][0].type",
          "$[0][2].statements[0][0].params[0].type"
        ],
        "answer": [
          "_if",
          "reach_something"
        ],
        "points": 1.38,
        "desc": "문제 2/행성/만일/만일 '우주선' 에 닿았는가? 라면",
        "type": "list"
      },
      {
        "ele": [
          "$[0][2].statements[0][0].statements[0][0].type",
          "$[0][2].statements[0][0].statements[0][0].params[1].params[0]"
        ],
        "answer": [
          "change_variable",
          "50"
        ],
        "points": 1.38,
        "desc": "문제 2/행성/[만일]의 세부 동작 1/'연료' 에 '50' 만큼 더하기",
        "type": "list"
      },
      {
        "ele": "$[0][2].statements[0][0].statements[0][1].type",
        "answer": "hide",
        "points": 1.38,
        "desc": "문제 2/행성/[만일]의 세부 동작 2/모양 숨기기"
      },
      {
        "ele": [
          "$[0][2].statements[0][1].type",
          "$[0][2].statements[0][1].params[0].params[0]"
        ],
        "answer": [
          "wait_second",
          "1"
        ],
        "points": 1.38,
        "desc": "문제 2/행성/[반복]의 세부 동작 1/'1' 초 기다리기",
        "type": "list"
      },
      {
        "ele": "$[0][2].statements[0][2].type",
        "answer": "show",
        "points": 1.38,
        "desc": "문제 2/행성/[반복]의 세부 동작 2/모양 보이기"
      }
    ],
    "sort": 125
  },
  "32-0": {
    "ele": "$.messages[?(@.name=='탐사 성공')]",
    "points": 1.38,
    "desc": "문제 2/우주선/신호/'탐사 성공' 신호 만들기",
    "type": "scene",
    "sort": 132
  },
  "6-0": {
    "type": "script",
    "ele": "$.objects[?(@.name=~'우주선')].script",
    "blocks": [
      {
        "ele": "$[0][0].type",
        "answer": "when_run_button_click",
        "points": 1.38,
        "desc": "문제 2/우주선/시작/시작하기 버튼을 클릭했을 때"
      },
      {
        "ele": [
          "$[0][1].type",
          "$[0][1].params[0]"
        ],
        "answer": [
          "repeat_inf",
          null
        ],
        "points": 1.38,
        "desc": "문제 2/우주선/반복/계속 반복하기",
        "type": "list"
      },
      {
        "ele": [
          "$[0][1].statements[0][0].type",
          "$[0][1].statements[0][0].params[0].type",
          "$[0][1].statements[0][0].params[0].params[0]"
        ],
        "answer": [
          "_if",
          "is_press_some_key",
          "37"
        ],
        "points": 1.38,
        "desc": "문제 2/우주선/만일 1/만일 '왼쪽 화살표' 키가 눌러져 있는가? 라면",
        "type": "list"
      },
      {
        "ele": [
          "$[0][1].statements[0][0].statements[0][0].type",
          "$[0][1].statements[0][0].statements[0][0].params[0].params[0]"
        ],
        "answer": [
          "move_x",
          "-5"
        ],
        "points": 1.38,
        "desc": "문제 2/우주선/[만일 1]의 세부 동작 1/x 좌표를 '-5' 만큼 바꾸기",
        "type": "list"
      },
      {
        "ele": [
          "$[0][1].statements[0][0].statements[0][1].type",
          "$[0][1].statements[0][0].statements[0][1].params[1].params[0]"
        ],
        "answer": [
          "change_variable",
          "-1"
        ],
        "points": 1.38,
        "desc": "문제 2/우주선/[만일 1]의 세부 동작 2/'연료' 에 '-1' 만큼 더하기",
        "type": "list"
      },
      {
        "ele": [
          "$[0][1].statements[0][1].type",
          "$[0][1].statements[0][1].params[0].type",
          "$[0][1].statements[0][1].params[0].params[0]"
        ],
        "answer": [
          "_if",
          "is_press_some_key",
          "39"
        ],
        "points": 1.38,
        "desc": "문제 2/우주선/만일 2/만일 '오른쪽 화살표' 키가 눌러져 있는가? 라면",
        "type": "list"
      },
      {
        "ele": [
          "$[0][1].statements[0][1].statements[0][0].type",
          "$[0][1].statements[0][1].statements[0][0].params[0].params[0]"
        ],
        "answer": [
          "move_x",
          "5"
        ],
        "points": 1.38,
        "desc": "문제 2/우주선/[만일 2]의 세부 동작 1/x 좌표를 '5' 만큼 바꾸기",
        "type": "list"
      },
      {
        "ele": [
          "$[0][1].statements[0][1].statements[0][1].type",
          "$[0][1].statements[0][1].statements[0][1].params[1].params[0]"
        ],
        "answer": [
          "change_variable",
          "-1"
        ],
        "points": 1.38,
        "desc": "문제 2/우주선/[만일 2]의 세부 동작 2/'연료' 에 '-1' 만큼 더하기",
        "type": "list"
      },
      {
        "ele": [
          "$[0][1].statements[0][2].type",
          "$[0][1].statements[0][2].params[0].type",
          "$[0][1].statements[0][2].params[0].params[0]"
        ],
        "answer": [
          "_if",
          "is_press_some_key",
          "38"
        ],
        "points": 1.38,
        "desc": "문제 2/우주선/만일 3/만일 '위쪽 화살표' 키가 눌러져 있는가? 라면",
        "type": "list"
      },
      {
        "ele": [
          "$[0][1].statements[0][2].statements[0][0].type",
          "$[0][1].statements[0][2].statements[0][0].params[0].params[0]"
        ],
        "answer": [
          "move_y",
          "5"
        ],
        "points": 1.38,
        "desc": "문제 2/우주선/[만일 3]의 세부 동작 1/y 좌표를 '5' 만큼 바꾸기",
        "type": "list"
      },
      {
        "ele": [
          "$[0][1].statements[0][2].statements[0][1].type",
          "$[0][1].statements[0][2].statements[0][1].params[1].params[0]"
        ],
        "answer": [
          "change_variable",
          "-1"
        ],
        "points": 1.38,
        "desc": "문제 2/우주선/[만일 3]의 세부 동작 2/'연료' 에 '-1' 만큼 더하기",
        "type": "list"
      },
      {
        "ele": [
          "$[0][1].statements[0][3].type",
          "$[0][1].statements[0][3].params[0].type",
          "$[0][1].statements[0][3].params[0].params[0]"
        ],
        "answer": [
          "_if",
          "is_press_some_key",
          "40"
        ],
        "points": 1.38,
        "desc": "문제 2/우주선/만일 4/만일 '아래쪽 화살표' 키가 눌러져 있는가? 라면",
        "type": "list"
      },
      {
        "ele": [
          "$[0][1].statements[0][3].statements[0][0].type",
          "$[0][1].statements[0][3].statements[0][0].params[0].params[0]"
        ],
        "answer": [
          "move_y",
          "-5"
        ],
        "points": 1.38,
        "desc": "문제 2/우주선/[만일 4]의 세부 동작 1/y 좌표를 '-5' 만큼 바꾸기",
        "type": "list"
      },
      {
        "ele": [
          "$[0][1].statements[0][3].statements[0][1].type",
          "$[0][1].statements[0][3].statements[0][1].params[1].params[0]"
        ],
        "answer": [
          "change_variable",
          "-1"
        ],
        "points": 1.38,
        "desc": "문제 2/우주선/[만일 4]의 세부 동작 2/'연료' 에 '-1' 만큼 더하기",
        "type": "list"
      },
      {
        "ele": [
          "$[0][1].statements[0][4].type",
          "$[0][1].statements[0][4].params[0].type"
        ],
        "answer": [
          "_if",
          "boolean_and_or"
        ],
        "points": 1.38,
        "desc": "문제 2/우주선/만일 5/만일 '점수' 값 ≥ '30' '그리고' '연료' 값 > '0'",
        "type": "list"
      },
      {
        "ele": "$[0][1].statements[0][4].statements[0][0].params[*].params",
        "answer": [
          "탐사성공!",
          "1"
        ],
        "points": 1.38,
        "desc": "문제 2/우주선/[만일 5]의 세부 동작 1/'탐사성공!' 을 '1' 초 동안 '말하기'"
      },
      {
        "ele": "$[0][1].statements[0][4].statements[0][1].type",
        "answer": "message_cast",
        "points": 1.38,
        "desc": "문제 2/우주선/[만일 5]의 세부 동작 2/'탐사 성공' 신호 보내기"
      },
      {
        "ele": [
          "$[0][1].statements[0][5].type",
          "$[0][1].statements[0][5].params[0].type",
          "$[0][1].statements[0][5].params[0].params[0].type",
          "$[0][1].statements[0][5].params[0].params[1]",
          "$[0][1].statements[0][5].params[0].params[2].params[0]"
        ],
        "answer": [
          "_if",
          "boolean_basic_operator",
          "get_variable",
          "LESS_OR_EQUAL",
          "0"
        ],
        "points": 1.38,
        "desc": "문제 2/우주선/만일 6/만일 '연료' 값 ≤ '0' 이라면",
        "type": "list"
      },
      {
        "ele": "$[0][1].statements[0][5].statements[0][0].params[*].params",
        "answer": [
          "미션실패",
          "2"
        ],
        "points": 1.38,
        "desc": "문제 2/우주선/[만일 6]의 세부 동작 1/'미션실패' 를 '2' 초 동안 '말하기'"
      },
      {
        "ele": [
          "$[0][1].statements[0][5].statements[0][1].type",
          "$[0][1].statements[0][5].statements[0][1].params[0]"
        ],
        "answer": [
          "stop_object",
          "all"
        ],
        "points": 1.38,
        "desc": "문제 2/우주선/[만일 6]의 세부 동작 2/'모든' 코드 멈추기",
        "type": "list"
      },
      {
        "ele": "$[1][0].type",
        "answer": "when_message_cast",
        "points": 1.38,
        "desc": "문제 2/우주선/탐사 성공/'탐사 성공' 신호를 받았을 때 "
      },
      {
        "ele": "$[1][1].type",
        "answer": "start_neighbor_scene",
        "points": 1.38,
        "desc": "문제 2/우주선/[탐사 성공]의 세부 동작/'다음' 장면 시작하기"
      }
    ],
    "sort": 133
  },
  "7-0": {
    "type": "script",
    "ele": "$.objects[?(@.name=~'우주정거장')].script",
    "blocks": [
      {
        "ele": "$[0][0].type",
        "answer": "when_scene_start",
        "points": 1.38,
        "desc": "문제 2/우주정거장/장면/장면이 시작되었을 때"
      },
      {
        "ele": "$[0][1].type",
        "answer": "hide_variable",
        "points": 1.38,
        "desc": "문제 2/우주정거장/[장면 2]의 세부 동작 1/변수 '연료' 숨기기"
      },
      {
        "ele": "$[0][2].type",
        "answer": "hide_variable",
        "points": 1.38,
        "desc": "문제 2/우주정거장/[장면 2]의 세부 동작 2/변수 '점수' 숨기기"
      },
      {
        "ele": [
          "$[0][3].type",
          "$[0][3].params[0].params[0]",
          "$[0][3].params[1]"
        ],
        "answer": [
          "dialog",
          "탐사 완료!",
          "speak"
        ],
        "points": 1.38,
        "desc": "문제 2/우주정거장/[장면 2]의 세부 동작 3/'탐사 완료!' 를 '말하기'",
        "type": "list"
      },
      {
        "ele": "$[1][0].type",
        "answer": "when_object_click",
        "points": 2,
        "desc": "문제 3/우주정거장/오브젝트/오브젝트를 클릭했을 때"
      },
      {
        "ele": [
          "$[1][1].type",
          "$[1][1].params[0]",
          "$[1][1].params[1].params[0]"
        ],
        "answer": [
          "add_effect_amount",
          "color",
          "50"
        ],
        "points": 2,
        "desc": "문제 3/우주정거장/[오브젝트]의 세부 동작 1/'색깔' 효과를 '50' 만큼 주기",
        "type": "list"
      },
      {
        "ele": [
          "$[1][2].type",
          "$[1][2].params[0].params[0]",
          "$[1][2].params[1]"
        ],
        "answer": [
          "dialog",
          "처음부터 다시 실행합니다.",
          "speak"
        ],
        "points": 2,
        "desc": "문제 3/우주정거장/[오브젝트]의 세부 동작 2/'처음부터 다시 실행합니다.' 를 '말하기'",
        "type": "list"
      },
      {
        "ele": [
          "$[1][3].type",
          "$[1][3].params[0].params[0]"
        ],
        "answer": [
          "wait_second",
          "2"
        ],
        "points": 2,
        "desc": "문제 3/우주정거장/[오브젝트]의 세부 동작 3/'2' 초 기다리기",
        "type": "list"
      },
      {
        "ele": "$[1][4].type",
        "answer": "restart_project",
        "points": 2,
        "desc": "문제 3/우주정거장/[오브젝트]의 세부 동작 4/처음부터 다시 실행하기"
      }
    ],
    "sort": 156
  }
}