2503회 채점 중 로직 추가

This commit is contained in:
2025-04-11 14:51:29 +09:00
parent 2e1ef0fc8a
commit 0fd9c9e8c0
14 changed files with 40452 additions and 457 deletions

View File

@@ -1,29 +1,39 @@
{
"1-1": {
"type": "scene",
"ele": "$.scenes[0].name",
"answer": "꽃밭",
"points": 1.77,
"desc": "장면 1 이름 변경"
"ele": "$..objects[?(@.name=='꽃밭')]",
"points": 1.7,
"desc": "배경 이름 변경"
},
"1-2": {
"type": "scene",
"ele": "$.scenes[1].name",
"answer": "숲속",
"points": 1.77,
"desc": "장면 2 이름 변경"
"ele": "$..objects[?(@.name=='숲속')]",
"points": 1.7,
"desc": "배경 이름 변경"
},
"1-3": {
"type": "scene",
"ele": "$..objects[?(@.name=='당근')]",
"points": 1.77,
"desc": "장면 2 이름 변경"
"points": 1.7,
"desc": "물체 이름 변경"
},
"1-4": {
"type": "scene",
"ele": "$..objects[?(@.name=='하트')]",
"points": 1.77,
"desc": "장면 2 이름 변경"
"points": 1.7,
"desc": "물체 이름 변경"
},
"1-5": {
"type": "scene",
"ele": "$..objects[?(@.name=='토끼')]",
"points": 1.7,
"desc": "물체 이름 변경"
},
"1-6": {
"type": "scene",
"ele": "$..objects[?(@.name=='상자')]",
"points": 1.7,
"desc": "물체 이름 변경"
},
"2-1": {
"type": "scene",
@@ -89,7 +99,7 @@
"1"
],
"points": 1.77,
"desc": "x:0, y:-100 으로 이동"
"desc": "변수가 1보다 클때까지 반복"
},
{
"ele": "$[0][3].statements[0][?@.type=='locate_xy'].params[*].params",
@@ -169,18 +179,13 @@
"ele": "$[0][5].type",
"answer": "hide",
"points": 1.77,
"desc": "신호 보내기"
"desc": "숨기기"
}
]
},
"3": {
"type": "script",
"ele": "$.objects[?(@.name=='하트')].script",
"blocks": []
},
"5": {
"type": "script",
"ele": "$.objects[?(@.name=='상자')].script",
"ele": "$.objects[?name=~'하트'].script",
"blocks": [
{
"ele": "$[0][0].type",
@@ -189,7 +194,171 @@
"desc": "시작하기 버튼을 눌렀을 때"
},
{
"ele": "$[*][?(@.type=='change_object_index')].params[0]",
"ele": "$[0][1].params[0].params[0]",
"answer": "50",
"points": 1.77,
"desc": "크기 지정"
},
{
"ele": "$[0][2].params[0]",
"answer": "FRONT",
"points": 1.77,
"desc": "맨 앞으로 보내기"
},
{
"ele": "$[0][3].params[0]",
"answer": null,
"points": 1.77,
"desc": "반복하기 (계속)"
},
{
"type": "list",
"ele": [
"$[0][3].statements[0][0].type",
"$[0][3].statements[0][0].params[0]"
],
"answer": [
"locate",
"mouse"
],
"points": 1.77,
"desc": "마우스 위치로 이동"
},
{
"ele": "$[1][0].type",
"answer": "when_message_cast",
"points": 1.77,
"desc": "신호를 받았을 때"
},
{
"ele": "$[1][1].type",
"answer": "hide",
"points": 1.77,
"desc": "숨기기"
}
]
},
"4": {
"type": "script",
"ele": "$.objects[?(@.name=='토끼')].script",
"blocks": [
{
"ele": "$[0][0].type",
"answer": "when_run_button_click",
"points": 1.77,
"desc": "시작하기 버튼을 눌렀을 때"
},
{
"ele": "$[0][1].params[0].params[0]",
"answer": "90",
"points": 1.77,
"desc": "크기 지정"
},
{
"ele": "$[0][2].params[*].params",
"answer": [
"0",
"60"
],
"points": 1.77,
"desc": "x:0, y:60 으로 이동"
},
{
"type": "list",
"ele": [
"$[0][3].params[0].params[?(@.type=='get_variable')].type",
"$[0][3].params[0].params[?(@=='LESS')]",
"$[0][3].params[0].params[?(@.type=='text')].params[0]"
],
"answer": [
"get_variable",
"LESS",
"1"
],
"points": 1.77,
"desc": "변수가 1보다 클때까지 반복"
},
{
"type": "list",
"ele": [
"$[0][3].statements[0][*].params[0].params[0]",
"$[0][3].statements[0][*].params[1].params[*].params[0]",
"$[0][3].statements[0][*].params[2].params[0]"
],
"answer": [
"2",
"-200",
"200",
"60"
],
"points": 1.77,
"desc": "2초 동안 무작위로 x:-200~200, y:60"
},
{
"ele": "$[1][0].type",
"answer": "when_message_cast",
"points": 1.77,
"desc": "신호를 받았을 때"
},
{
"ele": "$[1][1].params[*].params[0]",
"answer": [
"2",
"0",
"0"
],
"points": 1.77,
"desc": "2초 동안 x:0, y:0 좌표 이동"
},
{
"ele": "$[1][2].params[0].params[0]",
"answer": "50",
"points": 1.77,
"desc": "크기 지정"
},
{
"type": "list",
"ele": [
"$[1][3].params[0].params[0].type",
"$[1][3].params[0].params[1]",
"$[1][3].params[0].params[2].params[0]",
"$[1][3].params[1].params[0]"
],
"answer": [
"get_variable",
"PLUS",
"점 입니다.",
"3"
],
"points": 1.77,
"desc": "변수 + 점 입니다. 3초 동안 말하기"
},
{
"ele": "$[1][4].params[0].params[0]",
"answer": "0.5",
"points": 1.77,
"desc": "0.5초 기다리기"
},
{
"ele": "$[1][5].type",
"answer": "start_scene",
"points": 1.77,
"desc": "장면 전환"
}
]
},
"5": {
"type": "script",
"ele": "$.objects[?name=~'상자'].script",
"blocks": [
{
"ele": "$[0][0].type",
"answer": "when_run_button_click",
"points": 1.77,
"desc": "시작하기 버튼을 눌렀을 때"
},
{
"ele": "$[*][1].params[0]",
"points": 1.77,
"answer": "FORWARD",
"desc": "물체 앞으로 보내기"
@@ -231,5 +400,77 @@
"desc": "숨기기"
}
]
},
"6": {
"type": "script",
"ele": "$.objects[?(@.name=='숲속')].script",
"blocks": [
{
"ele": "$[0][0].type",
"answer": "when_scene_start",
"points": 1.77,
"desc": "시작하기 버튼을 눌렀을 때"
},
{
"ele": "$[0][1].type",
"answer": "hide_variable",
"points": 1.77,
"desc": "변수 숨기기"
},
{
"ele": "$[0][2].type",
"answer": "hide_variable",
"points": 1.77,
"desc": "변수 숨기기"
},
{
"ele": "$[1][0].type",
"answer": "when_object_click",
"points": 2,
"desc": "오브젝트 클릭 시"
},
{
"type": "list",
"ele": [
"$[1][1].type",
"$[1][1].params[0]",
"$[1][1].params[1].params[0]"
],
"answer": [
"change_effect_amount",
"color",
"50"
],
"points": 2,
"desc": "색깔 효과를 50으로 변경"
},
{
"type": "list",
"ele": [
"$[1][2].type",
"$[1][2].params[0].params[0]",
"$[1][2].params[1]"
],
"answer": [
"dialog",
"처음부터 다시 실행합니다.",
"speak"
],
"points": 2,
"desc": "처음부터 다시 실행합니다. 를 말하기"
},
{
"ele": "$[1][3].params[0].params[0]",
"answer": "2",
"points": 2,
"desc": "2초 기다리기"
},
{
"ele": "$[1][4].type",
"answer": "restart_project",
"points": 2,
"desc": "처음부터 다시 시작하기"
}
]
}
}