2511회 채점자료 업데이트
@@ -47,8 +47,9 @@ def copy_ent_files(source_root, target_root):
|
||||
|
||||
# 사용법
|
||||
|
||||
source_directory = r"D:\project\data\CAS_제2510회 정기\제2510회 코딩활용능력 2급 정기 답안파일" # 원본 디렉토리 경로
|
||||
target_directory = r".\ent\2510_CAS_2_A"
|
||||
# source_directory = r"D:\project\data\CAS_제2510회 정기\제2510회 코딩활용능력 2급 정기 답안파일" # 원본 디렉토리 경로
|
||||
source_directory = r"D:\project\data\CAT_제2511회 정기\답안파일" # 원본 디렉토리 경로
|
||||
target_directory = r".\ent\2511_CAT_3_A"
|
||||
# target_directory_a = r"./output/A" # '1교시'의 타겟 경로
|
||||
# target_directory_b = r"./output/B" # '2교시'의 타겟 경로
|
||||
# target_directory_c = r"./output/C" # '3교시'의 타겟 경로
|
||||
|
||||
@@ -52,7 +52,7 @@ def process_ent_files(ent_dir, output_dir):
|
||||
if __name__ == "__main__":
|
||||
# test_names = ["2509_CAT_3_A"]
|
||||
# test_names = ["2508_CAS_2_A","2508_CAS_2_B"]
|
||||
test_names = ["2510_CAS_2_A"]
|
||||
test_names = ["2511_CAT_3_A"]
|
||||
for test_name in test_names:
|
||||
ent_dir = f".\\ent\\{test_name}"
|
||||
output_dir = f".\\output\\{test_name}"
|
||||
|
||||
BIN
251128_2511_CAT_3_A_채점결과.xlsx
Normal file
627
correct/2511_CAT_3_A.json
Normal file
@@ -0,0 +1,627 @@
|
||||
{
|
||||
"1-1": {
|
||||
"type": "scene",
|
||||
"ele": "$..objects[?(@.name=='동물원')]",
|
||||
"point": 2,
|
||||
"desc": "문제 1/들판(3)/[배경] 이름 설정/이름을 '동물원'으로 변경하기",
|
||||
"sort": 11
|
||||
},
|
||||
"1-3": {
|
||||
"type": "scene",
|
||||
"ele": "$..objects[?(@.name=='코끼리')]",
|
||||
"point": 2,
|
||||
"desc": "문제 1/코끼리/[개체] 이름 설정 1/이름 변경 없음",
|
||||
"sort": 13
|
||||
},
|
||||
"1-4": {
|
||||
"type": "scene",
|
||||
"ele": "$..objects[?(@.name=='사육사')]",
|
||||
"point": 2,
|
||||
"desc": "문제 1/프랑켄슈타인/[개체] 이름 설정 2/이름을 '사육사'로 변경하기",
|
||||
"sort": 14
|
||||
},
|
||||
"1-5": {
|
||||
"type": "scene",
|
||||
"ele": "$..objects[?(@.name=='울타리')]",
|
||||
"point": 2,
|
||||
"desc": "문제 1/골대(3)/[개체] 이름 설정 3/이름을 '울타리'로 변경하기",
|
||||
"sort": 15
|
||||
},
|
||||
"1-6": {
|
||||
"type": "scene",
|
||||
"ele": "$..objects[?(@.name=='사자')]",
|
||||
"point": 2,
|
||||
"desc": "문제 1/사자/[개체] 이름 설정 4/이름 변경 없음",
|
||||
"sort": 16
|
||||
},
|
||||
"2-0": {
|
||||
"type": "script",
|
||||
"ele": "$.objects[?(@.name=~'코끼리')].script",
|
||||
"blocks": [
|
||||
{
|
||||
"ele": "$[0][0].type",
|
||||
"answer": "when_run_button_click",
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/코끼리/시작/시작하기 버튼을 클릭했을 때"
|
||||
},
|
||||
{
|
||||
"ele": [
|
||||
"$[0][1].type",
|
||||
"$[0][1].params[0].params[0]"
|
||||
],
|
||||
"answer": [
|
||||
"set_scale_size",
|
||||
"80"
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/코끼리/[시작]의 세부 동작/크기를 '80' 으로 정하기",
|
||||
"type": "list"
|
||||
},
|
||||
{
|
||||
"ele": [
|
||||
"$[0][2].type",
|
||||
"$[0][2].params[0]"
|
||||
],
|
||||
"answer": [
|
||||
"repeat_inf",
|
||||
null
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/코끼리/반복/계속 반복하기",
|
||||
"type": "list"
|
||||
},
|
||||
{
|
||||
"ele": [
|
||||
"$[0][2].statements[0][0].type",
|
||||
"$[0][2].statements[0][0].params[0].params[1].params[0]",
|
||||
"$[0][2].statements[0][0].params[0].params[3].params[0]",
|
||||
"$[0][2].statements[0][0].params[1].params[0]"
|
||||
],
|
||||
"answer": [
|
||||
"locate_xy",
|
||||
"-150",
|
||||
"150",
|
||||
"-80"
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/코끼리/[반복]의 세부 동작 1/x: '-150 부터 150 사이의 무작위 수' y: '-80' 위치로 이동하기",
|
||||
"type": "list"
|
||||
},
|
||||
{
|
||||
"ele": [
|
||||
"$[0][2].statements[0][1].type",
|
||||
"$[0][2].statements[0][1].params[0].params[0]"
|
||||
],
|
||||
"answer": [
|
||||
"wait_second",
|
||||
"0.5"
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/코끼리/[반복]의 세부 동작 2/'0.5' 초 기다리기",
|
||||
"type": "list"
|
||||
}
|
||||
],
|
||||
"sortBlock": [
|
||||
"when_run_button_click"
|
||||
],
|
||||
"sort": 102
|
||||
},
|
||||
"3-0": {
|
||||
"type": "script",
|
||||
"ele": "$.objects[?(@.name=~'사육사|프랑켄슈타')].script",
|
||||
"blocks": [
|
||||
{
|
||||
"ele": "$[0][0].type",
|
||||
"answer": "when_run_button_click",
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/사육사/시작/시작하기 버튼을 클릭했을 때"
|
||||
},
|
||||
{
|
||||
"ele": [
|
||||
"$[0][1].type",
|
||||
"$[0][1].params[0].params[0]",
|
||||
"$[0][1].params[1].params[0]"
|
||||
],
|
||||
"answer": [
|
||||
"locate_xy",
|
||||
"-50",
|
||||
"80"
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/사육사/[시작]의 세부 동작 1/x: '-50' y: '80' 위치로 이동하기",
|
||||
"type": "list"
|
||||
},
|
||||
{
|
||||
"ele": [
|
||||
"$[0][2].type",
|
||||
"$[0][2].params[0].params[0]"
|
||||
],
|
||||
"answer": [
|
||||
"set_scale_size",
|
||||
"70"
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/사육사/[시작]의 세부 동작 2/크기를 '70' 으로 정하기",
|
||||
"type": "list"
|
||||
},
|
||||
{
|
||||
"ele": [
|
||||
"$[0][3].type",
|
||||
"$[0][3].params[0]"
|
||||
],
|
||||
"answer": [
|
||||
"repeat_inf",
|
||||
null
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/사육사/반복/계속 반복하기",
|
||||
"type": "list"
|
||||
},
|
||||
{
|
||||
"ele": [
|
||||
"$[0][3].statements[0][0].type",
|
||||
"$[0][3].statements[0][0].params[0].type"
|
||||
],
|
||||
"answer": [
|
||||
"_if",
|
||||
"reach_something"
|
||||
],
|
||||
"point": 2.09,
|
||||
"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",
|
||||
"20"
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/사육사/[만일 1]의 세부 동작/x 좌표를 '20' 만큼 바꾸기",
|
||||
"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].type",
|
||||
"$[0][3].statements[0][1].params[0].params[1]",
|
||||
"$[0][3].statements[0][1].params[0].params[2].params[0]"
|
||||
],
|
||||
"answer": [
|
||||
"_if",
|
||||
"boolean_basic_operator",
|
||||
"coordinate_object",
|
||||
"LESS",
|
||||
null
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/사육사/만일 2/만일 '사자 의 x 좌푯값' < '사육사 의 x 좌푯값' 이라면",
|
||||
"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",
|
||||
"-2"
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/사육사/[만일 2]의 세부 동작/x 좌표를 '-2' 만큼 바꾸기",
|
||||
"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].type",
|
||||
"$[0][3].statements[0][2].params[0].params[1]",
|
||||
"$[0][3].statements[0][2].params[0].params[2].params[0]"
|
||||
],
|
||||
"answer": [
|
||||
"_if",
|
||||
"boolean_basic_operator",
|
||||
"coordinate_object",
|
||||
"GREATER",
|
||||
null
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/사육사/만일 3/만일 '사자 의 x 좌푯값' > '사육사 의 x 좌푯값' 이라면",
|
||||
"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_x",
|
||||
"2"
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/사육사/[만일 3]의 세부 동작/x 좌표를 '2' 만큼 바꾸기",
|
||||
"type": "list"
|
||||
},
|
||||
{
|
||||
"ele": [
|
||||
"$[0][3].statements[0][3].type",
|
||||
"$[0][3].statements[0][3].params[0].params[0]"
|
||||
],
|
||||
"answer": [
|
||||
"wait_second",
|
||||
"0.2"
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/사육사/[반복]의 세부 동작/'0.2' 초 기다리기",
|
||||
"type": "list"
|
||||
}
|
||||
],
|
||||
"sortBlock": [
|
||||
"when_run_button_click"
|
||||
],
|
||||
"sort": 107
|
||||
},
|
||||
"4-0": {
|
||||
"type": "script",
|
||||
"ele": "$.objects[?(@.name=~'울타리|골대')].script",
|
||||
"blocks": [
|
||||
{
|
||||
"ele": "$[0][0].type",
|
||||
"answer": "when_run_button_click",
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/울타리/시작/시작하기 버튼을 클릭했을 때"
|
||||
},
|
||||
{
|
||||
"ele": [
|
||||
"$[0][1].type",
|
||||
"$[0][1].params[0].params[0]",
|
||||
"$[0][1].params[1].params[0]"
|
||||
],
|
||||
"answer": [
|
||||
"locate_xy",
|
||||
"20",
|
||||
"-200"
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/울타리/[시작]의 세부 동작 1/x: '20' y: '-200' 위치로 이동하기",
|
||||
"type": "list"
|
||||
},
|
||||
{
|
||||
"ele": [
|
||||
"$[0][2].type",
|
||||
"$[0][2].params[0].params[0]"
|
||||
],
|
||||
"answer": [
|
||||
"rotate_absolute",
|
||||
"90"
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/울타리/[시작]의 세부 동작 2/방향을 '90°' 로 정하기",
|
||||
"type": "list"
|
||||
},
|
||||
{
|
||||
"ele": [
|
||||
"$[0][3].type",
|
||||
"$[0][3].params[0].params[0]"
|
||||
],
|
||||
"answer": [
|
||||
"set_scale_size",
|
||||
"330"
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/울타리/[시작]의 세부 동작 3/크기를 '330' 으로 정하기",
|
||||
"type": "list"
|
||||
},
|
||||
{
|
||||
"ele": [
|
||||
"$[0][4].type",
|
||||
"$[0][4].params[0]"
|
||||
],
|
||||
"answer": [
|
||||
"repeat_inf",
|
||||
null
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/울타리/반복/계속 반복하기",
|
||||
"type": "list"
|
||||
},
|
||||
{
|
||||
"ele": [
|
||||
"$[0][4].statements[0][0].type",
|
||||
"$[0][4].statements[0][0].params[0].type"
|
||||
],
|
||||
"answer": [
|
||||
"_if",
|
||||
"reach_something"
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/울타리/만일/만일 '사자' 에 닿았는가? 라면",
|
||||
"type": "list"
|
||||
},
|
||||
{
|
||||
"ele": "$[0][4].statements[0][0].statements[0][0].params[0].params",
|
||||
"answer": [
|
||||
"사자가 탈출했다!"
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/울타리/[만일]의 세부 동작 1/'사자가 탈출했다!' 를 '말하기'"
|
||||
},
|
||||
{
|
||||
"ele": [
|
||||
"$[0][4].statements[0][0].statements[0][1].type",
|
||||
"$[0][4].statements[0][0].statements[0][1].params[0]"
|
||||
],
|
||||
"answer": [
|
||||
"stop_object",
|
||||
"all"
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/울타리/[만일]의 세부 동작 2/'모든' 코드 멈추기",
|
||||
"type": "list"
|
||||
}
|
||||
],
|
||||
"sortBlock": [
|
||||
"when_run_button_click"
|
||||
],
|
||||
"sort": 118
|
||||
},
|
||||
"5-0": {
|
||||
"type": "script",
|
||||
"ele": "$.objects[?(@.name=~'사자')].script",
|
||||
"blocks": [
|
||||
{
|
||||
"ele": "$[0][0].type",
|
||||
"answer": "when_run_button_click",
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/사자/시작/시작하기 버튼을 클릭했을 때"
|
||||
},
|
||||
{
|
||||
"ele": [
|
||||
"$[0][1].type",
|
||||
"$[0][1].params[0].params[0]",
|
||||
"$[0][1].params[1].params[0]"
|
||||
],
|
||||
"answer": [
|
||||
"locate_xy",
|
||||
"100",
|
||||
"80"
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/사자/[시작]의 세부 동작 1/x: '100' y: '80' 위치로 이동하기",
|
||||
"type": "list"
|
||||
},
|
||||
{
|
||||
"ele": [
|
||||
"$[0][2].type",
|
||||
"$[0][2].params[0].params[0]"
|
||||
],
|
||||
"answer": [
|
||||
"set_scale_size",
|
||||
"80"
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/사자/[시작]의 세부 동작 2/크기를 '80' 으로 정하기",
|
||||
"type": "list"
|
||||
},
|
||||
{
|
||||
"ele": [
|
||||
"$[0][3].type",
|
||||
"$[0][3].params[0].type"
|
||||
],
|
||||
"answer": [
|
||||
"change_to_some_shape",
|
||||
"get_pictures"
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/사자/[시작]의 세부 동작 3/'사자_4' 모양으로 바꾸기",
|
||||
"type": "list"
|
||||
},
|
||||
{
|
||||
"ele": [
|
||||
"$[0][4].type",
|
||||
"$[0][4].params[0]"
|
||||
],
|
||||
"answer": [
|
||||
"repeat_inf",
|
||||
null
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/사자/반복/계속 반복하기",
|
||||
"type": "list"
|
||||
},
|
||||
{
|
||||
"ele": [
|
||||
"$[0][4].statements[0][0].type",
|
||||
"$[0][4].statements[0][0].params[0].type",
|
||||
"$[0][4].statements[0][0].params[0].params[0]"
|
||||
],
|
||||
"answer": [
|
||||
"_if",
|
||||
"is_press_some_key",
|
||||
"38"
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/사자/만일 1/만일 '위쪽 화살표' 키가 눌러져 있는가? 라면",
|
||||
"type": "list"
|
||||
},
|
||||
{
|
||||
"ele": [
|
||||
"$[0][4].statements[0][0].statements[0][0].type",
|
||||
"$[0][4].statements[0][0].statements[0][0].params[0].params[0]"
|
||||
],
|
||||
"answer": [
|
||||
"move_y",
|
||||
"5"
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/사자/[만일 1]의 세부 동작/y 좌표를 '5' 만큼 바꾸기",
|
||||
"type": "list"
|
||||
},
|
||||
{
|
||||
"ele": [
|
||||
"$[0][4].statements[0][1].type",
|
||||
"$[0][4].statements[0][1].params[0].type",
|
||||
"$[0][4].statements[0][1].params[0].params[0]"
|
||||
],
|
||||
"answer": [
|
||||
"_if",
|
||||
"is_press_some_key",
|
||||
"40"
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/사자/만일 2/만일 '아래쪽 화살표' 키가 눌러져 있는가? 라면",
|
||||
"type": "list"
|
||||
},
|
||||
{
|
||||
"ele": [
|
||||
"$[0][4].statements[0][1].statements[0][0].type",
|
||||
"$[0][4].statements[0][1].statements[0][0].params[0].params[0]"
|
||||
],
|
||||
"answer": [
|
||||
"move_y",
|
||||
"-5"
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/사자/[만일 2]의 세부 동작/y 좌표를 '-5' 만큼 바꾸기",
|
||||
"type": "list"
|
||||
},
|
||||
{
|
||||
"ele": [
|
||||
"$[0][4].statements[0][2].type",
|
||||
"$[0][4].statements[0][2].params[0].type",
|
||||
"$[0][4].statements[0][2].params[0].params[0]"
|
||||
],
|
||||
"answer": [
|
||||
"_if",
|
||||
"is_press_some_key",
|
||||
"37"
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/사자/만일 3/만일 '왼쪽 화살표' 키가 눌러져 있는가? 라면",
|
||||
"type": "list"
|
||||
},
|
||||
{
|
||||
"ele": [
|
||||
"$[0][4].statements[0][2].statements[0][0].type",
|
||||
"$[0][4].statements[0][2].statements[0][0].params[0].params[0]"
|
||||
],
|
||||
"answer": [
|
||||
"move_x",
|
||||
"-5"
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/사자/[만일 3]의 세부 동작/x 좌표를 '-5' 만큼 바꾸기",
|
||||
"type": "list"
|
||||
},
|
||||
{
|
||||
"ele": [
|
||||
"$[0][4].statements[0][3].type",
|
||||
"$[0][4].statements[0][3].params[0].type",
|
||||
"$[0][4].statements[0][3].params[0].params[0]"
|
||||
],
|
||||
"answer": [
|
||||
"_if",
|
||||
"is_press_some_key",
|
||||
"39"
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/사자/만일 4/만일 '오른쪽 화살표' 키가 눌러져 있는가? 라면",
|
||||
"type": "list"
|
||||
},
|
||||
{
|
||||
"ele": [
|
||||
"$[0][4].statements[0][3].statements[0][0].type",
|
||||
"$[0][4].statements[0][3].statements[0][0].params[0].params[0]"
|
||||
],
|
||||
"answer": [
|
||||
"move_x",
|
||||
"5"
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/사자/[만일 4]의 세부 동작/x 좌표를 '5' 만큼 바꾸기",
|
||||
"type": "list"
|
||||
},
|
||||
{
|
||||
"ele": [
|
||||
"$[0][4].statements[0][4].type",
|
||||
"$[0][4].statements[0][4].params[0].type"
|
||||
],
|
||||
"answer": [
|
||||
"_if",
|
||||
"reach_something"
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/사자/만일 5/만일 '사육사' 에 닿았는가? 라면",
|
||||
"type": "list"
|
||||
},
|
||||
{
|
||||
"ele": [
|
||||
"$[0][4].statements[0][4].statements[0][0].type",
|
||||
"$[0][4].statements[0][4].statements[0][0].params[0].params[0]",
|
||||
"$[0][4].statements[0][4].statements[0][0].params[1].params[0]"
|
||||
],
|
||||
"answer": [
|
||||
"locate_xy",
|
||||
"100",
|
||||
"80"
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/사자/[만일 5]의 세부 동작 1/'x: '100' y: '80' 위치로 이동하기",
|
||||
"type": "list"
|
||||
},
|
||||
{
|
||||
"ele": "$[0][4].statements[0][4].statements[0][1].params[*].params",
|
||||
"answer": [
|
||||
"다시 돌아가야겠군!",
|
||||
"0.5"
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/사자/[만일 5]의 세부 동작 2/'다시 돌아가야겠군!' 을 '0.5' 초 동안 '말하기'"
|
||||
},
|
||||
{
|
||||
"ele": [
|
||||
"$[0][4].statements[0][5].type",
|
||||
"$[0][4].statements[0][5].params[0].type"
|
||||
],
|
||||
"answer": [
|
||||
"_if",
|
||||
"reach_something"
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/사자/만일 6/만일 '코끼리' 에 닿았는가? 라면",
|
||||
"type": "list"
|
||||
},
|
||||
{
|
||||
"ele": [
|
||||
"$[0][4].statements[0][5].statements[0][0].type",
|
||||
"$[0][4].statements[0][5].statements[0][0].params[0].params[0]"
|
||||
],
|
||||
"answer": [
|
||||
"move_y",
|
||||
"30"
|
||||
],
|
||||
"point": 2.22,
|
||||
"desc": "문제 2/사자/[만일 6]의 세부 동작 1/y 좌표를 '30' 만큼 바꾸기",
|
||||
"type": "list"
|
||||
},
|
||||
{
|
||||
"ele": "$[0][4].statements[0][5].statements[0][1].params[*].params",
|
||||
"answer": [
|
||||
"길이 막혔다!",
|
||||
"0.5"
|
||||
],
|
||||
"point": 2.09,
|
||||
"desc": "문제 2/사자/[만일 6]의 세부 동작 2/'길이 막혔다!' 를 '0.5' 초 동안 '말하기'"
|
||||
}
|
||||
],
|
||||
"sortBlock": [
|
||||
"when_run_button_click"
|
||||
],
|
||||
"sort": 126
|
||||
}
|
||||
}
|
||||
6
main.py
@@ -337,9 +337,9 @@ def main():
|
||||
timestamp = datetime.now().strftime("%y%m%d")
|
||||
test_mode = False # 테스트 모드 설정
|
||||
# test_mode = True # 테스트 모드 설정
|
||||
exam_round = "2510"
|
||||
# exam_names = ["CAT_3_A"] # 여러 시험명을 리스트로 설정
|
||||
exam_names = ["CAS_2_A"] # 여러 시험명을 리스트로 설정
|
||||
exam_round = "2511"
|
||||
exam_names = ["CAT_3_A"] # 여러 시험명을 리스트로 설정
|
||||
# exam_names = ["CAS_2_A"] # 여러 시험명을 리스트로 설정
|
||||
excel_list = []
|
||||
|
||||
for exam_name in exam_names:
|
||||
|
||||
|
Before Width: | Height: | Size: 8.6 KiB |
|
Before Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 9.8 KiB |
|
Before Width: | Height: | Size: 5.8 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 9.3 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 6.4 KiB |
|
Before Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 288 KiB |
|
Before Width: | Height: | Size: 8.6 KiB |
|
Before Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 6.8 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 8.0 KiB |
|
Before Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 5.2 KiB |
|
Before Width: | Height: | Size: 6.3 KiB |
|
Before Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 5.2 KiB |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 6.4 KiB |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 7.7 KiB |
|
Before Width: | Height: | Size: 6.4 KiB |
|
Before Width: | Height: | Size: 4.5 KiB |
|
Before Width: | Height: | Size: 6.9 KiB |
|
Before Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 6.4 KiB |
|
Before Width: | Height: | Size: 4.5 KiB |
|
Before Width: | Height: | Size: 8.6 KiB |
|
Before Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 6.0 KiB |
@@ -1,27 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 24.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 240 240" style="enable-background:new 0 0 240 240;" xml:space="preserve">
|
||||
<g>
|
||||
<path style="fill:#666666;" d="M88.7,45.52c-0.67-1.35-1.48-2.63-2.38-3.85c-0.36-9.22-5.04-18.09-12.37-23.75
|
||||
c-7.98-6.17-18.96-8.55-28.8-5.76c-7.67,2.18-13.69,6.53-19.51,11.83c-10.19,9.29-10.13,27.88,0,37.18
|
||||
c2.88,2.64,6.07,4.56,9.41,5.79c2.77,3.47,6.31,6.16,10.26,8.23c7.47,9.89,23.63,12.97,33.97,6.3
|
||||
C91.9,73.35,95.27,58.72,88.7,45.52z M47.86,76.41c0.52,0.28,0.93,0.54,0.94,0.73C48.49,76.89,48.18,76.65,47.86,76.41z"/>
|
||||
<path style="fill:#666666;" d="M137.73,36.26c-5.8,0.34-11.46,3.87-13.69,9.15c-3.93,4.62-4.76,11.48-1.65,16.96
|
||||
c-3.11,4.06-3.91,10.64-2.68,15.08c3.35,12.18,18.07,16.5,28.39,10.35c10.28-6.13,11.94-18.02,9.44-28.78
|
||||
C155.13,48.64,151.06,35.49,137.73,36.26z"/>
|
||||
<path style="fill:#666666;" d="M128.68,173.65c-10.45,0.23-18.83,1.62-26.26,9.74c-2.24,2.44-3.6,5.46-4.02,8.57
|
||||
c-3.29,3.51-4.88,8.31-3.44,13.55c0.89,3.22,3.16,6.21,6.07,8.25c0.04,2.59,0.67,5.21,1.98,7.94c2.27,4.73,7.78,7.03,12.68,7.28
|
||||
c9.19,0.47,17.99-7.79,23.68-14.18c5.58-6.25,11.89-14.17,11.97-23C151.46,178.6,140.09,173.41,128.68,173.65z"/>
|
||||
<path style="fill:#666666;" d="M55.82,157.83c-0.05-0.47-0.09-0.95-0.18-1.42c-1.56-8.51-6.53-15.12-13.29-20.16
|
||||
c0.54-7.17-2.99-14.12-10.49-16.18c-7.09-1.95-16.69,2.4-18.07,10.26c-2.63,14.94,1.63,44.89,20.2,48.34
|
||||
c2.15,1.6,4.44,3.03,6.73,4.36c6.65,3.86,16.38,1.76,20.1-5.27C64.49,170.83,62.7,162.02,55.82,157.83z"/>
|
||||
<path style="fill:#666666;" d="M217.47,118.05c-3.91-4.2-9.2-8.42-14.89-9.82c-0.74-0.18-1.49-0.29-2.23-0.36
|
||||
c-1.79-3.75-5.21-6.72-9.43-8.19c-16.03-5.58-30.18,11.14-25.22,26.26c1.51,4.6,4.75,8.59,8.8,11.34
|
||||
c-0.11,2.89-0.61,6.62-0.33,8.48c1.23,8.21,7.16,15.11,15.92,15.38c5.78,0.18,11.97-1.32,17.66-2.25
|
||||
c6.39-1.05,12.09-3.22,15.86-8.92C230.65,139.35,225.4,126.57,217.47,118.05z"/>
|
||||
<path style="fill:#666666;" d="M121.78,155.17c10.11-3.23,18.1-13.69,15.1-24.58c-3.04-11.06-15.28-11.62-24.54-13.42
|
||||
c-0.6-0.12-1.19-0.19-1.79-0.25c-3.25-5.78-10.07-9.09-16.77-7.25c-7.52,2.07-12.58,10.45-10.26,18.07
|
||||
c2.32,7.64,5.68,17.02,11.46,22.83C101.52,157.15,113.26,157.89,121.78,155.17z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 9.0 KiB |
|
Before Width: | Height: | Size: 6.7 KiB |
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 234 KiB |
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 340 KiB |
|
Before Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 6.0 KiB |
@@ -1,16 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 24.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 160 240" style="enable-background:new 0 0 160 240;" xml:space="preserve">
|
||||
<g>
|
||||
<path d="M103.98,15.24c-8-2.86-28.42-8.38-45.26,2.46C44.8,26.64,36.64,44.46,34.44,70.64v0.34c0.06,0.54,4.78,54.54-14.6,77.84
|
||||
c-9.44,11.34-11.3,28.72-4.96,46.48c5.96,16.72,17.9,29.5,29.72,31.78c4.4,0.86,10.16,1.64,16.68,1.64
|
||||
c12.66,0,28.16-2.9,42.04-13.64c19.86-15.42,31.12-43.08,33.44-82.24C142.96,29.24,116.62,19.78,103.98,15.24z M132.78,132.6
|
||||
c-2.26,37.96-13,64.64-31.92,79.32c-19.76,15.32-43.26,13.62-55.5,11.24c-10.48-2.04-21.22-13.76-26.72-29.2
|
||||
c-5.84-16.42-4.26-32.34,4.26-42.6c20.08-24.12,15.9-76.48,15.54-80.56c2.1-24.78,9.66-41.52,22.44-49.74
|
||||
c15.36-9.88,34.3-4.72,41.74-2.06C114.36,23.22,138.78,32,132.78,132.6z"/>
|
||||
<path style="fill:#8C4900;" d="M132.78,132.6c-2.26,37.96-13,64.64-31.92,79.32c-19.76,15.32-43.26,13.62-55.5,11.24
|
||||
c-10.48-2.04-21.22-13.76-26.72-29.2c-5.84-16.42-4.26-32.34,4.26-42.6c20.08-24.12,15.9-76.48,15.54-80.56
|
||||
c2.1-24.78,9.66-41.52,22.44-49.74c15.36-9.88,34.3-4.72,41.74-2.06C114.36,23.22,138.78,32,132.78,132.6z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 8.5 KiB |
|
Before Width: | Height: | Size: 5.8 KiB |
@@ -1,362 +0,0 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||