diff --git a/build/entryx64.nsi b/build/entryx64.nsi index 92c2c53e8..fe479d2c9 100644 --- a/build/entryx64.nsi +++ b/build/entryx64.nsi @@ -13,7 +13,7 @@ !define MUI_UNICON "icon.ico" !define PRODUCT_NAME "Entry" !define APP_NAME "Entry.exe" -!define PRODUCT_VERSION "2.1.3" +!define PRODUCT_VERSION "2.1.4" !define PRODUCT_PUBLISHER "EntryLabs" !define PRODUCT_WEB_SITE "http://www.playentry.org/" diff --git a/build/entryx86.nsi b/build/entryx86.nsi index 8815ccf8a..71f85c56a 100644 --- a/build/entryx86.nsi +++ b/build/entryx86.nsi @@ -13,7 +13,7 @@ !define MUI_UNICON "icon.ico" !define PRODUCT_NAME "Entry" !define APP_NAME "Entry.exe" -!define PRODUCT_VERSION "2.1.3" +!define PRODUCT_VERSION "2.1.4" !define PRODUCT_PUBLISHER "EntryLabs" !define PRODUCT_WEB_SITE "http://www.playentry.org/" diff --git a/package.json b/package.json index b88d855b2..67e127f21 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "private": true, "productName": "Entry", "name": "entry", - "version": "2.1.3", + "version": "2.1.4", "description": "Entry for offline", "main": "src/main_build/main.bundle.js", "scripts": { @@ -36,8 +36,8 @@ "async-csv": "^2.1.3", "axios": "^0.19.2", "cross-spawn": "^7.0.3", - "entry-hw": "git+https://github.com/entrylabs/entry-hw.git#dist/v1.9.40", - "entry-js": "git+https://github.com/entrylabs/entryjs.git#dist/offline_v2.1.3", + "entry-hw": "git+https://github.com/entrylabs/entry-hw.git#dist/v1.9.41", + "entry-js": "git+https://github.com/entrylabs/entryjs.git#dist/offline_v2.1.4", "entry-tool": "git+https://github.com/entrylabs/entry-tool.git#dist/20221024", "excel4node": "^1.7.0", "fs-extra": "^8.1.0", diff --git a/src/renderer/resources/lang/en.json b/src/renderer/resources/lang/en.json index e7a8e616b..1c6104988 100644 --- a/src/renderer/resources/lang/en.json +++ b/src/renderer/resources/lang/en.json @@ -733,13 +733,14 @@ "CALC_distance_something_1": "Distance to", "CALC_distance_something_2": "", "CALC_get_angle": "Angle value", - "CALC_get_date_1": "Date", + "CALC_get_date_1": "Current", "CALC_get_date_2": "", "CALC_get_date_day": "Day", "CALC_get_date_hour": "Time(Hour)", "CALC_get_date_minute": "Time(Minutes)", "CALC_get_date_month": "Month", "CALC_get_date_second": "Time(Seconds)", + "CALC_get_date_day_of_week": "Day of Week", "CALC_get_date_year": "Year", "CALC_get_sound_duration_1": "Length of", "CALC_get_sound_duration_2": "sound", @@ -793,6 +794,10 @@ "JUDGEMENT_is_clicked": "Mouse down?", "JUDGEMENT_is_press_some_key_1": "Key", "JUDGEMENT_is_press_some_key_2": " pressed?", + "JUDGEMENT_is_object_clicked": "Object clicked?", + "JUDGEMENT_is_type_1": "is", + "JUDGEMENT_is_type_2": "?", + "is_type_number": "number", "JUDGEMENT_reach_something_1": "touching", "JUDGEMENT_reach_something_2": "?", "JUDGEMENT_is_boost_mode": "Is boost mode?", @@ -1523,11 +1528,15 @@ "CALC_char_at_3": "", "CALC_length_of_string_1": "length of", "CALC_length_of_string_2": "", + "CALC_reverse_of_string_1": "Reverse", + "CALC_reverse_of_string_2": "", "CALC_substring_1": "substring of", "CALC_substring_2": "from", "CALC_substring_3": "to", "length_of_string": "to", "CALC_substring_4": "", + "CALC_count_match_string_1": "count of", + "CALC_count_match_string_2": "in", "CALC_replace_string_1": "replace", "CALC_replace_string_2": "in", "CALC_replace_string_3": "with", @@ -3774,7 +3783,7 @@ "corporateChangeDate": "Date of change : October 29, 2017", "corporateWarning": "Please Agree to the transfer of personal information.", "corporateConfirm": "Confirm", - "corporateTitle": "Hello. This is EntryLabs.
We are very grateful to you who are using 'Entry'. 
Recently we have agreed to transfer the ownership of Entry web site, which has been operated for public interest purposes, to the 'Connect Foundation'.
Connect Foundation is a non-profit foundation founded by Naver. 'Entry' will be continuously operated under public interest purpose by 'Connect Foundation'. Therefore, All of “Entry” users will be guaranteed to use the entry exactly as same as before.
Since the website provider has changed from the 'EntryLabs' to the 'Connect Foundation', there is a transfer of personal information as below. However, this doesn’t mean that your information will be physically moved.
", + "corporateTitle": "Hello. This is EntryLabs.\n We are very grateful to you who are using 'Entry'. \nRecently we have agreed to transfer the ownership of Entry web site, which has been operated for public interest purposes, to the 'Connect Foundation'.\nConnect Foundation is a non-profit foundation founded by Naver. 'Entry' will be continuously operated under public interest purpose by 'Connect Foundation'. Therefore, All of “Entry” users will be guaranteed to use the entry exactly as same as before.\nSince the website provider has changed from the 'EntryLabs' to the 'Connect Foundation', there is a transfer of personal information as below. However, this doesn’t mean that your information will be physically moved.\n", "textcoding_numberError_f": "You can't convert into the text mode if there is function names start with a number.", "textcoding_bookedError_1f": "You can't convert into the text mode if there is function named", "textcoding_bookedError_2f": ".", @@ -3829,9 +3838,9 @@ "fword_replace_7": "Entry is an education platform created to help anyone learn to code.", "solve_quiz": "Quiz", "submit_homework_first_title": "Complete! Submit an assignment", - "submit_homework_first_content": "Great work is done! Submit your assignment.
You may resubmit your assignment before the deadline.", + "submit_homework_first_content": "Great work is done! Submit your assignment.\nYou may resubmit your assignment before the deadline.", "submit_homework_again_title": "Resubmit", - "submit_homework_again_content": "This project has been submitted already.
Would you like to resubmit?", + "submit_homework_again_content": "This project has been submitted already.\nWould you like to resubmit?", "submit_homework_expired_title": "Submission Closed", "submit_homework_expired_content": "Assignment deadline is over.", "done_study_title": "Complete", @@ -3857,7 +3866,7 @@ "hint": "Hint", "concept_guide": "Concept Guide", "group_quiz": "Quiz", - "fail_check_hint": "Oh no! Try again!
Check [Hint] if you are stuck!", + "fail_check_hint": "Oh no! Try again!\nCheck [Hint] if you are stuck!", "sort_student": "Student", "sort_lesson": "Lesson", "sort_course": "Course", @@ -3866,15 +3875,15 @@ "lec_in_progress": "in progress", "free_modal_asgn_over": "Assignment deadline is over.", "free_submission_closed": "Submission Closed", - "free_modal_asgn_submit_first": "Great work is done! Submit your assignment.
You may resubmit your assignment before the deadline.", + "free_modal_asgn_submit_first": "Great work is done! Submit your assignment.\nYou may resubmit your assignment before the deadline.", "asgn_submit": "Complete! Submit an assignment.", - "free_modal_content_resubmit": "This project has been submitted already.
Would you like to resubmit?", + "free_modal_content_resubmit": "This project has been submitted already.\nWould you like to resubmit?", "asgn_resubmit": "Resubmit", "free_modal_content_complete": "Fabulous Project is complete.", "guide_modal_content_complete": "Let's run the program", "success": "Success", "fail": "Fail", - "mission_modal_content_fail": "
Check [Hint] if you are stuck!", + "mission_modal_content_fail": "\nCheck [Hint] if you are stuck!", "mission_modal_content_success": "Let's run the program", "in_progress": "in progress", "completed": "Completed", @@ -3889,14 +3898,14 @@ "main_entry_starter": "From basics! Entry Starter", "main_entry_booster": "Concepts! Entry Booster", "main_entry_master": "Ideas unfold! Entry Master", - "no_students_in_classroom": "No students yet.
Please add or invite students.", + "no_students_in_classroom": "No students yet.\nPlease add or invite students.", "lectures": "lessons", "Lectures": "Lessons", "studentHomeworkList": "assignment", "curriculums": "courseware", "Curriculums": "Courseware", "quiz": "quiz", - "no_added_group_contents_teacher": "There is no %1.
Please create a %1.", + "no_added_group_contents_teacher": "There is no %1. \nPlease create a %1.", "no_added_group_contents_student": "There is no %1.", "side_project": "Goal project", "custom_make_course_1": "Create courseware from", @@ -3910,7 +3919,7 @@ "alert_update_complete": "Edit complete", "no_group_contents_each_prefix": "There is no ", "no_group_contents_each_suffix": " in our classroom.", - "no_group_contents_all": "There is no new content.
Share projects in My Classroom gallery.", + "no_group_contents_all": "There is no new content.\nShare projects in My Classroom gallery.", "hw_closed": "submission closed", "tag_Lecture": "Lessons", "tag_Curriculum": "Courseware", @@ -4086,7 +4095,7 @@ "file_upload_warn_title_sound": "The following sounds are subject to the Terms of Use and related laws.", "file_upload_warn_desc_sound": "Violent and cruel sound\nSuggestive sound\nOffensive or disgusting sound\nSound of copyright prohibited from unauthorized use", "file_upload_warn_title_table": "The following data may be subject to sanctions by the terms of use and related laws.", - "file_upload_warn_desc_table": "Data containing violent and cruel contents, sexual contents, offensive and violent contents,
data that may infringe on personal information of one or others, copyrighted data prohibited from unauthorized use", + "file_upload_warn_desc_table": "Data containing violent and cruel contents, sexual contents, offensive and violent contents,\ndata that may infringe on personal information of one or others, copyrighted data prohibited from unauthorized use", "file_upload_warn_desc_table_1": "Data containing violent and cruel contents, sexual contents, offensive and violent contents, ", "file_upload_warn_desc_table_2": "data that may infringe on personal information of one or others, copyrighted data prohibited from unauthorized use", "file_upload_warn_link": "About copyright", @@ -4101,7 +4110,7 @@ "table_upload_warn_1": "You can add CSV or XLS(X) format files less than 10MB. In the case of Excel files, function statements are displayed as it is.", "sprite_upload_warn": "You can only upload images in jpg, png, bmp, svg format or objects in eo format that are less than 10MB.", "sound_upload_warn_1": "You can only upload mp3 files that are less than 10MB.", - "sound_edit_warn": "Please wait!
We're working on the Sound Editing function.", + "sound_edit_warn": "Please wait!\nWe're working on the Sound Editing function.", "table_drag_upload_title": "Drag and drop or click to upload files", "table_drag_upload_desc": "You can drag and drop CSV or XLS(X) files here or click to upload", "upload_select_file": "Select File", @@ -5194,36 +5203,36 @@ "maze_1_intro": "Hi. I’m ENTRY Bot. I’m about to save my injured friends and I need your help. Help me save my friends! First, set up the ‘Move forward one space’ block and press ‘Start’.", "maze_1_title": "How to Start", "maze_1_content": "How do I move ENTRY Bot?", - "maze_1_detail": "1. Take a block from the Block Box and connect it with the ‘When Start is pressed’ block.
2. Press Start once you have finished assembling.
3. I will move in the order of your assembled blocks from top to bottom. ", + "maze_1_detail": "1. Take a block from the Block Box and connect it with the ‘When Start is pressed’ block. \n 2. Press Start once you have finished assembling. \n 3. I will move in the order of your assembled blocks from top to bottom. ", "maze_2_intro": "Alright! You’ve saved the first of my friends! Now let’s save my next friend. Oh! There’s a beehive in the way! Use the Jump Over block to avoid the beehive and save my friend!", "maze_2_title_1": "Jump Over", "maze_2_content_1": "How do I get around obstacles?", - "maze_2_detail_1": "Sometimes your path may be blocked by an obstacle.
When there’s an obstacle in your path, you need to use the ‘Jump Over’ block.", + "maze_2_detail_1": "Sometimes your path may be blocked by an obstacle. \n When there’s an obstacle in your path, you need to use the ‘Jump Over’ block.", "maze_2_title_2": "How to Start", "maze_2_content_2": "How do I move ENTRY Bot?", - "maze_2_detail_2": "1. Take a block from the Block Box and connect it with the ‘When Start is pressed’ block.
2. Press Start once you have finished assembling.
3. I will move in the order of your assembled blocks from top to bottom. ", + "maze_2_detail_2": "1. Take a block from the Block Box and connect it with the ‘When Start is pressed’ block. \n 2. Press Start once you have finished assembling. \n 3. I will move in the order of your assembled blocks from top to bottom. ", "maze_3_intro": "Awesome! Now let’s go save another friend! How about we use the ‘Repeat’ block that my other friend gave use? You can easily repeat the same movements over again using the ‘Repeat’ block! Try changing the number of times to repeat. ", "maze_3_title": "Repeat Block (1)", "maze_3_content": "How do I use the ‘Repeat (3)’ block?", - "maze_3_detail": "To perform the same action/s more than once, you need to use the ‘Repeat’ block.
Put the blocks that you want to repeat inside the Repeat box and select the number of times you want to repeat.", + "maze_3_detail": "To perform the same action/s more than once, you need to use the ‘Repeat’ block. \n Put the blocks that you want to repeat inside the Repeat box and select the number of times you want to repeat.", "maze_4_intro": "Super! Not too many robot friends left to save now. Take us to my friend by using the ‘Jump Over’ block on repeat while also evading the beehive!", "maze_4_title": "Repeat Block (1)", "maze_4_content": "How do I use the ‘Repeat (3)’ block?", - "maze_4_detail": "To perform the same action/s more than once, you need to use the ‘Repeat’ block.
Put the blocks that you want to repeat inside the Repeat box and select the number of times you want to repeat.", + "maze_4_detail": "To perform the same action/s more than once, you need to use the ‘Repeat’ block. \n Put the blocks that you want to repeat inside the Repeat box and select the number of times you want to repeat.", "maze_5_intro": "Cool! Now let’s try using the ‘Repeat’ block and ‘IF’ block together! Using the ‘IF’ block, you can turn in a direction where there are no walls when you come across a wall. Well then, shall we set off to save my friend?", "maze_5_title_1": "IF block", "maze_5_content_1": "How does the ‘IF’ block work?", - "maze_5_detail_1": "You can determine what action to take when you come across a {IMAGE}.
The blocks are used only when you come across a {IMAGE}.
If there is none, the block is not used.", + "maze_5_detail_1": "You can determine what action to take when you come across a {IMAGE}. \n The blocks are used only when you come across a {IMAGE}. \n If there is none, the block is not used.", "maze_5_title_2": "Repeat Block (2)", "maze_5_content_2": "How do I use the ‘Repeat until’block?", - "maze_5_detail_2": "Using the ‘Repeat until’block, you can determine until when a specified action is repeated.
Just put the blocks you want to repeat inside the ‘Repeat until’ block.
Then, the repetition will stop when you reach the space where the {IMAGE} is located. ", + "maze_5_detail_2": "Using the ‘Repeat until’block, you can determine until when a specified action is repeated. \n Just put the blocks you want to repeat inside the ‘Repeat until’ block. \n Then, the repetition will stop when you reach the space where the {IMAGE} is located. ", "maze_6_intro": "Only one friend left! Just do as we’ve practiced and you’ll succeed! Now, let’s go save him!", "maze_6_title_1": "IF block", "maze_6_content_1": "How does the ‘IF’ block work?", - "maze_6_detail_1": "You can determine what action to take when you come across a {IMAGE}.
The blocks are used only when you come across a {IMAGE}.
If there is none, the block is not used.", + "maze_6_detail_1": "You can determine what action to take when you come across a {IMAGE}. \n The blocks are used only when you come across a {IMAGE}. \n If there is none, the block is not used.", "maze_6_title_2": "Repeat Block (2)", "maze_6_content_2": "How do I use the ‘Repeat until’block?", - "maze_6_detail_2": "Using the ‘Repeat until’block, you can determine until when a specified action is repeated.
Just put the blocks you want to repeat inside the ‘Repeat until’ block.
Then, the repetition will stop when you reach the space where the {IMAGE} is located. ", + "maze_6_detail_2": "Using the ‘Repeat until’block, you can determine until when a specified action is repeated. \n Just put the blocks you want to repeat inside the ‘Repeat until’ block. \n Then, the repetition will stop when you reach the space where the {IMAGE} is located. ", "maze_programing_mode_0": "Block Coding", "maze_programing_mode_1": "Javascript", "maze_operation1_title": "STEP 1 – Javascript mode guide", @@ -5231,12 +5240,12 @@ "maze_operation1_2_desc": "Once you learn your goal, you need to give me commands. \\’Command Box\\’ is where the commands reside. You can create commands using mouse and keyboard. With the mouse, you can click or drag the commands to create instructions.", "maze_operation1_2_textset_1": "How to click on the commands", "maze_operation1_2_textset_2": "How to drag and drop commands", - "maze_operation1_3_desc": "If you want to use the keyboard to give commands, type in the commands in the \\’Command Box.\\’
When you type in the commands, be careful not to ommit () and ;", + "maze_operation1_3_desc": "If you want to use the keyboard to give commands, type in the commands in the \\’Command Box.\\’\nWhen you type in the commands, be careful not to ommit () and ;", "maze_operation1_4_desc": "Once you have finished inputting the commands, click [Run.]
I will move according to your code once you click [Run.]
If you want to know more about each command, check out the [Command guide.]", "maze_operation7_title": "STEP 7 - How repeat works (repeat number of times)", - "maze_operation7_1_desc": "Repeating the same command over and over is a cumbersome task.
Simplify the command using the repeat commands.", + "maze_operation7_1_desc": "Repeating the same command over and over is a cumbersome task.\nSimplify the command using the repeat commands.", "maze_operation7_2_desc": "Then let's look at how we can simplify commands that repeat.
First, click the repeat command. Then change the number ini<1
Then insert the commands to repeat within { }", - "maze_operation7_3_desc": "For example, this command executes move(); 10 times.
It is the same as command ", + "maze_operation7_3_desc": "For example, this command executes move(); 10 times.\nIt is the same as command ", "maze_operation7_4_desc": "When using commands, make sure to spell the commands correctly within { }
and that you don't forget ’;'.
Learn more about the commands in the 'command guide'", "maze_operation7_1_textset_1": "When using commands repeatedly", "maze_operation7_1_textset_2": "When using repeat command", @@ -5249,8 +5258,8 @@ "study_maze_operation1_title": "STEP 1 - How repeat works (repeat number of times)", "maze_operation9_title": "STEP 9 - How repeat works(Conditional loop)", "maze_operation9_1_desc": "We learned about repeating for set number of times.
This time, let's explore commands for repeating continuously.
When you use this command, the action will be executed until end of the mission.
Insert commands to be repeated within ({ }).", - "maze_operation9_2_desc": " move(); right(); until end of mission.
It is the same as command ", - "maze_operation9_3_desc": "Make sure to spell the commands correctly within { }
and make sure ‘true' isn't missing!
You can learn more about this command in the 'command guide'", + "maze_operation9_2_desc": " move(); right(); until end of mission.\nIt is the same as command ", + "maze_operation9_3_desc": "Make sure to spell the commands correctly within { }\nand make sure ‘true' isn't missing!\nYou can learn more about this command in the 'command guide'", "maze_operation9_1_textset_1": "Commands to repeat", "maze_operation9_3_textset_1": "When ({}) is missing", "maze_operation9_3_textset_2": "When semicolon(;) is missing", @@ -5326,18 +5335,18 @@ "awesome": "Awesome! You succeeded using just", "succeeded_go_to_next": " blocks!", "good": "Good!", - "but": "
But, there is a way to succeed using just ", - "try_again": " blocks.
Why don’t you try again?", - "try_again_commands": " commands.
Why don’t you try again?", - "cfest_success": "Awesome! You helped save my friends!
Looks like you’re a natural born programmer!
See you again soon!", - "succeeded_and_cert": "blocks!
My certificate of completion is ready!", + "but": "\n But, there is a way to succeed using just ", + "try_again": " blocks. \nWhy don’t you try again?", + "try_again_commands": " commands. \nWhy don’t you try again?", + "cfest_success": "Awesome! You helped save my friends! \n Looks like you’re a natural born programmer! \n See you again soon!", + "succeeded_and_cert": "blocks!\n My certificate of completion is ready!", "cause_msgs_1": "Oh dear, it’s a dead end. Try again.", "cause_msgs_2": "Oops. There’s nothing to jump over. Try again.", "cause_msgs_3": "Ouch! That hurt. You should have jumped over this. Try again.", - "cause_msgs_4": "Sorry, but you need to use the below blocks in this level.
Do you want to try again?", + "cause_msgs_4": "Sorry, but you need to use the below blocks in this level. \n Do you want to try again?", "cause_msgs_5": "Uh oh… You’ve run out of blocks. Try again.", "cause_msgs_6": "Uh oh… You’ve run out of commands. Try again.", - "close_experience": "The
End", + "close_experience": "The\nEnd", "replay": "Replay", "go_to_next_level": "Next", "move_forward": "Move forward", @@ -5376,7 +5385,7 @@ "after_changed": "after changed", "from_changed": "( From 17 Apr 2016 ) ", "essential": "essential", - "access_term_title": "Hello we are an educational institute Entry .
Thank you for loving your entry
From April 17, 2016 Entry Training Institute Website Terms and Conditions
is amended to read as follows:", + "access_term_title": "Hello we are an educational institute Entry . \n Thank you for loving your entry \nFrom April 17, 2016 Entry Training Institute Website Terms and Conditions \n is amended to read as follows:", "member_info": "Member information", "personal_info": "Agree to the transfer of personal information.", "option": "select one", @@ -5577,8 +5586,8 @@ "hardware_release": "Details on Hardware Connector Program updates are available in the link below.", "hardware_window_download": "Windows Download", "hardware_osx_download": "Mac Download", - "cparty_jr_result_2": "Thank you! I had so much fun with you.
See you around!", - "cparty_jr_result_3": "Great! I've arrived school! But we can make it with fewer blocks.
How about we try again? ", + "cparty_jr_result_2": "Thank you! I had so much fun with you.\n See you around!", + "cparty_jr_result_3": "Great! I've arrived school! But we can make it with fewer blocks.\n How about we try again? ", "cparty_jr_result_4": "", "lms_no_class": "There is no class.", "lms_create_class": "Please create a class.", @@ -5904,73 +5913,73 @@ "ai_content_10": "Good! I can see Earth! But now it's impossible to see the asteroids ahead! I'm not worried though. We can avoid the asteroids with more caution. Let's go home!", "maze_hints_title_1": "How to start", "maze_hints_content_1": "How do I move Entrybot?", - "maze_hints_detail_1": "1. Drag the block you want to use and place it under 'When Run'
2. Once finished, click 'Run'
3. I will follow the block instructions step by step, reading them from top to bottom", + "maze_hints_detail_1": "1. Drag the block you want to use and place it under 'When Run'\n2. Once finished, click 'Run'\n3. I will follow the block instructions step by step, reading them from top to bottom", "maze_hints_title_2": "Jumping over obstacles", "maze_hints_content_2": "What do I do when I come across an obstacle?", - "maze_hints_detail_2": "On your pathway, you might come across obstacles.
Use 'jump over' block to jump over the obstacle. ", + "maze_hints_detail_2": "On your pathway, you might come across obstacles.\nUse 'jump over' block to jump over the obstacle. ", "maze_hints_title_3": "Repeat block(1)", "maze_hints_content_3": "How do I use repeat (3) times block?", - "maze_hints_detail_3": "If you want to repeat an action multiple times, use 'repeat ~times' block.
Place the blocks you want to repeat within the 'repeat ~times' block and input how many times to repeat.", + "maze_hints_detail_3": "If you want to repeat an action multiple times, use 'repeat ~times' block. \nPlace the blocks you want to repeat within the 'repeat ~times' block and input how many times to repeat.", "maze_hints_title_4": "Repeat block(2)", "maze_hints_content_4": "How do I use 'repeat until ~' block?", - "maze_hints_detail_4": "Use 'repeat until~do' block to set until when an action should be performed.
Place the blocks you want to repeat within 'repeat until~' block.
Then once met with {image}, repeat will stop.", + "maze_hints_detail_4": "Use 'repeat until~do' block to set until when an action should be performed. \nPlace the blocks you want to repeat within 'repeat until~' block.\nThen once met with {image}, repeat will stop.", "maze_hints_title_5": "If block", "maze_hints_content_5": "How do I use 'if~' block?", - "maze_hints_detail_5": "Using 'If {image}' block, you can designate what action should follow when met with {image}.
Blocks within the 'If {image}' will only execute when met with {image}.", + "maze_hints_detail_5": "Using 'If {image}' block, you can designate what action should follow when met with {image}.\nBlocks within the 'If {image}' will only execute when met with {image}.", "maze_hints_title_6": "Repeat block(3)", "maze_hints_content_6": "How does 'Until met with all ~' block work?", - "maze_hints_detail_6": "Repeat blocks within 'Until met with all ~' block until met with all {tile}.
Once met with all {tile} repeat will stop.", + "maze_hints_detail_6": "Repeat blocks within 'Until met with all ~' block until met with all {tile}.\n Once met with all {tile} repeat will stop.", "maze_hints_title_7": "Special Hint", "maze_hints_content_7": "It's too difficult. Help!", - "maze_hints_detail_7": "Look at the path that I should travel. See the 4 small squares?
First create blocks that will take me around the square and repeat.", + "maze_hints_detail_7": "Look at the path that I should travel. See the 4 small squares?\nFirst create blocks that will take me around the square and repeat.", "maze_hints_title_8": "Function", "maze_hints_content_8": "What is 'Functions/ Call Functions'? How do I use them?", - "maze_hints_detail_8": "Put the most often used sets of blocks under 'Function'.
Once you create functions, use 'Call Function' to use it as often as needed.", + "maze_hints_detail_8": "Put the most often used sets of blocks under 'Function'. \nOnce you create functions, use 'Call Function' to use it as often as needed.", "ai_hints_title_1_1": "Goal of the game", "ai_hints_content_1_1": "Avoid asteroids and help me get to Earth", "ai_hints_detail_1_1": "Avoid asteroids and help me get to Earth", "ai_hints_title_1_2": "Instructions", "ai_hints_content_1_2": "How do I begin?", - "ai_hints_detail_1_2": "1. Drag out blocks from the block box and connect is with the 'when run' block
2. Once finished assembling blocks, click 'Run'
3. I'll move according to your block instructions.", + "ai_hints_detail_1_2": "1. Drag out blocks from the block box and connect is with the 'when run' block\n2. Once finished assembling blocks, click 'Run'\n3. I'll move according to your block instructions.", "ai_hints_title_1_3": "To move", "ai_hints_content_1_3": "How do I move the entrybot?", - "ai_hints_detail_1_3": "I can move up, forward or below.
When creating instructions, make sure I avoid the asteroids.
If you send me out of the screen, I can be lost in space forever! So be careful.", + "ai_hints_detail_1_3": "I can move up, forward or below.\nWhen creating instructions, make sure I avoid the asteroids.\nIf you send me out of the screen, I can be lost in space forever! So be careful.", "ai_hints_title_2_1": "Goal of the game", "ai_hints_content_2_1": "Use repeat blocks to avoid the asteroids.", "ai_hints_detail_2_1": "Use repeat blocks to avoid the asteroids.", "ai_hints_title_2_2": "Repeat block", "ai_hints_content_2_2": "What is a repeat block?", - "ai_hints_detail_2_2": "Geez! It's a long way home so putting blocks together one by one is too tiresome. Let's try using the repeat block.
Once you group the blocks under the repeat block, you can shorten the length of the blocks!", + "ai_hints_detail_2_2": "Geez! It's a long way home so putting blocks together one by one is too tiresome. Let's try using the repeat block.\nOnce you group the blocks under the repeat block, you can shorten the length of the blocks!", "ai_hints_content_3_1": "Help me avoid the asteroids using the 'if' block", "ai_hints_title_3_2": "if block(1)", "ai_hints_content_3_2": "How does 'if ~' block work? ", - "ai_hints_detail_3_2": "Using 'if~ in front/ else' block can help me check if there are asteroids in front of me and help me avoid them.
If there's an asteroid in front of me, then blocks under 'if' will execute or if there isn't an asteroid, the blocks under 'else' will execute.
Tell me which way to go depending on whether there's an asteroid to avoid or not.", + "ai_hints_detail_3_2": "Using 'if~ in front/ else' block can help me check if there are asteroids in front of me and help me avoid them.\nIf there's an asteroid in front of me, then blocks under 'if' will execute or if there isn't an asteroid, the blocks under 'else' will execute.\nTell me which way to go depending on whether there's an asteroid to avoid or not.", "ai_hints_content_4_1": "Learn to use the radar to avoid the asteroids.", "ai_hints_detail_4_1": "Learn to use the radar to avoid the asteroids.", "ai_hints_title_4_2": "radar(1)", "ai_hints_content_4_2": "What is a radar and how can I use it?", - "ai_hints_detail_4_2": "Radar tells me how far an object exists from where I am located.
If there is an object in front of me, the front radar will show '1'.
Also, radar can become a powerful tool when used with 'if <true>/else' block.
For example, when the distance to an object in front of me shows value greater than 1, then I am able to move forward safely.
However, if not, then I can go above or under to avoid it.", + "ai_hints_detail_4_2": "Radar tells me how far an object exists from where I am located. \nIf there is an object in front of me, the front radar will show '1'.\nAlso, radar can become a powerful tool when used with 'if <true>/else' block.\nFor example, when the distance to an object in front of me shows value greater than 1, then I am able to move forward safely.\n However, if not, then I can go above or under to avoid it.", "ai_hints_title_4_3": "if block(2)", "ai_hints_content_4_3": "How do I use 'if ' block?", - "ai_hints_detail_4_3": "if <true> block/ else' block executes blocks under 'if' when condition is met and executes blocks under 'else' when condition is not met.
Think about how you want to move at different situations and create a condition within <true> block.
Remember that when condition is met and blocks under 'if' are executed, then the blocks under 'else' will be ignored.", + "ai_hints_detail_4_3": "if <true> block/ else' block executes blocks under 'if' when condition is met and executes blocks under 'else' when condition is not met.\nThink about how you want to move at different situations and create a condition within <true> block.\nRemember that when condition is met and blocks under 'if' are executed, then the blocks under 'else' will be ignored.", "ai_hints_content_5_1": "Use the radar to help me avoid the asteroids.", "ai_hints_detail_5_1": "Use the radar to help me avoid the asteroids.", "ai_hints_title_5_2": "if block(3)", "ai_hints_content_5_2": "How does nested if blocks work?", - "ai_hints_detail_5_2": "I can nest 'if ~/else' block within 'if ~/else' block. This will help me make smart decisions in various situations.
For example, I can act according to whether an asteroid is in my path or not, then when I'm met with and asteroid, I can decide whether to go under or above.", + "ai_hints_detail_5_2": "I can nest 'if ~/else' block within 'if ~/else' block. This will help me make smart decisions in various situations.\nFor example, I can act according to whether an asteroid is in my path or not, then when I'm met with and asteroid, I can decide whether to go under or above.", "ai_hints_title_6_1": "Radar(2)", "ai_hints_content_6_1": "How do I compare the values given by radar above and radar below?", - "ai_hints_detail_6_1": "([above]radar) block shows distance to an object above.
You can use this block to check which asteroid above or below exist further away.
When deciding which way to avoid the asteroid, it'll be a smarter move to go in the direction where the asteroid is further away.", + "ai_hints_detail_6_1": "([above]radar) block shows distance to an object above.\nYou can use this block to check which asteroid above or below exist further away.\nWhen deciding which way to avoid the asteroid, it'll be a smarter move to go in the direction where the asteroid is further away.", "ai_hints_content_7_1": "Use the item to avoid the asteroids.", "ai_hints_detail_7_1": "Use the item to avoid the asteroids.", "ai_hints_title_7_2": "Checking object name", "ai_hints_content_7_2": "What can I do by checking the object name in front of me?", - "ai_hints_detail_7_2": "To gain a special item, you need to check where the item is located.
Use 'object [above] is [item]' block.
By using this block, you can figure out where the item is located and move towards it.", + "ai_hints_detail_7_2": "To gain a special item, you need to check where the item is located.\nUse 'object [above] is [item]' block.\nBy using this block, you can figure out where the item is located and move towards it.", "ai_hints_content_8_1": "Use the item to help me avoid the asteroids.", "ai_hints_detail_8_1": "Use the item to help me avoid the asteroids.", "ai_hints_title_8_2": "Item", "ai_hints_content_8_2": "How do I gain special item and use it?", - "ai_hints_detail_8_2": "Even though you succeed in avoiding the asteroids, when the pathway is lined with asteroids, there is no way to avoid them. In this case, use the 'use item' block.
It will get rid of all blocks in front.
However, you can only use this block when you've gained the item by passing through the item.", + "ai_hints_detail_8_2": "Even though you succeed in avoiding the asteroids, when the pathway is lined with asteroids, there is no way to avoid them. In this case, use the 'use item' block.\nIt will get rid of all blocks in front.\nHowever, you can only use this block when you've gained the item by passing through the item.", "ai_hints_content_9_1": "Use all your skills and knowledge to go as far as you can.", "ai_hints_detail_9_1": "Use all your skills and knowledge to go as far as you can.", "ai_hints_title_9_2": "and", @@ -6177,8 +6186,8 @@ "maze_wrong_attack_obstacle": "You can't use the Attack block here.
Let's use the Attack block for Orange Mushrooms.", "maze_fail_contact_spider": "You're caught on a cobweb and can't move...", "maze_success_perfect": "Awesome! That is perfect!", - "maze_success_block_excess": "Great! You succeeded using %1 blocks!
But you can actually get there by only using %2 blocks! How about another go at it?", - "maze_success_not_essential": "Great! You succeeded using %1 blocks!
But using this block makes it easier to solve. How about another go at it?", + "maze_success_block_excess": "Great! You succeeded using %1 blocks! \n But you can actually get there by only using %2 blocks! How about another go at it?", + "maze_success_not_essential": "Great! You succeeded using %1 blocks! \nBut using this block makes it easier to solve. How about another go at it?", "maze_success_final_perfect_basic": "Okay, we found where Princess Sally is! Now you can save Princess Sally!", "maze_success_final_block_excess_basic": "Great! We found where Princess Sally is! Now you can save Princess Sally! You used %1 blocks, but you can actually succeed by only using %2 blocks! Wanna try again?", "maze_success_final_perfect_advanced": "You've reached the place where Princess Sally is! Now defeat the villain Mephisto and save Sally!", @@ -6527,9 +6536,9 @@ "cannot_add_picture": "Cannot add picture while running a project.", "cannot_add_sound": "Cannot add sound while running a project.", "cannot_add_expansion_block": "Cannot add expansion block while running a project.", - "add_object_before_edit": "Add object firstly,
to edit the shape.", + "add_object_before_edit": "Add object firstly,\nto edit the shape.", "add_table_before_edit": "Add table.", - "cannot_edit_click_to_stop": "Can not modify a project.
Click to stop", + "cannot_edit_click_to_stop": "Can not modify a project.\nClick to stop", "cannot_open_private_project": "Can not load private project. Move to home.", "cannot_save_running_project": "Can not save while running a project.", "character_gen": "Make an avarta", @@ -6771,7 +6780,7 @@ "arduino_connect_success": "", "confirm_load_header": "Project Restoration", "uploading_msg": "Uploading", - "file_size_exceeded": "
The variable or list has
too much data to upload.", + "file_size_exceeded": "\nThe variable or list has\ntoo much data to upload.", "upload_fail_msg": "Upload failed. Please try again.", "upload_not_supported_msg": "Not supported file type.", "upload_not_supported_file_msg": "Not supported file type.", @@ -7105,8 +7114,10 @@ "sound_volume_set": "Sets the volume of all the sounds played as much as the input percentage.", "sound_silent_all": "Stops all sounds currently playing.", "is_clicked": "Checks whether mouse is clicked.", + "is_object_clicked": "Checks whether object is clicked.", "is_press_some_key": "Checks whether an selected key is pressed.", "reach_something": "Checks whether the object reaches the selected point.", + "is_type": "Checks whether the input text is a number. If the input text is a number, it is judged as ’True’.", "is_included_in_list": "Checks whether selected list contains the input value.", "boolean_basic_operator": "Compare the two values entered.\n= : If the value on the left and the value on the right are the same, it is judged as 'true'.\n!= : If the value on the left and the value on the right are not the same, it is judged as 'true'.\n> : If the value on the left is more than the value on the right, it is judged as 'true'.\n< : If the value on the left is less than the value on the right, it is judged as 'true'.\n≥ : If the value on the left is more than or equal to the value on the right, it is judged as 'true'\n.≤ : If the value on the left is less than or equal to the value on the right, it is judged as 'true'.", "function_create": "Define a function by placing frequently used sets of blocks under this block. Place [name] next to [Define function] to give function a name. Pass on number of text values by placing [numeric/text value] block. Pass on boolean value of true or false by placing the [boolean value] block.", @@ -7128,7 +7139,7 @@ "calc_share": "Reports the quotient occurring from first number divided by the second number. ", "calc_mod": "Reports the remainder occurring from the first number divided by the second number.", "calc_operation": "Reports calculated values of a variety of equations relating to input numbers.", - "get_date": "Reports the values regarding the current year, month, day and time.", + "get_date": "Reports the values regarding the current year, month, day, day of the week and time.", "distance_something": "Reports the distance between the object and the selected object.", "get_sound_duration": "Reports the time length of the selected sound.", "get_user_name": "Reports the username who runs the project.", @@ -7140,6 +7151,8 @@ "get_canvas_input_value": "Reports the answer which is taken after the object asked.", "set_visible_answer": "Hide or show the response window.", "combine_something": "Combines two input texts.", + "reverse_of_string": "Reports the text that reversed input text.", + "count_match_string": "Reports the number of letters in a specific text in the input text case sensitively.", "get_variable": "Reports the value of the selected variable.", "change_variable": "Adds the input value to the selected variable.", "set_variable": "Sets the value of the selected variable to the input value.", @@ -7334,26 +7347,26 @@ "neobot_set_fnd_off": "Number indicated on FND can be turned off.", "neobot_play_note_for": "Notes in semitone units of the melody can be played by utilizing frequency oscillation. ", "rotate_by_angle_dropdown": "Rotates the object by the input number of degrees.", - "chocopi_control_button": "This block will be true if the button is pressed.


Port number(P1~P8) is automatically selected internally
It is needed only when multiple modules with the same kind are used", - "chocopi_control_event": "You can attach blocks to process when the button is pressed or released


Port number(P1~P8) is automatically selected internally
It is needed only when multiple modules with the same kind are used", - "chocopi_control_joystick": "Joystick X,Y and potentiometer has range of 0~4095.
so, around 2047 will be center value.


Port number(P1~P8) is automatically selected internally
It is needed only when multiple modules with the same kind are used", - "chocopi_dc_motor": "Two DC motors can be connected to 'DC motor' module
The motor will be supplied with maximum 5V.
Maximum value is 100 (100%), is negative value is used then it will rotate opposite direction.

Port number(P1~P8) is automatically selected internally
It is needed only when multiple modules with the same kind are used", - "chocopi_led": "LED number start from 1 and is the connecting order from the LED module.
You can assign RGB values from 0 to 255
RGB(Red Green Blue) order
To watch an LED with bright light can be painful,
so, please use small number like 0 to 5.

Port number(P1~P8) is automatically selected internally
It is needed only when multiple modules with the same kind are used", - "chocopi_motion_photogate_event": "Two photogates can be connected to 'Motion' module
A photogate is a device with light sensor facing light source in opposite side
You can attach blocks when an object blocks or unblocks light sensor


Port number(P1~P8) is automatically selected internally
It is needed only when multiple modules with the same kind are used", - "chocopi_motion_photogate_status": "Two photogates can be connected to 'Motion' module
A photogate is a device with light sensor facing light source in opposite side
This block will be true if an object blocks sensor

Port number(P1~P8) is automatically selected internally
It is needed only when multiple modules with the same kind are used", - "chocopi_motion_photogate_time": "Two photogates can be connected to 'Motion' module
A photogate is a device with light sensor facing light source in opposite side
This block will have the time when an object blocked or unblocked the sensor
It can measure time with resolution of 1/10000 sec

Port number(P1~P8) is automatically selected internally
It is needed only when multiple modules with the same kind are used", - "chocopi_motion_value": "'Motion' module has three infrared sensors
The value has range of 0~4095, the more reflection from object, the smaller the value is
It can be used to measure approximate distance between the sensor and an object
Acceleration and angular acceleration value ranges from -32768 to 32767.
You can measure inclination of the sensor using these values.

Port number(P1~P8) is automatically selected internally
It is needed only when multiple modules with the same kind are used", - "chocopi_sensor": "Temperature value is Celsius.
Relative humidity value ranges from 0 to 100%.
Light value ranges 0~4095 in log scale.
Analog value ranges from 0 to 4095.

Port number(P1~P8) is automatically selected internally.
It is needed only when multiple modules with the same kind are used", - "chocopi_servo_motor": "'Servo' module can be connected to four servo motors
Servo motors are provided with 5V
You can assign 0~200 in degree unit.
If a contineous rotational servo motor is connected, it's speed is determined by the degree value.
Center value is from 90 to 100 varying by motor model.

Port number(P1~P8) is automatically selected internally
It is needed only when multiple modules with the same kind are used", - "chocopi_touch_event": "Touch module has #1~12 connecting pads.
You can attach block to process when these pads are touched or untouched.


Port number(P1~P8) is automatically selected internally
It is needed only when multiple modules with the same kind are used", - "chocopi_touch_status": "It will be true if the pad is touched.


Port number(P1~P8) is automatically selected internally
It is needed only when multiple modules with the same kind are used", - "chocopi_touch_value": "The value will be smaller if the capacitance of the obeject is larger.
If many people hold each other's hand and touch, the value will be smaller
'Capacitance' means how many electric particles the object can hold.


Port number(P1~P8) is automatically selected internally
It is needed only when multiple modules with the same kind are used", - "boolean_and_or": "AND : Checks whether both conditions are true.
OR : Checks whether at least one of the two conditions is true.", - "check_weather": "
Checks whether the weather information of the selected date and region matches the actual weather conditions.", - "check_finedust": "
Checks whether the current fine dust information of the selected region matches the actual fine dust grade.", - "get_weather_data": "
Reports various weather information values (the lowest temperature, the highest temperature, humidity, precipitation, precipitation probability, wind speed) of the selected date and region.", - "get_current_weather_data": "
Reports the current weather information (temperature, fine dust grade) of the selected region.", - "get_today_temperature": "
Reports the today temperature of selected area and time zone.", + "chocopi_control_button": "This block will be true if the button is pressed.


Port number(P1~P8) is automatically selected internally\nIt is needed only when multiple modules with the same kind are used", + "chocopi_control_event": "You can attach blocks to process when the button is pressed or released


Port number(P1~P8) is automatically selected internally\nIt is needed only when multiple modules with the same kind are used", + "chocopi_control_joystick": "Joystick X,Y and potentiometer has range of 0~4095.
so, around 2047 will be center value.


Port number(P1~P8) is automatically selected internally\nIt is needed only when multiple modules with the same kind are used", + "chocopi_dc_motor": "Two DC motors can be connected to 'DC motor' module
The motor will be supplied with maximum 5V.
Maximum value is 100 (100%), is negative value is used then it will rotate opposite direction.

Port number(P1~P8) is automatically selected internally\nIt is needed only when multiple modules with the same kind are used", + "chocopi_led": "LED number start from 1 and is the connecting order from the LED module.
You can assign RGB values from 0 to 255
RGB(Red Green Blue) order
To watch an LED with bright light can be painful,
so, please use small number like 0 to 5.

Port number(P1~P8) is automatically selected internally\nIt is needed only when multiple modules with the same kind are used", + "chocopi_motion_photogate_event": "Two photogates can be connected to 'Motion' module
A photogate is a device with light sensor facing light source in opposite side
You can attach blocks when an object blocks or unblocks light sensor


Port number(P1~P8) is automatically selected internally\nIt is needed only when multiple modules with the same kind are used", + "chocopi_motion_photogate_status": "Two photogates can be connected to 'Motion' module
A photogate is a device with light sensor facing light source in opposite side
This block will be true if an object blocks sensor

Port number(P1~P8) is automatically selected internally\nIt is needed only when multiple modules with the same kind are used", + "chocopi_motion_photogate_time": "Two photogates can be connected to 'Motion' module
A photogate is a device with light sensor facing light source in opposite side
This block will have the time when an object blocked or unblocked the sensor
It can measure time with resolution of 1/10000 sec

Port number(P1~P8) is automatically selected internally\nIt is needed only when multiple modules with the same kind are used", + "chocopi_motion_value": "'Motion' module has three infrared sensors
The value has range of 0~4095, the more reflection from object, the smaller the value is
It can be used to measure approximate distance between the sensor and an object
Acceleration and angular acceleration value ranges from -32768 to 32767.
You can measure inclination of the sensor using these values.

Port number(P1~P8) is automatically selected internally\nIt is needed only when multiple modules with the same kind are used", + "chocopi_sensor": "Temperature value is Celsius.
Relative humidity value ranges from 0 to 100%.
Light value ranges 0~4095 in log scale.
Analog value ranges from 0 to 4095.

Port number(P1~P8) is automatically selected internally.\nIt is needed only when multiple modules with the same kind are used", + "chocopi_servo_motor": "'Servo' module can be connected to four servo motors
Servo motors are provided with 5V
You can assign 0~200 in degree unit.
If a contineous rotational servo motor is connected, it's speed is determined by the degree value.
Center value is from 90 to 100 varying by motor model.

Port number(P1~P8) is automatically selected internally\nIt is needed only when multiple modules with the same kind are used", + "chocopi_touch_event": "Touch module has #1~12 connecting pads.
You can attach block to process when these pads are touched or untouched.


Port number(P1~P8) is automatically selected internally\nIt is needed only when multiple modules with the same kind are used", + "chocopi_touch_status": "It will be true if the pad is touched.


Port number(P1~P8) is automatically selected internally\nIt is needed only when multiple modules with the same kind are used", + "chocopi_touch_value": "The value will be smaller if the capacitance of the obeject is larger.
If many people hold each other's hand and touch, the value will be smaller
'Capacitance' means how many electric particles the object can hold.


Port number(P1~P8) is automatically selected internally\nIt is needed only when multiple modules with the same kind are used", + "boolean_and_or": "AND : Checks whether both conditions are true.\nOR : Checks whether at least one of the two conditions is true.", + "check_weather": "\nChecks whether the weather information of the selected date and region matches the actual weather conditions.", + "check_finedust": "\nChecks whether the current fine dust information of the selected region matches the actual fine dust grade.", + "get_weather_data": "\nReports various weather information values (the lowest temperature, the highest temperature, humidity, precipitation, precipitation probability, wind speed) of the selected date and region.", + "get_current_weather_data": "\nReports the current weather information (temperature, fine dust grade) of the selected region.", + "get_today_temperature": "\nReports the today temperature of selected area and time zone.", "check_city_weather": "Checks whether the weather information of the selected date and region matches the actual weather conditions.", "check_city_finedust": "Checks whether the current fine dust information of the selected region matches the actual fine dust grade.", "get_city_weather_data": "Reports various weather information values (the lowest temperature, the highest temperature, humidity, precipitation, precipitation probability, wind speed) of the selected date and region.", @@ -7363,12 +7376,12 @@ "get_festival_info": "Detects the language of the input text. You can enter up to 20 charactors.", "get_translated_string": "The number of events held on the selected date and region.", "check_language": "Reports the information(Title, area, start date, end date, address, overview, homepage) about events held on the selected date and region.", - "count_disaster_behavior": "
The number of behavior-guideline's when selected natural disaster occurs.", - "get_disaster_behavior": "
Reports the information about behavior-guidelines when selected natural disaster occurs.", - "count_lifeSafety_behavior": "
The number of behavior-guideline's when selected life problem occurs.", - "get_lifeSafety_behavior": "
Reports the information about behavior-guidelines when selected life problem occurs.", + "count_disaster_behavior": "\nThe number of behavior-guideline's when selected natural disaster occurs.", + "get_disaster_behavior": "\nReports the information about behavior-guidelines when selected natural disaster occurs.", + "count_lifeSafety_behavior": "\nThe number of behavior-guideline's when selected life problem occurs.", + "get_lifeSafety_behavior": "\nReports the information about behavior-guidelines when selected life problem occurs.", "read_text": "Read the entered text in setted voice.", - "set_tts_property": "Set the selected voice to selected speed and selected pitch.
The selected voice will be set up to selected speed and selected pitch.", + "set_tts_property": "Set the selected voice to selected speed and selected pitch. \n The selected voice will be set up to selected speed and selected pitch.", "read_text_wait_with_block": "Read the entered text in setted voice then the next block runs after the reading finished.", "check_microphone": "Check whether microphone is connected with the computer.", "speech_to_text_convert": "Converts voice input into the microphone into text.", @@ -8264,7 +8277,9 @@ "get_project_timer_value": "%1 %2", "char_at": "%1 %2 %3 %4 %5", "length_of_string": "%1 %2 %3", + "reverse_of_string": "%1 %2 %3", "substring": "%1 %2 %3 %4 %5 %6 %7", + "count_match_string": "%2 %3 %4 %1", "replace_string": "%1 %2 %3 %4 %5 %6 %7", "change_string_case": "%1 %2 %3 %4 %5", "index_of_string": "%1 %2 %3 %4 %5", @@ -8524,8 +8539,10 @@ "turtle_turn_unit_with_radius_in_direction": "turn %1 %2 %3 with radius %4 cm in %5 direction %6", "turtle_value": "%1", "is_clicked": "%1", + "is_object_clicked": "%1", "is_press_some_key": "%1 %2", "reach_something": "%1 %2 %3", + "is_type": "%1 %2 %3 %4", "boolean_comparison": "%1 %2 %3", "boolean_equal": "%1 %2 %3", "boolean_bigger": "%1 %2 %3", @@ -11165,38 +11182,38 @@ "name": "variable name" }, "PythonHelper": { - "when_run_button_click_desc": "[시작하기]버튼을 클릭하면 아래 명령어들을 실행합니다.
아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", + "when_run_button_click_desc": "[시작하기]버튼을 클릭하면 아래 명령어들을 실행합니다.\n아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", "when_run_button_click_exampleCode": "def when_start():\n Entry.print(\\\"안녕!\\\")", "when_run_button_click_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 \\\"안녕!\\\"이라 말합니다.", - "when_some_key_pressed_desc": "A키를 누르면 아래 명령어들을 실행합니다.
아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", - "when_some_key_pressed_elements": "A-- 아래 선택지 중 하나
① 알파벳 : \\\"A\\\", \\\"B\\\" ~ \\\"Z\\\" 등(소문자 가능)
② 숫자 : 1, 2, 3, 4 ~ 9, 0
③ 특수키 : \\\"space\\\", \\\"enter\\\"
④ 방향키 : \\\"up\\\", \\\"down\\\", \\\"right\\\", \\\"left\\\"", + "when_some_key_pressed_desc": "A키를 누르면 아래 명령어들을 실행합니다.\n아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", + "when_some_key_pressed_elements": "A-- 아래 선택지 중 하나\n① 알파벳 : \\\"A\\\", \\\"B\\\" ~ \\\"Z\\\" 등(소문자 가능)\n② 숫자 : 1, 2, 3, 4 ~ 9, 0\n③ 특수키 : \\\"space\\\", \\\"enter\\\"\n④ 방향키 : \\\"up\\\", \\\"down\\\", \\\"right\\\", \\\"left\\\"", "when_some_key_pressed_exampleCode": "def when_press_key(\\\"W\\\"):\n Entry.move_to_direction(10)\n\ndef when_press_key(1):\n Entry.add_size(10)", "when_some_key_pressed_exampleDesc": "W키를 누르면 오브젝트가 이동방향으로 10만큼 이동하고, 1키를 누르면 오브젝트의 크기가 10만큼 커집니다.", - "mouse_clicked_desc": "마우스를 클릭했을 때 아래 명령어들을 실행합니다.
아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", + "mouse_clicked_desc": "마우스를 클릭했을 때 아래 명령어들을 실행합니다.\n아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", "mouse_clicked_exampleCode": "def when_click_mouse_on():\n Entry.add_size(10)\n Entry.move_to_direction(10)", "mouse_clicked_exampleDesc": "마우스를 클릭하면 오브젝트의 크기가 10만큼 커지면서 이동방향으로 10만큼 이동합니다.", - "mouse_click_cancled_desc": "마우스 클릭을 해제했을 때 아래 명령어들을 실행합니다.
아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", + "mouse_click_cancled_desc": "마우스 클릭을 해제했을 때 아래 명령어들을 실행합니다.\n아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", "mouse_click_cancled_exampleCode": "def when_click_mouse_off():\n Entry.move_to_direction(-10)\n\ndef when_click_mouse_on():\n Entry.move_to_direction(10)", "mouse_click_cancled_exampleDesc": "마우스를 클릭하면 오브젝트가 이동방향으로 10만큼 이동하고, 마우스 클릭을 해제하면 오브젝트가 이동방향으로 -10만큼 이동합니다.", - "when_object_click_desc": "해당 오브젝트를 클릭했을 때 아래 명령어들을 실행합니다.
아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", + "when_object_click_desc": "해당 오브젝트를 클릭했을 때 아래 명령어들을 실행합니다.\n아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", "when_object_click_exampleCode": "def when_click_object_on():\n Entry.print_for_sec(\\\"회전!\\\", 0.5)\n Entry.add_rotation(90)", "when_object_click_exampleDesc": "오브젝트를 클릭하면 오브젝트가 \\\"회전!\\\"이라 말하고, 90도 만큼 회전합니다.", - "when_object_click_canceled_desc": "해당 오브젝트 클릭을 해제했을 때 아래 명령어들을 실행합니다.
아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", + "when_object_click_canceled_desc": "해당 오브젝트 클릭을 해제했을 때 아래 명령어들을 실행합니다.\n아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", "when_object_click_canceled_exampleCode": "def when_click_object_on():\n Entry.add_rotation(90)\n\ndef when_click_object_off():\n Entry.add_rotation(-90)", "when_object_click_canceled_exampleDesc": "오브젝트를 클릭하면 오브젝트가 90도 만큼 회전하고, 오브젝트 클릭을 해제하면 오브젝트가 -90도 만큼 회전합니다.", - "when_message_cast_desc": "A 신호를 받으면 아래 명령어들을 실행합니다.
아래 명령어는 [Tab]키를 통해 들여쓰기합니다.
만약 A 신호가 없으면 [속성] 탭에 A 신호가 자동 생성됩니다.", + "when_message_cast_desc": "A 신호를 받으면 아래 명령어들을 실행합니다.\n아래 명령어는 [Tab]키를 통해 들여쓰기합니다.\n만약 A 신호가 없으면 [속성] 탭에 A 신호가 자동 생성됩니다.", "when_message_cast_elements": "A-- \\\"신호 이름\\\"", "when_message_cast_exampleCode": "def when_click_mouse_on():\n Entry.send_signal(\\\"신호\\\")\n\ndef when_get_signal(\\\"신호\\\"):\n Entry.print_for_sec(\\\"안녕! 반가워\\\", 0.5)", "when_message_cast_exampleDesc": "마우스를 클릭하면 \\\"신호\\\"를 보내고, \\\"신호\\\"를 받았을때 \\\"안녕! 반가워\\\"라고 0.5초간 말합니다.", - "message_cast_desc": "A에 입력된 신호를 보냅니다.
만약 A 신호가 없으면 [속성] 탭에 A 신호가 자동 생성됩니다.", + "message_cast_desc": "A에 입력된 신호를 보냅니다.\n만약 A 신호가 없으면 [속성] 탭에 A 신호가 자동 생성됩니다.", "message_cast_elements": "A-- \\\"신호 이름\\\"", "message_cast_exampleCode": "#\\\"오브젝트1\\\"의 파이선 코드\ndef when_start():\n Entry.print_for_sec(\\\"안녕! 넌 몇살이니?\\\", 2)\n Entry.send_signal(\\\"신호\\\")\n\n#\\\"오브젝트2\\\"의 파이선 코드\ndef when_get_signal(\\\"신호\\\"):\n Entry.print_for_sec(\\\"안녕? 난 세 살이야.\\\", 2)", "message_cast_exampleDesc": "[시작하기]버튼을 클릭하면 \\\"오브젝트1\\\"이 \\\"안녕! 넌 몇살이니?\\\"라고 2초간 말하고 \\\"신호를 보냅니다., \\\"오브젝트2\\\"가 \\\"신호\\\"를 받았을때 \\\"안녕? 난 세 살이야.\\\"라고 2초간 말합니다.", - "message_cast_wait_desc": "A에 입력된 신호를 보내고, 해당 신호를 받는 명령어들의 실행이 끝날 때까지 기다립니다.
만약 A 신호가 없으면 [속성] 탭에 A 신호가 자동 생성됩니다.", + "message_cast_wait_desc": "A에 입력된 신호를 보내고, 해당 신호를 받는 명령어들의 실행이 끝날 때까지 기다립니다.\n만약 A 신호가 없으면 [속성] 탭에 A 신호가 자동 생성됩니다.", "message_cast_wait_elements": "A-- \\\"신호 이름\\\"", "message_cast_wait_exampleCode": "#\\\"오브젝트1\\\"의 파이선 코드\ndef when_start():\n Entry.print_for_sec(\\\"숨바꼭질하자!\\\", 2)\n Entry.send_signal_wait(\\\"신호\\\")\n Entry.hide()\n\n#\\\"오브젝트2\\\"의 파이선 코드\ndef when_get_signal(\\\"신호\\\"):\n Entry.print_for_sec(\\\"그래!\\\", 2)", "message_cast_wait_exampleDesc": "[시작하기]버튼을 클릭하면 \\\"오브젝트1\\\"이 \\\"숨바꼭질하자!\\\"라고 2초 동안 말하고 \\\"신호\\\"를 보낸 후 기다립니다. \\\"오브젝트2\\\"가 \\\"신호\\\"를 받으면 \\\"그래!\\\"를 2초 동안 말합니다. \\\"오브젝트1\\\"이 그 후에 모양을 숨깁니다.", - "when_scene_start_desc": "장면이 시작되면 아래 명령어들을 실행합니다.
아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", + "when_scene_start_desc": "장면이 시작되면 아래 명령어들을 실행합니다.\n아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", "when_scene_start_exampleCode": "#\\\"장면 1\\\"의 파이선 코드\ndef when_start():\n Entry.print_for_sec(\\\"다른 곳으로 가볼까?\\\", 2)\n Entry.start_scene(\\\"장면 2\\\")\n\n#\\\"장면 2\\\"의 파이선 코드\ndef when_start_scene():\n Entry.print(\\\"여기가 어디지?\\\")", "when_scene_start_exampleDesc": "\\\"장면 1\\\"에서 [시작하기]버튼을 클릭하면 \\\"다른 곳으로 가볼까?\\\"라고 2초간 말하고, \\\"장면 2\\\"가 시작됩니다. \\\"장면 2\\\"가 시작되면 오브젝트가 \\\"여기가 어디지?\\\"라고 말합니다.", "start_scene_desc": "A 장면을 시작합니다.", @@ -11204,52 +11221,52 @@ "start_scene_exampleCode": "#\\\"장면 1\\\"의 파이선 코드\ndef when_click_object_on():\n Entry.start_scene(\\\"장면 2\\\")", "start_scene_exampleDesc": "\\\"장면 1\\\"에서 해당 오브젝트를 클릭하면 \\\"장면 2\\\"가 시작됩니다.", "start_neighbor_scene_desc": "A에 입력한 다음 또는 이전 장면을 시작합니다.", - "start_neighbor_scene_elements": "A-- 아래 선택지 중 하나
① 다음 장면: \\\"next\\\" 또는 \\\"다음\\\"
② 이전 장면: \\\"prev\\\" 또는 \\\"이전\\\"", + "start_neighbor_scene_elements": "A-- 아래 선택지 중 하나\n① 다음 장면: \\\"next\\\" 또는 \\\"다음\\\"\n② 이전 장면: \\\"prev\\\" 또는 \\\"이전\\\"", "start_neighbor_scene_exampleCode": "#\\\"장면 1\\\"의 파이선 코드\ndef when_press_key(\\\"right\\\"):\n Entry.start_scene_of(\\\"next\\\")\n\n#\\\"장면 2\\\"의 파이선 코드\ndef when_press_key(\\\"left\\\"):\n Entry.start_scene_of(\\\"prev\\\")", "start_neighbor_scene_exampleDesc": "\\\"장면 1\\\"에서 오른쪽화살표키를 누르면 다음 장면이, \\\"장면 2\\\"에서 왼쪽화살표키를 누르면 이전 장면이 시작됩니다.", "wait_second_desc": "A초만큼 기다린 후 다음 블록을 실행합니다.", "wait_second_elements": "A-- 초에 해당하는 수 입력", "wait_second_exampleCode": "def when_start():\n Entry.add_effect(\\\"color\\\", 10)\n Entry.wait_for_sec(2)\n Entry.add_size(10)", "wait_second_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트에 색깔효과를 10만큼 주고, 2초동안 기다린 다음 크기를 10만큼 커지게 합니다.", - "repeat_basic_desc": "아래 명령어들을 A번 반복하여 실행합니다.
아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", + "repeat_basic_desc": "아래 명령어들을 A번 반복하여 실행합니다.\n아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", "repeat_basic_elements": "A-- 반복할 횟수 입력", "repeat_basic_exampleCode": "def when_start():\n for i in range(10):\n Entry.move_to_direction(10)\n Entry.stamp()", "repeat_basic_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 이동방향으로 10만큼 이동하고, 도장찍는 행동을 10번 반복합니다.", - "repeat_inf_desc": "A 판단이 True인 동안 아래 명령어들을 반복 실행합니다. A에 True를 입력하면 계속 반복됩니다.
아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", - "repeat_inf_elements": "A-- True 또는 False로 판단할 수 있는 명령어 입력(판단 카테고리의 명령어)
① True, False
② 10 == 10 , 10 > 10 , 10 <= 10 등
③ Entry.is_mouse_clicked(), Entry.is_key_pressed(\\\"Q\\\") 등", + "repeat_inf_desc": "A 판단이 True인 동안 아래 명령어들을 반복 실행합니다. A에 True를 입력하면 계속 반복됩니다. \n아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", + "repeat_inf_elements": "A-- True 또는 False로 판단할 수 있는 명령어 입력(판단 카테고리의 명령어)\n① True, False\n② 10 == 10 , 10 > 10 , 10 <= 10 등\n③ Entry.is_mouse_clicked(), Entry.is_key_pressed(\\\"Q\\\") 등", "repeat_inf_exampleCode": "def when_start():\n while True:\n Entry.move_to_direction(10)\n Entry.bounce_on_edge()", "repeat_inf_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 계속해서 이동방향으로 10만큼 이동하고, 벽에 닿으면 튕깁니다.", - "repeat_while_true_desc": "A 판단이 True가 될 때까지 아래 명령어들을 반복 실행합니다.
아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", - "repeat_while_true_elements": "A-- True 또는 False로 판단할 수 있는 명령어 입력(판단 카테고리의 명령어)
① True, False
② 10 == 10 , 10 > 10 , 10 <= 10 등
③ Entry.is_mouse_clicked(), Entry.is_key_pressed(\\\"Q\\\") 등", + "repeat_while_true_desc": "A 판단이 True가 될 때까지 아래 명령어들을 반복 실행합니다.\n아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", + "repeat_while_true_elements": "A-- True 또는 False로 판단할 수 있는 명령어 입력(판단 카테고리의 명령어)\n① True, False\n② 10 == 10 , 10 > 10 , 10 <= 10 등\n③ Entry.is_mouse_clicked(), Entry.is_key_pressed(\\\"Q\\\") 등", "repeat_while_true_exampleCode": "def when_start():\n while not Entry.is_key_pressed(\\\"space\\\"):\n Entry.add_rotation(90)", "repeat_while_true_exampleDesc": "[시작하기]버튼을 클릭하면 스페이스키를 누를때까지 오브젝트가 90도 만큼 회전합니다.", "stop_repeat_desc": "이 명령어와 가장 가까운 반복 명령어의 반복을 중단합니다.", "stop_repeat_exampleCode": "def when_start():\n while True:\n Entry.move_to_direction(10)\n if Entry.is_key_pressed(\\\"enter\\\"):\n break", "stop_repeat_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 이동방향으로 10만큼 계속 이동합니다. 엔터키를 누르면 반복이 중단됩니다.", - "_if_desc": "A 부분의 판단이 True이면 if A:아래 명령어들을 실행하고, False이면 실행하지 않습니다.
아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", - "_if_elements": "A-- True 또는 False로 판단할 수 있는 명령어 입력(판단 카테고리의 명령어)
① True, False
② 10 == 10 , 10 > 10 , 10 <= 10 등
③ Entry.is_mouse_clicked(), Entry.is_key_pressed(\\\"Q\\\") 등", + "_if_desc": "A 부분의 판단이 True이면 if A:아래 명령어들을 실행하고, False이면 실행하지 않습니다.\n아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", + "_if_elements": "A-- True 또는 False로 판단할 수 있는 명령어 입력(판단 카테고리의 명령어)\n① True, False\n② 10 == 10 , 10 > 10 , 10 <= 10 등\n③ Entry.is_mouse_clicked(), Entry.is_key_pressed(\\\"Q\\\") 등", "_if_exampleCode": "def when_click_mouse_on():\n if (Entry.value_of_mouse_pointer(\\\"x\\\") > 0):\n Entry.print_for_sec(\\\"오른쪽!\\\", 0.5)", "_if_exampleDesc": "마우스를 클릭했을 때 마우스 x좌표가 0보다 크면 오브젝트가 \\\"오른쪽!\\\"이라고 0.5초 동안 말합니다.", - "if_else_desc": "A 부분의 판단이 True이면 if A: 아래 명령어들을 실행하고, False이면 else: 아래 명령어들을 실행합니다.
아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", - "if_else_elements": "A-- True 또는 False로 판단할 수 있는 명령어 입력(판단 카테고리의 명령어)
① True, False
② 10 == 10 , 10 > 10 , 10 <= 10 등
③ Entry.is_mouse_clicked(), Entry.is_key_pressed(\\\"Q\\\") 등", + "if_else_desc": "A 부분의 판단이 True이면 if A: 아래 명령어들을 실행하고, False이면 else: 아래 명령어들을 실행합니다.\n아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", + "if_else_elements": "A-- True 또는 False로 판단할 수 있는 명령어 입력(판단 카테고리의 명령어)\n① True, False\n② 10 == 10 , 10 > 10 , 10 <= 10 등\n③ Entry.is_mouse_clicked(), Entry.is_key_pressed(\\\"Q\\\") 등", "if_else_exampleCode": "def when_click_mouse_on():\n if Entry.is_touched(\\\"mouse_pointer\\\"):\n Entry.print(\\\"닿았다!\\\")\n else:\n Entry.print(\\\"안 닿았다!\\\")", "if_else_exampleDesc": "마우스를 클릭했을 때 마우스포인터가 오브젝트에 닿았으면 \\\"닿았다!\\\"를 그렇지 않으면 \\\"안 닿았다!\\\"를 말합니다.", "wait_until_true_desc": "A 부분의 판단이 True가 될 때까지 코드의 실행을 멈추고 기다립니다.", - "wait_until_true_elements": "A-- True 또는 False로 판단할 수 있는 명령어 입력(판단 카테고리의 명령어)
① True, False
② 10 == 10 , 10 > 10 , 10 <= 10 등
③ Entry.is_mouse_clicked(), Entry.is_key_pressed(\\\"Q\\\") 등", + "wait_until_true_elements": "A-- True 또는 False로 판단할 수 있는 명령어 입력(판단 카테고리의 명령어)\n① True, False\n② 10 == 10 , 10 > 10 , 10 <= 10 등\n③ Entry.is_mouse_clicked(), Entry.is_key_pressed(\\\"Q\\\") 등", "wait_until_true_exampleCode": "def when_start():\n Entry.print(\\\"엔터를 눌러봐!\\\")\n Entry.wait_until(Entry.is_key_pressed(\\\"enter\\\"))\n Entry.print(\\\"잘했어!\\\")", "wait_until_true_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 \\\"엔터를 눌러봐!\\\"라 말하고, 엔터키를 누를 때까지 기다립니다. 엔터키를 누르면 \\\"잘했어!\\\"라 말합니다.", "stop_object_desc": "A코드의 실행을 중지합니다.", - "stop_object_elements": "A-- 아래 선택지 중 하나
① \\\"all\\\": 모든 오브젝트의 모든 코드
② \\\"self\\\" : 해당 오브젝트의 모든 코드
③ \\\"this\\\": 이 명령어가 포함된 코드
④ \\\"others\\\" : 해당 오브젝트의 코드 중 이 명령어가 포함된 코드를 제외한 모든 코드
⑤ \\\"ohter_objects\\\" : 이 오브젝트를 제외한 다른 모든 오브젝트의 코드", + "stop_object_elements": "A-- 아래 선택지 중 하나\n① \\\"all\\\": 모든 오브젝트의 모든 코드\n② \\\"self\\\" : 해당 오브젝트의 모든 코드\n③ \\\"this\\\": 이 명령어가 포함된 코드\n④ \\\"others\\\" : 해당 오브젝트의 코드 중 이 명령어가 포함된 코드를 제외한 모든 코드
⑤ \\\"ohter_objects\\\" : 이 오브젝트를 제외한 다른 모든 오브젝트의 코드", "stop_object_exampleCode": "def when_start():\n while True:\n Entry.move_to(\\\"mouse_pointer\\\")\n\ndef when_press_key(\\\"space\\\"):\n Entry.stop_code(\\\"all\\\")\n", "stop_object_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 계속해서 마우스포인터 위치로 이동합니다. 스페이스키를 누르면 모든 코드의 실행이 중지됩니다.", "restart_project_desc": "작품을 처음부터 다시 실행합니다.", "restart_project_exampleCode": "def when_start():\n while True:\n Entry.add_size(10)\n\ndef when_press_key(\\\"enter\\\"):\n Entry.start_again()", "restart_project_exampleDesc": "[시작하기]버튼을 클릭하면 계속해서 오브젝트의 크기가 커집니다. 엔터키를 누르면 작품을 처음부터 다시 실행합니다.", - "when_clone_start_desc": "해당 오브젝트의 복제본이 새로 생성되었을 때 아래 명령어들을 실행합니다.
아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", + "when_clone_start_desc": "해당 오브젝트의 복제본이 새로 생성되었을 때 아래 명령어들을 실행합니다.\n아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", "when_clone_start_exampleCode": "def when_start():\n for i in range(5):\n Entry.make_clone_of(\\\"self\\\")\n\ndef when_make_clone():\n Entry.set_x(random.randint(-200, 200))", "when_clone_start_exampleDesc": "[시작하기]버튼을 클릭하면 자신의 복제본 5개를 만듭니다. 복제본이 새로 생성되었을때 복제본의 x좌표를 -200에서 200사이의 무작위수로 정합니다.", "create_clone_desc": "A 오브젝트의 복제본을 생성합니다.", - "create_clone_elements": "A-- 아래 선택지 중 하나
① \\\"오브젝트 이름\\\"
② \\\"self\\\" 또는 \\\"자신\\\"", + "create_clone_elements": "A-- 아래 선택지 중 하나\n① \\\"오브젝트 이름\\\"\n② \\\"self\\\" 또는 \\\"자신\\\"", "create_clone_exampleCode": "def when_start():\n for i in range(5):\n Entry.make_clone_of(\\\"self\\\")\n\ndef when_make_clone():\n Entry.set_x(random.randint(-200, 200))", "create_clone_exampleDesc": "[시작하기]버튼을 클릭하면 자신의 복제본 5개를 만듭니다. 복제본이 새로 생성되었을때 복제본의 x좌표를 -200에서 200사이의 무작위수로 정합니다.", "delete_clone_desc": "Entry.make_clone_of(A) 명령에 의해 생성된 복제본을 삭제합니다.", @@ -11266,15 +11283,15 @@ "bounce_wall_exampleCode": "def when_start():\n while True:\n Entry.move_to_direction(10)\n Entry.bounce_on_edge()", "bounce_wall_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 계속해서 이동방향으로 10만큼 이동하고, 벽에 닿으면 튕깁니다.", "move_x_desc": "오브젝트의 x좌표를 A만큼 바꿉니다.", - "move_x_elements": "A-- x좌표의 변화 값
① 양수: 오브젝트가 오른쪽으로 이동합니다.
② 음수: 오브젝트가 왼쪽으로 이동합니다.", + "move_x_elements": "A-- x좌표의 변화 값\n① 양수: 오브젝트가 오른쪽으로 이동합니다.\n② 음수: 오브젝트가 왼쪽으로 이동합니다.", "move_x_exampleCode": "def when_start():\n Entry.add_x(10)\n Entry.wait_for_sec(2)\n Entry.add_x(-10)", "move_x_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 오른쪽으로 10만큼 이동하고 2초 동안 기다린 후 왼쪽으로 10만큼 이동합니다.", "move_y_desc": "오브젝트의 y좌표를 A만큼 바꿉니다.", - "move_y_elements": "A-- y좌표의 변화 값
① 양수: 오브젝트가 위쪽으로 이동합니다.
② 음수: 오브젝트가 아래쪽으로 이동합니다.", + "move_y_elements": "A-- y좌표의 변화 값\n① 양수: 오브젝트가 위쪽으로 이동합니다.\n② 음수: 오브젝트가 아래쪽으로 이동합니다.", "move_y_exampleCode": "def when_start():\n Entry.add_y(10)\n Entry.wait_for_sec(2)\n Entry.add_y(-10)", "move_y_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 위쪽으로 10만큼 이동하고 2초 동안 기다린 후 아래쪽으로 10만큼 이동합니다.", "move_xy_time_desc": "오브젝트가 x와 y좌표를 각각 A와 B만큼 C초에 걸쳐 서서히 바꿉니다.", - "move_xy_time_elements": "A-- x좌표의 변화 값
① 양수: 오브젝트가 오른쪽으로 이동합니다.
② 음수: 오브젝트가 왼쪽으로 이동합니다.%nextB-- y좌표의 변화 값
① 양수: 오브젝트가 위쪽으로 이동합니다.
② 음수: 오브젝트가 아래쪽으로 이동합니다.%nextC-- 이동하는 시간(초)", + "move_xy_time_elements": "A-- x좌표의 변화 값\n① 양수: 오브젝트가 오른쪽으로 이동합니다.\n② 음수: 오브젝트가 왼쪽으로 이동합니다.%nextB-- y좌표의 변화 값\n① 양수: 오브젝트가 위쪽으로 이동합니다.\n② 음수: 오브젝트가 아래쪽으로 이동합니다.%nextC-- 이동하는 시간(초)", "move_xy_time_exampleCode": "def when_start():\n Entry.add_xy_for_sec(100, 100, 2)\n Entry.add_xy_for_sec(-100, -100, 2)", "move_xy_time_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 오른쪽 위로 100만큼 2초 동안 이동한 후 왼쪽 아래로 100만큼 2초 동안 이동합니다.", "locate_x_desc": "오브젝트의 x좌표를 A로 정합니다. (오브젝트의 중심점이 기준이 됩니다.)", @@ -11294,11 +11311,11 @@ "locate_xy_time_exampleCode": "def when_click_mouse_on():\n Entry.set_xy_for_sec(0, 0, 2)\n\ndef when_press_key(\\\"right\\\"):\n Entry.add_x(10)\n\ndef when_press_key(\\\"up\\\"):\n Entry.add_y(10)", "locate_xy_time_exampleDesc": "오른쪽화살표키를 누르면 오브젝트의 x좌표를 10만큼 바꾸고, 위쪽화살표키를 누르면 오브젝트의 y좌표를 10만큼 바꿉니다. 마우스를 클릭하면 2초 동안 오브젝트를 x,y 좌표 0으로 이동시킵니다.", "locate_desc": "오브젝트가 A의 위치로 이동합니다. (오브젝트의 중심점이 기준이 됩니다.)", - "locate_elements": "A-- 아래 선택지 중 하나
① \\\"오브젝트 이름\\\"
② \\\"mouse_pointer\\\" 또는 \\\"마우스포인터\\\"", + "locate_elements": "A-- 아래 선택지 중 하나\n① \\\"오브젝트 이름\\\"\n② \\\"mouse_pointer\\\" 또는 \\\"마우스포인터\\\"", "locate_exampleCode": "def when_click_mouse_on():\n Entry.move_to(\\\"mouse_pointer\\\")\n\ndef when_press_key(\\\"space\\\"):\n Entry.move_to(\\\"오브젝트\\\")", - "locate_exampleDesc": "마우스를 클릭하면 오브젝트가 마우스포인터 위치로 이동합니다.
스페이스키를 누르면 오브젝트가 \\\"오브젝트\\\" 위치로 이동합니다.", + "locate_exampleDesc": "마우스를 클릭하면 오브젝트가 마우스포인터 위치로 이동합니다.\n스페이스키를 누르면 오브젝트가 \\\"오브젝트\\\" 위치로 이동합니다.", "locate_object_time_desc": "오브젝트가 A의 위치로 B초에 걸쳐 서서히 이동합니다. (오브젝트의 중심점이 기준이 됩니다.)", - "locate_object_time_elements": "A-- 아래 선택지 중 하나
① \\\"오브젝트 이름\\\"
② \\\"mouse_pointer\\\" 또는 \\\"마우스포인터\\\" %nextB-- 이동하는 시간(초)", + "locate_object_time_elements": "A-- 아래 선택지 중 하나\n① \\\"오브젝트 이름\\\"\n② \\\"mouse_pointer\\\" 또는 \\\"마우스포인터\\\" %nextB-- 이동하는 시간(초)", "locate_object_time_exampleCode": "def when_click_mouse_on():\n Entry.move_to_for_sec(\\\"mouse_pointer\\\", 2)", "locate_object_time_exampleDesc": "마우스를 클릭하면 오브젝트가 2초 동안 서서히 마우스포인터 위치로 이동합니다.", "rotate_relative_desc": "오브젝트의 방향을 A도만큼 시계방향으로 회전합니다. (오브젝트의 중심점을 기준으로 회전합니다.)", @@ -11326,7 +11343,7 @@ "direction_absolute_exampleCode": "def when_press_key(\\\"right\\\"):\n Entry.set_direction(90)\n Entry.move_to_direction(10)\n\ndef when_press_key(\\\"left\\\"):\n Entry.set_direction(270)\n Entry.move_to_direction(10)", "direction_absolute_exampleDesc": "오른쪽화살표키를 누르면 오브젝트의 이동방향을 90으로 정한 후 해당 쪽으로 10만큼 이동하고, 왼쪽화살표키를 누르면 오브젝트의 이동방향을 270으로 정하고 해당쪽으로 10만큼 이동합니다.", "see_angle_object_desc": "오브젝트가 A쪽을 바라봅니다. (이동방향이 A를 향하도록 오브젝트의 방향을 회전해줍니다.)", - "see_angle_object_elements": "A-- 아래 선택지 중 하나
① \\\"오브젝트 이름\\\"
② \\\"mouse_pointer\\\" 또는 \\\"마우스포인터\\\"", + "see_angle_object_elements": "A-- 아래 선택지 중 하나\n① \\\"오브젝트 이름\\\"\n② \\\"mouse_pointer\\\" 또는 \\\"마우스포인터\\\"", "see_angle_object_exampleCode": "def when_click_mouse_on():\n Entry.look_at(\\\"mouse_pointer\\\")\n\ndef when_press_key(\\\"space\\\"):\n Entry.look_at(\\\"오브젝트\\\")", "see_angle_object_exampleDesc": "마우스를 클릭하면 오브젝트가 마우스포인터쪽을 바라보고, 스페이스키를 누르면 \\\"오브젝트\\\"쪽을 바라봅니다.", "move_to_angle_desc": "오브젝트가 A만큼 B방향으로 움직입니다.", @@ -11340,30 +11357,30 @@ "hide_exampleCode": "def when_start():\n Entry.wait_for_sec(1)\n Entry.hide()\n Entry.wait_for_sec(1)\n Entry.show()", "hide_exampleDesc": "[시작하기]버튼을 클릭하면 1초 뒤에 오브젝트 모양이 숨겨지고, 다음 1초 뒤에 오브젝트 모양이 나타납니다.", "dialog_time_desc": "오브젝트가 A를 B초 동안 말풍선으로 말한 후 다음 명령어가 실행됩니다. 콘솔창에서도 실행 결과를 볼 수 있습니다.", - "dialog_time_elements": "A-- 말할 내용
① 문자 : \\\"안녕!\\\", \\\"엔트리\\\" 등
② 숫자 : 0, 10, 35 등%nextB-- 말하는 시간(초)", + "dialog_time_elements": "A-- 말할 내용\n① 문자 : \\\"안녕!\\\", \\\"엔트리\\\" 등 \n② 숫자 : 0, 10, 35 등%nextB-- 말하는 시간(초)", "dialog_time_exampleCode": "def when_start():\n Entry.print_for_sec(\\\"안녕! 나는\\\", 2)\n Entry.print_for_sec(16, 2)\n Entry.print_for_sec(\\\"살이야\\\", 2)", "dialog_time_exampleDesc": "[시작하기]버튼을 클릭하면 \\\"안녕! 나는\\\", 16, \\\"살이야\\\"를 각각 2초 동안 차례대로 말합니다.", "dialog_desc": "오브젝트가 A를 말풍선으로 말합니다. 콘솔창에서도 실행 결과를 볼 수 있습니다.", - "dialog_elements": "A-- 말할 내용
① 문자 : \\\"안녕!\\\", \\\"엔트리\\\" 등
② 숫자 : 0, 10, 35 등", + "dialog_elements": "A-- 말할 내용\n① 문자 : \\\"안녕!\\\", \\\"엔트리\\\" 등 \n② 숫자 : 0, 10, 35 등", "dialog_exampleCode": "def when_start():\n Entry.print(\\\"키보드로 숫자 1,2 를 누르면 숫자를 말해볼게\\\")\n\ndef when_press_key(1):\n Entry.print(1)\n\ndef when_press_key(2):\n Entry.print(2)\n", "dialog_exampleDesc": "[시작하기]버튼을 클릭하면 \\\"키보드로 숫자 1,2 를 누르면 숫자를 말해볼게\\\"를 말하고, 키보드로 1, 2를 누르면 각각 1, 2라 말합니다.", "remove_dialog_desc": "오브젝트가 말하고 있는 말풍선을 지웁니다.", "remove_dialog_exampleCode": "def when_start():\n Entry.print(\\\"말풍선을 지우려면 엔터를 눌러!\\\")\n\ndef when_press_key(\\\"enter\\\"):\n Entry.clear_print()", "remove_dialog_exampleDesc": "[시작하기]버튼을 클릭하면 \\\"말풍선을 지우려면 엔터를 눌러!\\\"라 말하고, 엔터키를 누르면 말풍선이 사라집니다.", "change_to_some_shape_desc": "오브젝트를 A 모양으로 바꿉니다.", - "change_to_some_shape_elements": "A-- 아래 선택지 중 하나
① 모양 이름 : [속성] 탭의 \\\"모양 이름\\\"을 적음
② 모양 번호 : [속성] 탭의 모양 번호를 적음", + "change_to_some_shape_elements": "A-- 아래 선택지 중 하나\n① 모양 이름 : [속성] 탭의 \\\"모양 이름\\\"을 적음\n② 모양 번호 : [속성] 탭의 모양 번호를 적음", "change_to_some_shape_exampleCode": "def when_start():\n Entry.wait_for_sec(0.3)\n Entry.change_shape(\\\"오브젝트모양\\\")\n Entry.wait_for_sec(0.3)\n Entry.change_shape(\\\"오브젝트모양\\\")", "change_to_some_shape_exampleDesc": "[시작하기]버튼을 클릭하면 0.3초간 기다린 다음 \\\"오브젝트모양\\\"으로 모양을 바꾸고 0.3초간 기다린 다음 \\\"오브젝트모양\\\"모양으로 모양을 바꿉니다.", "change_to_next_shape_desc": "오브젝트의 모양을 다음 또는 이전 모양으로 바꿉니다.", - "change_to_next_shape_elements": "A-- 아래 선택지 중 하나
① 다음 모양 : \\\"next\\\" 또는 \\\"다음\\\"
② 이전 모양 : \\\"pre\\\" 또는 \\\"이전\\\"", + "change_to_next_shape_elements": "A-- 아래 선택지 중 하나\n① 다음 모양 : \\\"next\\\" 또는 \\\"다음\\\" \n② 이전 모양 : \\\"pre\\\" 또는 \\\"이전\\\"", "change_to_next_shape_exampleCode": "def when_start():\n Entry.wait_for_sec(0.3)\n Entry.change_shape_to(\\\"next\\\")\n Entry.wait_for_sec(0.3)\n Entry.change_shape_to(\\\"pre\\\")", "change_to_next_shape_exampleDesc": "[시작하기]버튼을 클릭하면 0.3초간 기다린 다음 모양으로 오브젝트 모양을 바꾸고 0.3초간 기다린 다음 이전 모양으로 오브젝트 모양을 바꿉니다.", "add_effect_amount_desc": "오브젝트에 A 효과를 B만큼 줍니다.", - "add_effect_amount_elements": "A -- 아래 선택지 중 하나
① “color” 또는 “색깔“
② “brightness” 또는 “밝기”
③ “transparency” 또는 “투명도”%nextB-- 효과의 변화 정도", + "add_effect_amount_elements": "A -- 아래 선택지 중 하나\n① “color” 또는 “색깔“ \n② “brightness” 또는 “밝기” \n③ “transparency” 또는 “투명도”%nextB-- 효과의 변화 정도", "add_effect_amount_exampleCode": "def when_click_mouse_on():\n Entry.add_effect(\\\"color\\\", 50)\n Entry.wait_for_sec(1)\n Entry.add_effect(\\\"brightness\\\", -50)\n Entry.wait_for_sec(1)\n Entry.add_effect(\\\"transparency\\\", 50)", "add_effect_amount_exampleDesc": "마우스를 클릭하면 오브젝트에 색깔 효과를 50만큼 주고 1초간 기다리고, 밝기 효과를 -50만큼 주고 1초간 기다립니다. 그 후 투명도 효과를 50만큼 줍니다.", "change_effect_amount_desc": "오브젝트의 A 효과를 B로 정합니다.", - "change_effect_amount_elements": "A-- 아래 선택지 중 하나
① “color” 또는 “색깔“
② “brightness” 또는 “밝기”
③ “transparency” 또는 “투명도”%nextB-- 효과의 값
① color: 0~100 범위의 수, 100을 주기로 반복됨
② brightness: -100~100 사이 범위의 수, -100이하는 -100 으로 100 이상은 100 으로 처리 됨
③ transparency: 0~100 사이 범위의 수, 0 이하는 0으로, 100이상은 100으로 처리 됨", + "change_effect_amount_elements": "A-- 아래 선택지 중 하나\n① “color” 또는 “색깔“ \n② “brightness” 또는 “밝기” \n③ “transparency” 또는 “투명도”%nextB-- 효과의 값\n① color: 0~100 범위의 수, 100을 주기로 반복됨\n② brightness: -100~100 사이 범위의 수, -100이하는 -100 으로 100 이상은 100 으로 처리 됨\n③ transparency: 0~100 사이 범위의 수, 0 이하는 0으로, 100이상은 100으로 처리 됨", "change_effect_amount_exampleCode": "def when_click_mouse_on():\n Entry.set_effect(\\\"color\\\", 50)\n Entry.set_effect(\\\"brightness\\\", 50)\n Entry.set_effect(\\\"transparency\\\", 50)\n\ndef when_click_mouse_off():\n Entry.set_effect(\\\"color\\\", 0)\n Entry.set_effect(\\\"brightness\\\", 0)\n Entry.set_effect(\\\"transparency\\\", 0)", "change_effect_amount_exampleDesc": "마우스를 클릭하면 오브젝트에 색깔, 밝기, 투명도 효과를 50으로 정하고, 마우스 클릭을 해제하면 각 효과를 0으로 정합니다.", "erase_all_effects_desc": "오브젝트에 적용된 효과를 모두 지웁니다.", @@ -11384,7 +11401,7 @@ "flip_y_exampleCode": "def when_press_key(\\\"up\\\"):\n Entry.flip_horizontal()\n\ndef when_press_key(\\\"right\\\"):\n Entry.flip_vertical()", "flip_y_exampleDesc": "위쪽화살표키를 누르면 오브젝트의 상하 모양을 뒤집고, 오른쪽화살표키를 누르면 오브젝트의 좌우 모양을 뒤집습니다.", "change_object_index_desc": "오브젝트의 레이어를 A로 가져옵니다.", - "change_object_index_elements": "A-- 아래 선택지 중 하나
① “front\\\" 또는 “맨 앞“
② “forward” 또는 “앞”
③ “backward” 또는 “뒤”
④ “back” 또는 “맨 뒤”", + "change_object_index_elements": "A-- 아래 선택지 중 하나\n① “front\\\" 또는 “맨 앞“ \n② “forward” 또는 “앞” \n③ “backward” 또는 “뒤”\n④ “back” 또는 “맨 뒤”", "change_object_index_exampleCode": "def when_start():\n Entry.send_layer_to(\\\"front\\\")\n Entry.wait_for_sec(2)\n Entry.send_layer_to(\\\"backward\\\")", "change_object_index_exampleDesc": "오브젝트가 여러개가 겹쳐 있을 경우 [시작하기]버튼을 클릭하면 해당 오브젝트의 레이어를 가장 앞으로 가져와서 보여줍니다.", "brush_stamp_desc": "오브젝트의 모양을 도장처럼 실행화면 위에 찍습니다.", @@ -11397,7 +11414,7 @@ "stop_drawing_exampleCode": "def when_start():\n Entry.start_drawing()\n while True:\n Entry.move_to_direction(1)\n\ndef when_click_mouse_on():\n Entry.stop_drawing()", "stop_drawing_exampleDesc": "[시작하기]버튼을 클릭하면 그리기가 시작되고 계속해서 오브젝트가 이동방향으로 10만큼 이동합니다. 마우스를 클릭하면 그리는것을 멈춥니다.", "set_color_desc": "오브젝트가 그리는 선의 색을 A로 정합니다.", - "set_color_elements": "A-- 아래 선택지 중 하나
① 색상 코드 : \\\"#FF0000\\\", \\\"#FFCC00\\\", \\\"#3333FF\\\", \\\"#000000\\\" 등
② 색깔명 : \\\"red\\\", \\\"orange\\\", \\\"yellow\\\", \\\"green\\\", \\\"blue\\\", \\\"navy\\\", \\\"purple\\\", \\\"black\\\", \\\"white\\\", \\\"brown\\\"", + "set_color_elements": "A-- 아래 선택지 중 하나\n① 색상 코드 : \\\"#FF0000\\\", \\\"#FFCC00\\\", \\\"#3333FF\\\", \\\"#000000\\\" 등\n② 색깔명 : \\\"red\\\", \\\"orange\\\", \\\"yellow\\\", \\\"green\\\", \\\"blue\\\", \\\"navy\\\", \\\"purple\\\", \\\"black\\\", \\\"white\\\", \\\"brown\\\"", "set_color_exampleCode": "def when_start():\n Entry.start_drawing()\n Entry.set_brush_color_to(\\\"#000099\\\")\n while True:\n Entry.move_to_direction(1)", "set_color_exampleDesc": "[시작하기]버튼을 클릭하면 그리기가 시작되고, 선의 색을 \\\"#000099\\\"로 정합니다. 오브젝트는 계속해서 이동방향으로 1만큼 움직이고, 오브젝트의 이동경로를 따라 선이 그려집니다.", "set_random_color_desc": "오브젝트가 그리는 선의 색을 무작위로 정합니다.", @@ -11427,42 +11444,42 @@ "text_read_exampleCode": "def when_start():\n Entry.print(Entry.contents_of_textbox(\\\"A\\\"))", "text_read_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 글상자 \\\"A\\\"의 내용을 말합니다.​", "text_write_desc": "글상자의 내용을 A로 고쳐씁니다.", - "text_write_elements": "A-- 글상자의 내용
① 문자 : \\\"안녕!\\\", \\\"엔트리\\\" 등
② 숫자 : 0, 10, 35 등", + "text_write_elements": "A-- 글상자의 내용\n① 문자 : \\\"안녕!\\\", \\\"엔트리\\\" 등 \n② 숫자 : 0, 10, 35 등", "text_write_exampleCode": "def when_start():\n Entry.write_text(\\\"엔트리\\\")", "text_write_exampleDesc": "[시작하기]버튼을 클릭하면 글상자의 내용을 \\\"엔트리\\\"로 바꿉니다.", "text_append_desc": "글상자의 내용 뒤에 A를 추가합니다.", - "text_append_elements": "A-- 글상자의 내용
① 문자 : \\\"안녕!\\\", \\\"엔트리\\\" 등
② 숫자 : 0, 10, 35 등", + "text_append_elements": "A-- 글상자의 내용\n① 문자 : \\\"안녕!\\\", \\\"엔트리\\\" 등 \n② 숫자 : 0, 10, 35 등", "text_append_exampleCode": "def when_start():\n Entry.write_text(\\\"안녕?\\\")\n Entry.wait_for_sec(1)\n Entry.append_text(\\\"엔트리!\\\")", "text_append_exampleDesc": "[시작하기]버튼을 클릭하면 글상자의 내용이 \\\"안녕?\\\"이 되었다가 1초 뒤에 \\\"엔트리!\\\"가 추가되어 \\\"안녕?엔트리!\\\"가 됩니다.", "text_prepend_desc": "글상자의 내용 앞에 A를 추가합니다.", - "text_prepend_elements": "A-- 글상자의 내용
① 문자 : \\\"안녕!\\\", \\\"엔트리\\\" 등
② 숫자 : 0, 10, 35 등", + "text_prepend_elements": "A-- 글상자의 내용\n① 문자 : \\\"안녕!\\\", \\\"엔트리\\\" 등 \n② 숫자 : 0, 10, 35 등", "text_prepend_exampleCode": "def when_start():\n Entry.write_text(\\\"반가워!\\\")\n Entry.wait_for_sec(1)\n Entry.prepend_text(\\\"엔트리!\\\")", "text_prepend_exampleDesc": "[시작하기]버튼을 클릭하면 글상자의 내용이 \\\"반가워!\\\"가 되었다가 1초 뒤에 \\\"엔트리!\\\"가 앞에 추가되어 \\\"엔트리!반가워!\\\"가 됩니다.", "text_flush_desc": "글상자에 저장된 값을 모두 지웁니다.", "text_flush_exampleCode": "def when_start():\n Entry.write_text(\\\"엔트리\\\")\n Entry.wait_for_sec(1)\n Entry.clear_text()", "text_flush_exampleDesc": "[시작하기]버튼을 클릭하면 글상자의 내용이 \\\"엔트리\\\"가 되었다가 1초 뒤에 모든 내용이 사라집니다.", "sound_something_with_block_desc": "오브젝트가 A 소리를 재생합니다.", - "sound_something_with_block_elements": "A-- 아래 선택지 중 하나
① 소리 이름 : [속성] 탭의 \\\"소리 이름\\\"을 적음
② 소리 번호: [속성] 탭의 소리 번호를 적음", + "sound_something_with_block_elements": "A-- 아래 선택지 중 하나\n① 소리 이름 : [속성] 탭의 \\\"소리 이름\\\"을 적음\n② 소리 번호: [속성] 탭의 소리 번호를 적음", "sound_something_with_block_exampleCode": "def when_start():\n Entry.play_sound(\\\"소리\\\")\n Entry.add_size(50)", "sound_something_with_block_exampleDesc": "[시작하기]버튼을 클릭하면 \\\"소리\\\"를 재생하면서 오브젝트의 크기가 50만큼 커집니다.", "sound_something_second_with_block_desc": "오브젝트가 A소리를 B초 만큼 재생합니다.", - "sound_something_second_with_block_elements": "A-- 아래 선택지 중 하나
① 소리 이름 : [속성] 탭의 \\\"소리 이름\\\"을 적음
② 소리 번호: [속성] 탭의 소리 번호를 적음", + "sound_something_second_with_block_elements": "A-- 아래 선택지 중 하나\n① 소리 이름 : [속성] 탭의 \\\"소리 이름\\\"을 적음\n② 소리 번호: [속성] 탭의 소리 번호를 적음", "sound_something_second_with_block_exampleCode": "def when_start():\n Entry.play_sound_for_sec(\\\"소리\\\", 1)\n Entry.add_size(50)", "sound_something_second_with_block_exampleDesc": "[시작하기]버튼을 클릭하면 \\\"소리\\\"를 1초 동안 재생하면서, 오브젝트의 크기가 50만큼 커집니다.", "sound_from_to_desc": "오브젝트가 A소리를 B초부터 C초까지 재생합니다.", - "sound_from_to_elements": "A-- 아래 선택지 중 하나
① 소리 이름 : [속성] 탭의 \\\"소리 이름\\\"을 적음
② 소리 번호: [속성] 탭의 소리 번호를 적음", + "sound_from_to_elements": "A-- 아래 선택지 중 하나\n① 소리 이름 : [속성] 탭의 \\\"소리 이름\\\"을 적음\n② 소리 번호: [속성] 탭의 소리 번호를 적음", "sound_from_to_exampleCode": "def when_start():\n Entry.play_sound_from_to(\\\"소리\\\", 0.5, 1)\n Entry.add_size(50)", "sound_from_to_exampleDesc": "[시작하기]버튼을 클릭하면 \\\"소리\\\"를 0.5초부터 1초 구간까지만 재생하면서, 오브젝트의 크기가 50만큼 커집니다.", "sound_something_wait_with_block_desc": "오브젝트가 A 소리를 재생하고, 재생이 끝나면 다음 명령을 실행합니다.", - "sound_something_wait_with_block_elements": "A-- 아래 선택지 중 하나
① 소리 이름 : [속성] 탭의 \\\"소리 이름\\\"을 적음
② 소리 번호: [속성] 탭의 소리 번호를 적음", + "sound_something_wait_with_block_elements": "A-- 아래 선택지 중 하나\n① 소리 이름 : [속성] 탭의 \\\"소리 이름\\\"을 적음\n② 소리 번호: [속성] 탭의 소리 번호를 적음", "sound_something_wait_with_block_exampleCode": "def when_start():\n Entry.play_sound_and_wait(\\\"소리\\\")\n Entry.add_size(50)", "sound_something_wait_with_block_exampleDesc": "[시작하기]버튼을 클릭하면 \\\"소리\\\"를 재생하고, 재생이 끝나면 오브젝트의 크기가 50만큼 커집니다.", "sound_something_second_wait_with_block_desc": "오브젝트가 A소리를 B초 만큼 재생하고, 재생이 끝나면 다음 명령을 실행합니다.", - "sound_something_second_wait_with_block_elements": "A-- 아래 선택지 중 하나
① 소리 이름 : [속성] 탭의 \\\"소리 이름\\\"을 적음
② 소리 번호: [속성] 탭의 소리 번호를 적음", + "sound_something_second_wait_with_block_elements": "A-- 아래 선택지 중 하나\n① 소리 이름 : [속성] 탭의 \\\"소리 이름\\\"을 적음\n② 소리 번호: [속성] 탭의 소리 번호를 적음", "sound_something_second_wait_with_block_exampleCode": "def when_start():\n Entry.play_sound_for_sec_and_wait(\\\"소리\\\", 1)\n Entry.add_size(50)", "sound_something_second_wait_with_block_exampleDesc": "[시작하기]버튼을 클릭하면 \\\"소리\\\"를 1초 동안 재생하고, 재생이 끝나면 오브젝트의 크기가 50만큼 커집니다.", "sound_from_to_and_wait_desc": "오브젝트가 A소리를 B초부터 C초까지 재생하고, 재생이 끝나면 다음 명령을 실행합니다.", - "sound_from_to_and_wait_elements": "A-- 아래 선택지 중 하나
① 소리 이름 : [속성] 탭의 \\\"소리 이름\\\"을 적음
② 소리 번호: [속성] 탭의 소리 번호를 적음", + "sound_from_to_and_wait_elements": "A-- 아래 선택지 중 하나\n① 소리 이름 : [속성] 탭의 \\\"소리 이름\\\"을 적음\n② 소리 번호: [속성] 탭의 소리 번호를 적음", "sound_from_to_and_wait_exampleCode": "def when_start():\n Entry.play_sound_from_to_and_wait(\\\"소리\\\", 0.5, 1)\n Entry.add_size(50)", "sound_from_to_and_wait_exampleDesc": "[시작하기]버튼을 클릭하면 \\\"소리\\\"를 0.5초부터 1초 구간까지만 재생하고, 재생이 끝나면 오브젝트의 크기가 50만큼 커집니다.", "sound_volume_change_desc": "작품에서 재생되는 모든 소리의 크기를 A퍼센트만큼 바꿉니다.", @@ -11480,73 +11497,73 @@ "is_clicked_exampleCode": "def when_start():\n while True:\n if Entry.is_mouse_clicked():\n Entry.print_for_sec(\\\"반가워!\\\", 0.5)", "is_clicked_exampleDesc": "[시작하기]버튼을 클릭하면 계속해서 마우스를 클릭했는지 확인합니다. 만약 마우스를 클릭하면 오브젝트가 \\\"반가워!\\\"라고 0.5초간 말합니다.", "is_press_some_key_desc": "A 키가 눌려져 있는 경우 True로 판단합니다.", - "is_press_some_key_elements": "A-- 아래 선택지 중 하나
① 알파벳 : \\\"A\\\", \\\"B\\\" ~ \\\"Z\\\" 등(소문자 가능)
② 숫자: 1, 2, 3, 4 ~ 9, 0
③ 특수키: \\\"space\\\", \\\"enter\\\"
④ 방향키 : \\\"up\\\", \\\"down\\\", \\\"right\\\", \\\"left\\\"", + "is_press_some_key_elements": "A-- 아래 선택지 중 하나\n① 알파벳 : \\\"A\\\", \\\"B\\\" ~ \\\"Z\\\" 등(소문자 가능)\n② 숫자: 1, 2, 3, 4 ~ 9, 0\n③ 특수키: \\\"space\\\", \\\"enter\\\"\n④ 방향키 : \\\"up\\\", \\\"down\\\", \\\"right\\\", \\\"left\\\"", "is_press_some_key_exampleCode": "def when_start():\n while True:\n if Entry.is_key_pressed(\\\"space\\\"):\n Entry.move_to_direction(10)", "is_press_some_key_exampleDesc": "[시작하기]버튼을 클릭하면 계속해서 선택한 키를 눌렀는지 확인합니다. 만약 스페이스 키를 누르면 오브젝트가 이동방향으로 10만큼 이동합니다.", "reach_something_desc": "오브젝트가 A와 닿은 경우 True으로 판단합니다.", - "reach_something_elements": "A-- 아래 선택지 중 하나
① \\\"오브젝트 이름\\\"
② \\\"mouse_pointer\\\" 또는 \\\"마우스포인터\\\"
③ \\\"edge\\\", \\\"edge_up\\\", \\\"edge_down\\\", \\\"edge_right\\\", \\\"edge_left\\\"", + "reach_something_elements": "A-- 아래 선택지 중 하나\n① \\\"오브젝트 이름\\\"\n② \\\"mouse_pointer\\\" 또는 \\\"마우스포인터\\\"\n③ \\\"edge\\\", \\\"edge_up\\\", \\\"edge_down\\\", \\\"edge_right\\\", \\\"edge_left\\\"", "reach_something_exampleCode": "def when_start():\n while True:\n Entry.move_to_direction(10)\n if Entry.is_touched(\\\"edge\\\"):\n Entry.add_rotation(150)", "reach_something_exampleDesc": "[시작하기]버튼을 클릭하면 계속해서 오브젝트가 이동방향으로 10만큼 이동합니다. 만약 오브젝트가 벽에 닿으면 150만큼 회전하게 됩니다.", "boolean_basic_operator_desc": "A와 B를 비교하여 True 또는 False로 판단합니다.", - "boolean_basic_operator_elements": "A, B 비교하고자 하는 숫자값
① == : A와 B의 값이 같으면 True, 아니면 False
② != : A와 B의 값이 다르면 True, 아니면 False
③ > : A의 값이 B의 값보다 크면 true, 아니면 False
④ < : A의 값이 B의 값보다 작으면 true, 아니면 False
⑤ >= : A의 값이 B의 값보다 크거나 같으면 true, 아니면 False
⑥ <= : A의 값이 B의 값보다 작거나 같으면 true, 아니면 False", + "boolean_basic_operator_elements": "A, B 비교하고자 하는 숫자값\n① == : A와 B의 값이 같으면 True, 아니면 False\n② != : A와 B의 값이 다르면 True, 아니면 False\n③ > : A의 값이 B의 값보다 크면 true, 아니면 False\n④ < : A의 값이 B의 값보다 작으면 true, 아니면 False\n⑤ >= : A의 값이 B의 값보다 크거나 같으면 true, 아니면 False\n⑥ <= : A의 값이 B의 값보다 작거나 같으면 true, 아니면 False", "boolean_basic_operator_exampleCode": "def when_start():\n while True:\n Entry.add_x(10)\n if Entry.value_of_object(\\\"오브젝트\\\", \\\"x\\\") > 240:\n Entry.set_x(0)", "boolean_basic_operator_exampleDesc": "[시작하기]버튼을 클릭하면 계속해서 오브젝트 x좌표를 10만큼 바꿉니다. 만약 오브젝트 x좌표가 240보다 크면 오브젝트 x좌표를 0으로 정합니다.", "boolean_and_desc": "A와 B의 판단이 모두 True인 경우 True, 아닌 경우 False로 판단합니다.", - "boolean_and_elements": "A, B-- True 또는 False로 판단할 수 있는 명령어 입력(판단 카테고리의 명령어)
① True, False
② 10 == 10 , 10 > 10 , 10 <= 10 등
③ Entry.is_mouse_clicked(), Entry.is_key_pressed(\\\"Q\\\") 등", + "boolean_and_elements": "A, B-- True 또는 False로 판단할 수 있는 명령어 입력(판단 카테고리의 명령어)\n① True, False\n② 10 == 10 , 10 > 10 , 10 <= 10 등\n③ Entry.is_mouse_clicked(), Entry.is_key_pressed(\\\"Q\\\") 등", "boolean_and_exampleCode": "def when_start():\n while True:\n if Entry.is_key_pressed(\\\"a\\\") and Entry.is_key_pressed(\\\"s\\\"):\n Entry.add_effect(\\\"color\\\", 10)", "boolean_and_exampleDesc": "[시작하기]버튼을 클릭하고 키보드의 \\\"a\\\" 와 \\\"s\\\"키를 동시에 눌렀을 때, 색깔 효과를 10만큼 줍니다.", "boolean_or_desc": "A와 B의 판단 중 하나라도 True인 경우 True, 아닌 경우 False로 판단합니다.", - "boolean_or_elements": "A, B-- True 또는 False로 판단할 수 있는 명령어 입력(판단 카테고리의 명령어)
① True, False
② 10 == 10 , 10 > 10 , 10 <= 10 등
③ Entry.is_mouse_clicked(), Entry.is_key_pressed(\\\"Q\\\") 등", + "boolean_or_elements": "A, B-- True 또는 False로 판단할 수 있는 명령어 입력(판단 카테고리의 명령어)\n① True, False\n② 10 == 10 , 10 > 10 , 10 <= 10 등\n③ Entry.is_mouse_clicked(), Entry.is_key_pressed(\\\"Q\\\") 등", "boolean_or_exampleCode": "def when_start():\n while True:\n if Entry.is_key_pressed(\\\"a\\\") or Entry.is_key_pressed(\\\"s\\\"):\n Entry.add_effect(\\\"color\\\", 10)", "boolean_or_exampleDesc": "[시작하기]버튼을 클릭하면 키보드의 \\\"a\\\"나 \\\"s\\\"키 중 무엇이든 하나를 누르면 오브젝트에 색깔 효과를 10만큼 줍니다.", "boolean_not_desc": "A 판단이 True이면 False, False이면 True로 판단합니다.", - "boolean_not_elements": "A-- True 또는 False로 판단할 수 있는 명령어 입력(판단 카테고리의 명령어)
① True, False
② 10 == 10 , 10 > 10 , 10 <= 10 등
③ Entry.is_mouse_clicked(), Entry.is_key_pressed(\\\"Q\\\") 등", + "boolean_not_elements": "A-- True 또는 False로 판단할 수 있는 명령어 입력(판단 카테고리의 명령어)\n① True, False\n② 10 == 10 , 10 > 10 , 10 <= 10 등\n③ Entry.is_mouse_clicked(), Entry.is_key_pressed(\\\"Q\\\") 등", "boolean_not_exampleCode": "def when_start():\n while True:\n if not Entry.is_mouse_clicked():\n Entry.add_size(1)", "boolean_not_exampleDesc": "[시작하기]버튼을 클릭하면 마우스를 클릭하지 않은 동안 크기가 1씩 커집니다.", "calc_basic_desc": "A와 B의 연산값입니다.", - "calc_basic_elements": "A, B-- 연산하고자 하는 숫자값
① + : A와 B를 더한 값
② - : A와 B를 뺀 값
③ x : A와 B를 곱한 값
④ / : A와 B를 나눈 값", + "calc_basic_elements": "A, B-- 연산하고자 하는 숫자값\n① + : A와 B를 더한 값\n② - : A와 B를 뺀 값\n③ x : A와 B를 곱한 값\n④ / : A와 B를 나눈 값", "calc_basic_exampleCode": "def when_start():\n Entry.print_for_sec(10 + 10, 2)\n Entry.print_for_sec(10 - 10, 2)\n Entry.print_for_sec(10 * 10, 2)\n Entry.print_for_sec(10 / 10, 2)", "calc_basic_exampleDesc": "[시작하기]버튼을 클릭하면 10과 10을 더한값, 뺀값, 곱한값, 나눈값을 각 2초간 말합니다.", "calc_rand_desc": "A와 B 사이에서 선택된 무작위 수의 값입니다. (두 수 모두 정수를 입력한 경우 정수로,두 수 중 하나라도 소수를 입력한 경우 소수로 무작위 수가 선택됩니다.)", - "calc_rand_elements": "A, B-- 무작위 수를 추출할 범위
① random.randint(A, B) : A, B를 정수로 입력하면 정수 범위에서 무작위 수를 추출
② random.uniform(A, B) : A, B를 실수로 입력하면 실수 범위에서 무작위 수를 추출", + "calc_rand_elements": "A, B-- 무작위 수를 추출할 범위\n① random.randint(A, B) : A, B를 정수로 입력하면 정수 범위에서 무작위 수를 추출\n② random.uniform(A, B) : A, B를 실수로 입력하면 실수 범위에서 무작위 수를 추출", "calc_rand_exampleCode": "def when_start():\n Entry.print_for_sec(random.randint(1, 10), 2)\n Entry.print_for_sec(random.uniform(0.1, 2), 2)", "calc_rand_exampleDesc": "[시작하기]버튼을 클릭하면 1부터 10사이의 정수중 무작위 수를 뽑아 2초간 말합니다. 그 후 0.1부터 2사이의 실수중 무작위 수를 뽑아 2초간 말합니다.", "coordinate_mouse_desc": "마우스 포인터의 A 좌표 값을 의미합니다.", - "coordinate_mouse_elements": "A-- 아래 선택지 중 하나
① \\\"x\\\" 또는 \\\"X\\\"
② \\\"y\\\" 또는 \\\"Y\\\"", + "coordinate_mouse_elements": "A-- 아래 선택지 중 하나\n① \\\"x\\\" 또는 \\\"X\\\"\n② \\\"y\\\" 또는 \\\"Y\\\"", "coordinate_mouse_exampleCode": "def when_start():\n while True:\n Entry.print(Entry.value_of_mouse_pointer(\\\"x\\\"))", "coordinate_mouse_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 마우스 포인터의 x좌표를 계속해서 말합니다.", "coordinate_object_desc": "A에 대한 B정보값입니다.", - "coordinate_object_elements": "A-- 아래 선택지 중 하나
① \\\"오브젝트 이름\\\"
② \\\"self\\\" 또는 \\\"자신\\\"%nextB-- 아래 선택지 중 하나
① \\\"x\\\" 또는 \\\"X\\\"
② \\\"y\\\" 또는 \\\"Y\\\"
③ \\\"rotation\\\" 또는 \\\"방향\\\"
④ \\\"direction\\\" 또는 \\\"이동 방향\\\"
⑤ \\\"size\\\" 또는 \\\"크기\\\"
⑥ \\\"shape_number\\\" 또는 \\\"모양 번호\\\"
⑦ \\\"shape_name\\\" 또는 \\\"모양 이름\\\"", + "coordinate_object_elements": "A-- 아래 선택지 중 하나\n① \\\"오브젝트 이름\\\"\n② \\\"self\\\" 또는 \\\"자신\\\"%nextB-- 아래 선택지 중 하나\n① \\\"x\\\" 또는 \\\"X\\\"\n② \\\"y\\\" 또는 \\\"Y\\\"\n③ \\\"rotation\\\" 또는 \\\"방향\\\"\n④ \\\"direction\\\" 또는 \\\"이동 방향\\\"\n⑤ \\\"size\\\" 또는 \\\"크기\\\"\n⑥ \\\"shape_number\\\" 또는 \\\"모양 번호\\\"\n⑦ \\\"shape_name\\\" 또는 \\\"모양 이름\\\"", "coordinate_object_exampleCode": "def when_start():\n while True:\n Entry.add_x(1)\n Entry.print(Entry.value_of_object(\\\"오브젝트\\\", \\\"x\\\"))\n", "coordinate_object_exampleDesc": "[시작하기]버튼을 클릭하면 계속해서 오브젝트의 x좌표가 1씩 증가하며, \\\"오브젝트\\\"의 x좌표를 말합니다.", "get_sound_volume_desc": "현재 작품에 설정된 소리의 크기값입니다.", "get_sound_volume_exampleCode": "def when_start():\n while True:\n Entry.print(Entry.value_of_sound_volume())", "get_sound_volume_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 소리의 크기값을 계속해서 말합니다.", "quotient_and_mod_desc": "A와 B의 연산값입니다.", - "quotient_and_mod_elements": "A, B-- 연산하고자 하는 숫자값
① // : A / B의 몫에 해당하는 값
② % : A / B의 나머지에 해당하는 값", + "quotient_and_mod_elements": "A, B-- 연산하고자 하는 숫자값\n① // : A / B의 몫에 해당하는 값\n② % : A / B의 나머지에 해당하는 값", "quotient_and_mod_exampleCode": "def when_start():\n Entry.print_for_sec(10 // 3, 2)\n Entry.print_for_sec(10 % 3, 2)", "quotient_and_mod_exampleDesc": "[시작하기]버튼을 클릭하면 10 / 3의 몫인 3을 2초 동안 말하고, 나머지인 1을 2초 동안 말합니다.", "calc_operation_desc": "A의 연산값입니다.", - "calc_operation_elements": "A, B-- 연산하고자 하는 숫자값
① A ** 2 : A를 제곱한 값
② math.sqrt(A): A의 루트값
③ math.sin(A): A의 사인값
④ math.cos(A): A의 코사인 값
⑤ math.tan(A): A의 탄젠트값
⑥ math.asin(A): A의 아크사인값
⑦ math.acos(A): A의 아크코사인값
⑧ math.atan(): A의 아크탄젠트값
⑨ math.log10(A): A의 로그값
⑩ math.log(A): A의 자연로그값
⑪ A - math.floor(A): A의 소수점 부분
⑫ math.floor(A): A의 소수점 버림값
⑬ math.ceil(A): A의 소수점 올림값
⑭ math.round(A): A의 소수점 반올림값
⑮ math.factorial(A): A의 팩토리얼 값
⑯ math.fabs(A): A의 절댓값", + "calc_operation_elements": "A, B-- 연산하고자 하는 숫자값\n① A ** 2 : A를 제곱한 값\n② math.sqrt(A): A의 루트값\n③ math.sin(A): A의 사인값\n④ math.cos(A): A의 코사인 값\n⑤ math.tan(A): A의 탄젠트값 \n⑥ math.asin(A): A의 아크사인값\n⑦ math.acos(A): A의 아크코사인값\n⑧ math.atan(): A의 아크탄젠트값\n⑨ math.log10(A): A의 로그값\n⑩ math.log(A): A의 자연로그값\n⑪ A - math.floor(A): A의 소수점 부분\n⑫ math.floor(A): A의 소수점 버림값\n⑬ math.ceil(A): A의 소수점 올림값\n⑭ math.round(A): A의 소수점 반올림값\n⑮ math.factorial(A): A의 팩토리얼 값\n⑯ math.fabs(A): A의 절댓값", "calc_operation_exampleCode": "def when_start():\n Entry.print_for_sec(10 ** 2, 2)\n Entry.print_for_sec(math.sqrt(9), 2)\n Entry.print_for_sec(math.sin(90), 2)\n Entry.print_for_sec(math.fabs(-10), 2)", "calc_operation_exampleDesc": "[시작하기]버튼을 클릭하면 10의 제곱, 9의 루트값, 90의 사인값, -10의 절댓값을 각 2초 동안 말합니다.", "get_project_timer_value_desc": "이 명령이 실행되는 순간 초시계에 저장된 값입니다.", "get_project_timer_value_exampleCode": "def when_start():\n Entry.timer(\\\"start\\\")\n Entry.wait_for_sec(3)\n Entry.timer(\\\"stop\\\")\n Entry.timer_view(\\\"hide\\\")\n Entry.print(Entry.value_of_timer())", "get_project_timer_value_exampleDesc": "[시작하기]버튼을 클릭하면 초시계를 시작합니다. 3초 뒤에는 초시계를 정지하고 초시계창을 숨깁니다. 그 후 초시계값을 말합니다.", - "choose_project_timer_action_desc": "초시계의 동작을 A로 정합니다.
(이 명령어를 사용하면 실행화면에 ‘초시계 창’이 생성됩니다.)", - "choose_project_timer_action_elements": "A-- 아래 선택지 중 하나
① \\\"start\\\" : 초시계를 시작
② \\\"stop\\\" : 초시계를 정지
③ \\\"reset\\\" : 초시계를 초기화", + "choose_project_timer_action_desc": "초시계의 동작을 A로 정합니다.\n(이 명령어를 사용하면 실행화면에 ‘초시계 창’이 생성됩니다.)", + "choose_project_timer_action_elements": "A-- 아래 선택지 중 하나\n① \\\"start\\\" : 초시계를 시작\n② \\\"stop\\\" : 초시계를 정지\n③ \\\"reset\\\" : 초시계를 초기화", "choose_project_timer_action_exampleCode": "def when_start():\n Entry.timer(\\\"start\\\")\n Entry.wait_for_sec(3)\n Entry.timer(\\\"stop\\\")\n Entry.timer_view(\\\"hide\\\")\n Entry.print(Entry.value_of_timer())", "choose_project_timer_action_exampleDesc": "[시작하기]버튼을 클릭하면 초시계를 시작합니다. 3초 뒤에는 초시계를 정지하고 초시계창을 숨깁니다. 그 후 초시계값을 말합니다.", "set_visible_project_timer_desc": "실행화면의 초시계 창을 A로 설정합니다.", - "set_visible_project_timer_elements": "A-- 아래 선택지 중 하나
① \\\"hide\\\" : 초시계창을 숨김
② \\\"show\\\" : 초시계창을 보임", + "set_visible_project_timer_elements": "A-- 아래 선택지 중 하나\n① \\\"hide\\\" : 초시계창을 숨김\n② \\\"show\\\" : 초시계창을 보임", "set_visible_project_timer_exampleCode": "def when_start():\n Entry.timer(\\\"start\\\")\n Entry.wait_for_sec(3)\n Entry.timer(\\\"stop\\\")\n Entry.timer_view(\\\"hide\\\")\n Entry.print(Entry.value_of_timer())", "set_visible_project_timer_exampleDesc": "[시작하기]버튼을 클릭하면 초시계를 시작합니다. 3초 뒤에는 초시계를 정지하고 초시계창을 숨깁니다. 그 후 초시계값을 말합니다.", "get_date_desc": "현재 A에 대한 값입니다.", - "get_date_elements": "A-- 아래 선택지 중 하나
① \\\"year\\\" : 현재 연도 값
② \\\"month\\\" : 현재 월 값
③ \\\"day\\\" : 현재 일 값
④ \\\"hour\\\" : 현재 시간 값
⑤ \\\"minute\\\" : 현재 분 값
⑥ \\\"second\\\" : 현재 초 값", + "get_date_elements": "A-- 아래 선택지 중 하나\n① \\\"year\\\" : 현재 연도 값\n② \\\"month\\\" : 현재 월 값\n③ \\\"day\\\" : 현재 일 값\n④ \\\"hour\\\" : 현재 시간 값\n⑤ \\\"minute\\\" : 현재 분 값\n⑥ \\\"second\\\" : 현재 초 값", "get_date_exampleCode": "def when_start():\n Entry.print(Entry.value_of_current_time(\\\"year\\\") + \\\"년\\\" + Entry.value_of_current_time(\\\"month\\\") + \\\"월\\\")", "get_date_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 현재년도와 월을 말합니다.", "distance_something_desc": "자신과 A까지의 거리 값입니다.", - "distance_something_elements": "A-- 아래 선택지 중 하나
① \\\"오브젝트 이름\\\"
② \\\"mouse_pointer\\\" 또는 \\\"마우스포인터\\\"", + "distance_something_elements": "A-- 아래 선택지 중 하나\n① \\\"오브젝트 이름\\\"\n② \\\"mouse_pointer\\\" 또는 \\\"마우스포인터\\\"", "distance_something_exampleCode": "def when_start():\n while True:\n Entry.print(Entry.value_of_distance_to(\\\"mouse_pointer\\\"))", "distance_something_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 마우스포인터와의 거리를 계속해서 말합니다.", "get_sound_duration_desc": "소리 A의 길이(초)값입니다.", @@ -11569,22 +11586,22 @@ "char_at_exampleCode": "def when_start():\n Entry.print(\\\"안녕 엔트리!\\\"[0])", "char_at_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 \\\"안녕 엔트리!\\\"의 0번째 글자인 \\\"안\\\"을 말합니다.", "substring_desc": "A 문자열의 B위치부터 C-1위치까지의 값입니다. (첫 번째 글자의 위치는 0부터 시작합니다.)", - "substring_elements": "A-- \\\"문자열\\\"%nextB-- 포함할 문자열의 시작 위치
첫 번째 글자는 0부터 시작%nextC-- 문자열을 포함하지 않는 위치", + "substring_elements": "A-- \\\"문자열\\\"%nextB-- 포함할 문자열의 시작 위치\n첫 번째 글자는 0부터 시작%nextC-- 문자열을 포함하지 않는 위치", "substring_exampleCode": "def when_start():\n Entry.print(\\\"안녕 엔트리!\\\"[1:5])", "substring_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 \\\"안녕 엔트리!\\\"의 1에서 4번째 글자인 \\\"녕 엔트\\\"를 말합니다.", "index_of_string_desc": "A문자열에서 B문자열이 처음으로 등장하는 위치의 값입니다. (첫 번째 글자의 위치는 0부터 시작합니다.)", "index_of_string_elements": "A, B-- \\\"문자열\\\"", "index_of_string_exampleCode": "def when_start():\n Entry.print(\\\"안녕 엔트리!\\\".find(\\\"엔트리\\\"))", "index_of_string_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 \\\"안녕 엔트리!\\\"에서 \\\"엔트리\\\"가 처음으로 등장하는 위치인 3을 말합니다.", - "replace_string_desc": "A 문자열에서 B문자열을 모두 찾아 C문자열로 바꾼 값입니다.
(영문 입력시 대소문자를 구분합니다.)", + "replace_string_desc": "A 문자열에서 B문자열을 모두 찾아 C문자열로 바꾼 값입니다.\n(영문 입력시 대소문자를 구분합니다.)", "replace_string_elements": "A, B, C-- \\\"문자열\\\"", "replace_string_exampleCode": "def when_start():\n Entry.print(\\\"안녕 엔트리!\\\".replace( \\\"안녕\\\", \\\"반가워\\\"))", "replace_string_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 \\\"안녕 엔트리!\\\"에서 \\\"안녕\\\"을 \\\"반가워\\\"로 바꾼 \\\"반가워 엔트리!\\\"를 말합니다.", "change_string_case_desc": "A의 모든 알파벳을 대문자 또는 소문자로 바꾼 문자값입니다.", - "change_string_case_elements": "A-- \\\"문자열\\\"
① A.upper(): A의 모든 알파벳을 대문자로 바꾼 값
② A.lower() : A의 모든 알파벳을 소문자로 바꾼 값", + "change_string_case_elements": "A-- \\\"문자열\\\"\n① A.upper(): A의 모든 알파벳을 대문자로 바꾼 값\n② A.lower() : A의 모든 알파벳을 소문자로 바꾼 값", "change_string_case_exampleCode": "def when_start():\n Entry.print_for_sec(\\\"Hello Entry!\\\".upper(), 2)\n Entry.print_for_sec(\\\"Hello Entry!\\\".lower(), 2)", "change_string_case_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 \\\"Hello Entry!\\\"를 모두 대문자로 바꾼 \\\"HELLO ENTRY!\\\"를 2초간 말한 다음 모두 소문자로 바꾼 \\\"hello entry!\\\"를 2초간 말합니다.", - "ask_and_wait_desc": "오브젝트가 A 내용을 말풍선으로 묻고, 대답을 입력받습니다. 대답은 실행화면 또는 콘솔창에서 입력할 수 있으며 입력된 값은 'Entry.answer()'에 저장됩니다.
(이 명령어를 사용하면 실행화면에 ‘대답 창’이 생성됩니다.)", + "ask_and_wait_desc": "오브젝트가 A 내용을 말풍선으로 묻고, 대답을 입력받습니다. 대답은 실행화면 또는 콘솔창에서 입력할 수 있으며 입력된 값은 'Entry.answer()'에 저장됩니다. \n(이 명령어를 사용하면 실행화면에 ‘대답 창’이 생성됩니다.)", "ask_and_wait_elements": "A-- \\\"문자열\\\"", "ask_and_wait_exampleCode": "def when_start():\n Entry.input(\\\"이름을 입력해보세요.\\\")\n Entry.print(Entry.answer() + \\\" 반가워!\\\")", "ask_and_wait_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 \\\"이름을 입력해보세요.\\\"라고 말풍선으로 묻습니다. 이름을 입력하면 \\\"(입력한 이름) 반가워!\\\"라 말합니다.", @@ -11592,63 +11609,63 @@ "get_canvas_input_value_exampleCode": "def when_start():\n Entry.input(\\\"이름을 입력해보세요.\\\")\n Entry.print(Entry.answer() + \\\" 반가워!\\\")", "get_canvas_input_value_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 \\\"이름을 입력해보세요.\\\"라고 말풍선으로 묻습니다. 이름을 입력하면 \\\"(입력한 이름) 반가워!\\\"라 말합니다.", "set_visible_answer_desc": "실행화면의 대답 창을 A로 설정합니다.", - "set_visible_answer_elements": "A-- 아래 선택지 중 하나
① \\\"hide\\\" : 대답 창을 숨김
② \\\"show\\\" : 대답 창을 보임", + "set_visible_answer_elements": "A-- 아래 선택지 중 하나\n① \\\"hide\\\" : 대답 창을 숨김\n② \\\"show\\\" : 대답 창을 보임", "set_visible_answer_exampleCode": "def when_start():\n Entry.answer_view(\\\"hide\\\")\n Entry.input(\\\"나이를 입력하세요.\\\")\n Entry.print(Entry.answer())", "set_visible_answer_exampleDesc": "[시작하기]버튼을 클릭하면 대답창이 숨겨지고, 오브젝트가 \\\"나이를 입력하세요.\\\"라고 말풍선으로 묻습니다. 나이를 입력하면 오브젝트가 입력한 나이를 말합니다.", "get_variable_desc": "A 변수에 저장된 값입니다.", - "get_variable_elements": "A-- 변수명
① 모든 오브젝트에서 사용: A
② 이 오브젝트에서 사용: self.A", + "get_variable_elements": "A-- 변수명\n① 모든 오브젝트에서 사용: A\n② 이 오브젝트에서 사용: self.A", "get_variable_exampleCode": "age = 16\n\ndef when_start():\n Entry.print(age)", "get_variable_exampleDesc": "age라는 변수를 만들고 그 값을 16으로 정합니다. [시작하기]버튼을 클릭하면 오브젝트가 age 변수에 들어 가 있는 값인 \\\"16\\\"을 말합니다.", "change_variable_desc": "A 변수에 B만큼 더합니다.", - "change_variable_elements": "A-- 변수명
① 모든 오브젝트에서 사용: A
② 이 오브젝트에서 사용: self.A%nextB-- 숫자값", + "change_variable_elements": "A-- 변수명\n① 모든 오브젝트에서 사용: A\n② 이 오브젝트에서 사용: self.A%nextB-- 숫자값", "change_variable_exampleCode": "age = 16\n\ndef when_start():\n Entry.print_for_sec(age, 2)\n age += 2\n Entry.print_for_sec(age, 2)", "change_variable_exampleDesc": "age라는 변수를 만들고 그 값을 16으로 정합니다. [시작하기]버튼을 클릭하면 오브젝트가 age 변수에 들어 가 있는 값인 \\\"16\\\"을 2초 동안 말합니다. 그 후 age변수에 2를 더하고 더한값인 \\\"18\\\"을 2초 동안 말합니다.", "set_variable_desc": "A 변수의 값을 B로 정합니다. 만약 A 변수가 없으면 [속성] 탭에 A 변수가 자동 생성됩니다.", - "set_variable_elements": "A-- 변수명
① 모든 오브젝트에서 사용: A
② 이 오브젝트에서 사용: self.A%nextB-- 변수에 넣을 값
① 문자 : \\\"안녕!\\\", \\\"엔트리\\\" 등
② 숫자 : 0, 10, 35 등", + "set_variable_elements": "A-- 변수명\n① 모든 오브젝트에서 사용: A\n② 이 오브젝트에서 사용: self.A%nextB-- 변수에 넣을 값\n① 문자 : \\\"안녕!\\\", \\\"엔트리\\\" 등 \n② 숫자 : 0, 10, 35 등", "set_variable_exampleCode": "age = 16\n\ndef when_start():\n Entry.print(age)", "set_variable_exampleDesc": "age라는 변수를 만들고 그 값을 16으로 정합니다. [시작하기]버튼을 클릭하면 오브젝트가 age 변수에 들어 가 있는 값인 \\\"16\\\"을 말합니다.", "show_variable_desc": "A 변수 창을 실행화면에 보이게 합니다.", - "show_variable_elements": "A-- \\\"변수명\\\"
① 모든 오브젝트에서 사용: \\\"A\\\"
② 이 오브젝트에서 사용: \\\"self.A\\\"", + "show_variable_elements": "A-- \\\"변수명\\\"\n① 모든 오브젝트에서 사용: \\\"A\\\"\n② 이 오브젝트에서 사용: \\\"self.A\\\"", "show_variable_exampleCode": "age = 16\n\ndef when_start():\n Entry.hide_variable(\\\"age\\\")\n Entry.wait_for_sec(2)\n age = 20\n Entry.show_variable(\\\"age\\\")", "show_variable_exampleDesc": "age라는 변수를 만들고 그 값을 16으로 정합니다. [시작하기]버튼을 클릭하면 age변수창을 실행화면에서 숨깁니다. 2초 후 변수값을 17로 바꾸고 age변수창을 실행화면에 보이게 합니다.", "hide_variable_desc": "A 변수 창을 실행화면에서 숨깁니다.", - "hide_variable_elements": "A-- \\\"변수명\\\"
① 모든 오브젝트에서 사용: \\\"A\\\"
② 이 오브젝트에서 사용: \\\"self.A\\\"", + "hide_variable_elements": "A-- \\\"변수명\\\"\n① 모든 오브젝트에서 사용: \\\"A\\\"\n② 이 오브젝트에서 사용: \\\"self.A\\\"", "hide_variable_exampleCode": "age = 16\n\ndef when_start():\n Entry.hide_variable(\\\"age\\\")\n Entry.print_for_sec(age, 2)", "hide_variable_exampleDesc": "age라는 변수를 만들고 그 값을 16으로 정합니다. [시작하기]버튼을 클릭하면 age변수창을 실행화면에서 숨기고, 오브젝트가 age 변수에 들어 가 있는 값인 \\\"16\\\"을 2초 동안 말합니다.", - "value_of_index_from_list_desc": "A 리스트에서 B위치의 항목 값을 의미합니다.
(첫 번째 항목의 위치는 0부터 시작합니다.)", - "value_of_index_from_list_elements": "A-- 리스트명
① 모든 오브젝트에서 사용: A
② 이 오브젝트에서 사용: self.A%nextB-- 리스트 항목의 위치", + "value_of_index_from_list_desc": "A 리스트에서 B위치의 항목 값을 의미합니다. \n(첫 번째 항목의 위치는 0부터 시작합니다.)", + "value_of_index_from_list_elements": "A-- 리스트명\n① 모든 오브젝트에서 사용: A\n② 이 오브젝트에서 사용: self.A%nextB-- 리스트 항목의 위치", "value_of_index_from_list_exampleCode": "basket = [\\\"apple\\\", \\\"orange\\\", \\\"pear\\\", \\\"grape\\\"]\n\ndef when_start():\n Entry.print(basket[1])\n", "value_of_index_from_list_exampleDesc": "basket이라는 리스트를 만들고 4개의 항목을 넣습니다. [시작하기]버튼을 클릭하면 오브젝트가 basket 리스트의 1번째 항목인 orange를 말합니다.", "add_value_to_list_desc": "A 리스트의 마지막 항목으로 B값이 추가됩니다.", - "add_value_to_list_elements": "A-- 리스트명
① 모든 오브젝트에서 사용: A
② 이 오브젝트에서 사용: self.A%nextB-- 리스트에 넣을 항목 값
① 문자 : \\\"안녕!\\\", \\\"엔트리\\\" 등
② 숫자 : 0, 10, 35 등", + "add_value_to_list_elements": "A-- 리스트명\n① 모든 오브젝트에서 사용: A\n② 이 오브젝트에서 사용: self.A%nextB-- 리스트에 넣을 항목 값\n① 문자 : \\\"안녕!\\\", \\\"엔트리\\\" 등 \n② 숫자 : 0, 10, 35 등", "add_value_to_list_exampleCode": "basket = [\\\"apple\\\", \\\"orange\\\", \\\"pear\\\", \\\"grape\\\"]\n\ndef when_start():\n basket.append(\\\"juice\\\")\n Entry.print(basket[4])", "add_value_to_list_exampleDesc": "basket이라는 리스트를 만들고 4개의 항목을 넣습니다. [시작하기]버튼을 클릭하면 \\\"juice\\\"를 basket의 마지막 항목으로 추가합니다. 오브젝트는 basket의 4번째 항목인 \\\"juice\\\"를 말합니다.", - "remove_value_from_list_desc": "A 리스트의 B위치에 있는 항목을 삭제합니다.
(첫 번째 항목의 위치는 0부터 시작합니다.)", - "remove_value_from_list_elements": "A-- 리스트명
① 모든 오브젝트에서 사용: A
② 이 오브젝트에서 사용: self.A%nextB-- 리스트 항목의 위치값", + "remove_value_from_list_desc": "A 리스트의 B위치에 있는 항목을 삭제합니다.\n(첫 번째 항목의 위치는 0부터 시작합니다.)", + "remove_value_from_list_elements": "A-- 리스트명\n① 모든 오브젝트에서 사용: A\n② 이 오브젝트에서 사용: self.A%nextB-- 리스트 항목의 위치값", "remove_value_from_list_exampleCode": "basket = [\\\"apple\\\", \\\"orange\\\", \\\"pear\\\", \\\"grape\\\"]\ndef when_start():\n basket.pop(0)\n Entry.print(basket[0])", "remove_value_from_list_exampleDesc": "basket이라는 리스트를 만들고 4개의 항목을 넣습니다. [시작하기]버튼을 클릭하면 basket의 0번째 항목인 apple을 삭제합니다. 오브젝트는 새롭게 basket의 0번째 항목이 된 \\\"orange\\\"를 말합니다.", - "insert_value_to_list_desc": "A 리스트의 B위치에 C항목을 끼워 넣습니다.
(첫 번째 항목의 위치는 0부터 시작합니다. B위치보다 뒤에 있는 항목들은 순서가 하나씩 밀려납니다.)", - "insert_value_to_list_elements": "A-- 리스트명
① 모든 오브젝트에서 사용: A
② 이 오브젝트에서 사용: self.A%nextB-- 리스트 항목의 위치%nextC-- 리스트에 넣을 항목 값
① 문자 : \\\"안녕!\\\", \\\"엔트리\\\" 등
② 숫자 : 0, 10, 35 등", + "insert_value_to_list_desc": "A 리스트의 B위치에 C항목을 끼워 넣습니다. \n(첫 번째 항목의 위치는 0부터 시작합니다. B위치보다 뒤에 있는 항목들은 순서가 하나씩 밀려납니다.)", + "insert_value_to_list_elements": "A-- 리스트명\n① 모든 오브젝트에서 사용: A\n② 이 오브젝트에서 사용: self.A%nextB-- 리스트 항목의 위치%nextC-- 리스트에 넣을 항목 값\n① 문자 : \\\"안녕!\\\", \\\"엔트리\\\" 등 \n② 숫자 : 0, 10, 35 등", "insert_value_to_list_exampleCode": "basket = [\\\"apple\\\", \\\"orange\\\", \\\"pear\\\", \\\"grape\\\"]\n\ndef when_start():\n basket.insert(1, \\\"juice\\\")\n Entry.print(basket[2])", "insert_value_to_list_exampleDesc": "basket이라는 리스트를 만들고 4개의 항목을 넣습니다. [시작하기]버튼을 클릭하면 basket의 1번째 위치에 항목 \\\"juice\\\"를 끼워 넣습니다. 오브젝트는 새롭게 basket의 2번째 항목이 된 \\\"orange\\\"를 말합니다.", - "change_value_list_index_desc": "A 리스트에서 B위치에 있는 항목의 값을 C 값으로 바꿉니다.
(첫 번째 항목의 위치는 0부터 시작합니다.)", - "change_value_list_index_elements": "A-- 리스트명
① 모든 오브젝트에서 사용: A
② 이 오브젝트에서 사용: self.A%nextB-- 리스트 항목의 위치%nextC-- 리스트에 넣을 항목 값
① 문자 : \\\"안녕!\\\", \\\"엔트리\\\" 등
② 숫자 : 0, 10, 35 등", + "change_value_list_index_desc": "A 리스트에서 B위치에 있는 항목의 값을 C 값으로 바꿉니다.\n(첫 번째 항목의 위치는 0부터 시작합니다.)", + "change_value_list_index_elements": "A-- 리스트명\n① 모든 오브젝트에서 사용: A\n② 이 오브젝트에서 사용: self.A%nextB-- 리스트 항목의 위치%nextC-- 리스트에 넣을 항목 값\n① 문자 : \\\"안녕!\\\", \\\"엔트리\\\" 등 \n② 숫자 : 0, 10, 35 등", "change_value_list_index_exampleCode": "basket = [\\\"apple\\\", \\\"orange\\\", \\\"pear\\\", \\\"grape\\\"]\n\ndef when_start():\n basket[0] = \\\"juice\\\"\n Entry.print(basket[0])", "change_value_list_index_exampleDesc": "basket이라는 리스트를 만들고 4개의 항목을 넣습니다. [시작하기]버튼을 클릭하면 basket의 0번째 위치의 항목 \\\"apple\\\"을 \\\"juice\\\"로 바꿉니다. 오브젝트는 바뀐 basket의 0번째 항목 \\\"juice\\\"를 말합니다.", "length_of_list_desc": "A 리스트가 보유한 항목 개수 값입니다.", - "length_of_list_elements": "A-- 리스트명
① 모든 오브젝트에서 사용: A
② 이 오브젝트에서 사용: self.A", + "length_of_list_elements": "A-- 리스트명\n① 모든 오브젝트에서 사용: A\n② 이 오브젝트에서 사용: self.A", "length_of_list_exampleCode": "basket = [\\\"apple\\\", \\\"orange\\\", \\\"pear\\\", \\\"grape\\\"]\n\ndef when_start():\n Entry.print(len(basket))", "length_of_list_exampleDesc": "basket이라는 리스트를 만들고 4개의 항목을 넣습니다. [시작하기]버튼을 클릭하면 오브젝트는 basket의 항목 개수인 4를 말합니다.", "is_included_in_list_desc": "A값을 가진 항목이 B리스트에 포함되어 있는지 확인합니다.", - "is_included_in_list_elements": "A-- 리스트의 항목 값
① 문자 : \\\"안녕!\\\", \\\"엔트리\\\" 등
② 숫자 : 0, 10, 35 등%nextB-- 리스트명
① 모든 오브젝트에서 사용: A
② 이 오브젝트에서 사용: self.A", + "is_included_in_list_elements": "A-- 리스트의 항목 값\n① 문자 : \\\"안녕!\\\", \\\"엔트리\\\" 등 \n② 숫자 : 0, 10, 35 등%nextB-- 리스트명\n① 모든 오브젝트에서 사용: A\n② 이 오브젝트에서 사용: self.A", "is_included_in_list_exampleCode": "basket = [\\\"apple\\\", \\\"orange\\\", \\\"pear\\\", \\\"grape\\\"]\n\ndef when_start():\n if \\\"apple\\\" in basket:\n Entry.print(\\\"사과가 있어!\\\")", "is_included_in_list_exampleDesc": "basket이라는 리스트를 만들고 4개의 항목을 넣습니다. [시작하기]버튼을 클릭하면 basket 리스트에 \\\"apple\\\"항목이 있는지 확인합니다. \\\"apple\\\"항목이 있기 때문에 오브젝트는 \\\"사과가 있어!\\\"라 말합니다.", "show_list_desc": "선택한 리스트 창을 실행화면에 보이게 합니다.", - "show_list_elements": "A-- \\\"리스트명\\\"
① 모든 오브젝트에서 사용: \\\"A\\\"
② 이 오브젝트에서 사용: \\\"self.A\\\"", + "show_list_elements": "A-- \\\"리스트명\\\"\n① 모든 오브젝트에서 사용: \\\"A\\\"\n② 이 오브젝트에서 사용: \\\"self.A\\\"", "show_list_exampleCode": "basket = [\\\"apple\\\", \\\"orange\\\", \\\"pear\\\", \\\"grape\\\"]\n\ndef when_start():\n Entry.hide_list(\\\"basket\\\")\n Entry.wait_for_sec(2)\n Entry.show_list(\\\"basket\\\")", "show_list_exampleDesc": "basket이라는 리스트를 만들고 4개의 항목을 넣습니다. [시작하기]버튼을 클릭하면 basket 리스트를 2초간 숨긴 다음 보여줍니다.", "hide_list_desc": "선택한 리스트 창을 실행화면에서 숨깁니다.", - "hide_list_elements": "A-- \\\"리스트명\\\"
① 모든 오브젝트에서 사용: \\\"A\\\"
② 이 오브젝트에서 사용: \\\"self.A\\\"", + "hide_list_elements": "A-- \\\"리스트명\\\"\n① 모든 오브젝트에서 사용: \\\"A\\\"\n② 이 오브젝트에서 사용: \\\"self.A\\\"", "hide_list_exampleCode": "basket = [\\\"apple\\\", \\\"orange\\\", \\\"pear\\\", \\\"grape\\\"]\n\ndef when_start():\n Entry.hide_list(\\\"basket\\\")\n Entry.wait_for_sec(2)\n Entry.show_list(\\\"basket\\\")", "hide_list_exampleDesc": "basket이라는 리스트를 만들고 4개의 항목을 넣습니다. [시작하기]버튼을 클릭하면 basket 리스트를 2초간 숨긴 다음 보여줍니다.", "boolean_and_or_desc": "A와 B의 판단값을 확인하여 True 또는 False로 판단합니다.", @@ -11656,43 +11673,43 @@ "boolean_and_or_exampleCode": "def when_start():\n while True:\n if Entry.is_key_pressed(\\\"a\\\") and Entry.is_key_pressed(\\\"s\\\"):\n Entry.add_effect(\\\"color\\\", 10)", "boolean_and_or_exampleDesc": "[시작하기]버튼을 클릭하고 키보드의 \\\"a\\\" 와 \\\"s\\\"키를 동시에 눌렀을 때, 색깔 효과를 10만큼 줍니다.", "check_weather_desc": "B날짜에 C지역의 날씨가 A인 경우 True로 판단합니다.", - "check_weather_elements": "A-- 아래 선택지 중 하나
①    \\\"sunny\\\" : 맑음
②    \\\"partly cloudy\\\" : 구름조금
③    \\\"mostly cloudy\\\" : 구름많음
④    \\\"cloudy\\\" : 흐림
⑤    \\\"rainy\\\" : 비
⑥    \\\"sleet\\\" : 진눈깨비
⑦    \\\"snowy\\\" : 눈%nextB-- 아래 선택지 중 하나
①    \\\"yesterday\\\" : 어제
②    \\\"today\\\" : 오늘
③    \\\"tomorrow\\\" : 내일
④    \\\"After 2 days\\\" : 모레
⑤    \\\"After 3 days\\\" : 3일 후
⑥    \\\"After 4 days\\\" : 4일 후
⑦    \\\"After 5 days\\\" : 5일 후
⑧    \\\"After 6 days\\\" : 6일 후%nextC-- 아래 선택지 중 하나
①    \\\"Seoul\\\" : 서울
②    \\\"Gangwon-do\\\" : 강원
③    \\\"Gyeonggi-do\\\" : 경기
④    \\\"Gyeongsangnam-do\\\" : 경남
⑤    \\\"Gyeongsangbuk-do\\\" : 경북
⑥    \\\"Gwangju\\\" : 광주
⑦    \\\"Daegu\\\" : 대구
⑧    \\\"Daejeon\\\" : 대전
⑨    \\\"Busan\\\" : 부산
⑩    \\\"Sejong\\\" : 세종
⑪    \\\"Ulsan\\\" : 울산
⑫    \\\"Incheon\\\" : 인천
⑬    \\\"Jeollanam-do\\\" : 전남
⑭    \\\"Jeollabuk-do\\\" : 전북
⑮    \\\"Jeju\\\" : 제주
Ⓐ \\\"Chungcheongnam-do\\\" : 충남
Ⓑ \\\"Chungcheongbuk-do\\\": 충북", + "check_weather_elements": "A-- 아래 선택지 중 하나\n①    \\\"sunny\\\" : 맑음\n②    \\\"partly cloudy\\\" : 구름조금\n③    \\\"mostly cloudy\\\" : 구름많음\n④    \\\"cloudy\\\" : 흐림\n⑤    \\\"rainy\\\" : 비\n⑥    \\\"sleet\\\" : 진눈깨비\n⑦    \\\"snowy\\\" : 눈%nextB-- 아래 선택지 중 하나\n①    \\\"yesterday\\\" : 어제\n②    \\\"today\\\" : 오늘\n③    \\\"tomorrow\\\" : 내일\n④    \\\"After 2 days\\\" : 모레\n⑤    \\\"After 3 days\\\" : 3일 후\n⑥    \\\"After 4 days\\\" : 4일 후\n⑦    \\\"After 5 days\\\" : 5일 후\n⑧    \\\"After 6 days\\\" : 6일 후%nextC-- 아래 선택지 중 하나\n①    \\\"Seoul\\\" : 서울\n②    \\\"Gangwon-do\\\" : 강원\n③    \\\"Gyeonggi-do\\\" : 경기\n④    \\\"Gyeongsangnam-do\\\" : 경남\n⑤    \\\"Gyeongsangbuk-do\\\" : 경북\n⑥    \\\"Gwangju\\\" : 광주\n⑦    \\\"Daegu\\\" : 대구\n⑧    \\\"Daejeon\\\" : 대전\n⑨    \\\"Busan\\\" : 부산\n⑩    \\\"Sejong\\\" : 세종\n⑪    \\\"Ulsan\\\" : 울산\n⑫    \\\"Incheon\\\" : 인천\n⑬    \\\"Jeollanam-do\\\" : 전남\n⑭    \\\"Jeollabuk-do\\\" : 전북\n⑮    \\\"Jeju\\\" : 제주\nⒶ \\\"Chungcheongnam-do\\\" : 충남\nⒷ \\\"Chungcheongbuk-do\\\": 충북", "check_weather_exampleCode": "def when_start():\n if Weather.is_condition_sunny(\\\"today\\\", \\\"Seoul\\\"):\n Entry.print(\\\"오늘 서울의 날씨는 맑습니다.\\\")", "check_weather_exampleDesc": "[시작하기]버튼을 클릭하면 오늘 서울의 날씨가 맑은지 확인합니다. 만약 서울의 날씨가 맑다면 오브젝트가 \\\"오늘 서울의 날씨는 맑습니다.\\\"라고 말합니다.​", "check_finedust_desc": "선택한 지역의 현재 미세먼지 정보를 실제 미세먼지 등급과 비교하여 일치하는 경우 ‘참’으로 판단합니다.", - "check_finedust_elements": "A-- 아래 선택지 중 하나
①    \\\"good\\\" : 좋음
②    \\\"normal\\\" : 보통
③    \\\"bad\\\" : 나쁨
④    \\\"very bad\\\" : 매우나쁨%nextB-- 아래 선택지 중 하나
①    \\\"Seoul\\\" : 서울
②    \\\"Gangwon-do\\\" : 강원
③    \\\"Gyeonggi-do\\\" : 경기
④    \\\"Gyeongsangnam-do\\\" : 경남
⑤    \\\"Gyeongsangbuk-do\\\" : 경북
⑥    \\\"Gwangju\\\" : 광주
⑦    \\\"Daegu\\\" : 대구
⑧    \\\"Daejeon\\\" : 대전
⑨    \\\"Busan\\\" : 부산
⑩    \\\"Sejong\\\" : 세종
⑪    \\\"Ulsan\\\" : 울산
⑫    \\\"Incheon\\\" : 인천
⑬    \\\"Jeollanam-do\\\" : 전남
⑭    \\\"Jeollabuk-do\\\" : 전북
⑮    \\\"Jeju\\\" : 제주
Ⓐ \\\"Chungcheongnam-do\\\" : 충남
Ⓑ \\\"Chungcheongbuk-do\\\": 충북", + "check_finedust_elements": "A-- 아래 선택지 중 하나\n①    \\\"good\\\" : 좋음\n②    \\\"normal\\\" : 보통\n③    \\\"bad\\\" : 나쁨\n④    \\\"very bad\\\" : 매우나쁨%nextB-- 아래 선택지 중 하나\n①    \\\"Seoul\\\" : 서울\n②    \\\"Gangwon-do\\\" : 강원\n③    \\\"Gyeonggi-do\\\" : 경기\n④    \\\"Gyeongsangnam-do\\\" : 경남\n⑤    \\\"Gyeongsangbuk-do\\\" : 경북\n⑥    \\\"Gwangju\\\" : 광주\n⑦    \\\"Daegu\\\" : 대구\n⑧    \\\"Daejeon\\\" : 대전\n⑨    \\\"Busan\\\" : 부산\n⑩    \\\"Sejong\\\" : 세종\n⑪    \\\"Ulsan\\\" : 울산\n⑫    \\\"Incheon\\\" : 인천\n⑬    \\\"Jeollanam-do\\\" : 전남\n⑭    \\\"Jeollabuk-do\\\" : 전북\n⑮    \\\"Jeju\\\" : 제주\nⒶ \\\"Chungcheongnam-do\\\" : 충남\nⒷ \\\"Chungcheongbuk-do\\\": 충북", "check_finedust_exampleCode": "def when_start():\n if Weather.is_current_finedust_grade_good(\\\"Seoul\\\"):\n Entry.print(\\\"현재 서울의 미세먼지 등급은 좋음입니다.\\\")", "check_finedust_exampleDesc": "[시작하기]버튼을 클릭하면 현재 서울의 미세먼지 등급이 좋음인지 확인합니다. 만약 서울의 날씨가 맑다면 오브젝트가 “오늘 서울의 미세먼지 등급은 좋음입니다.”라고 말합니다.​", "get_weather_data_desc": "선택한 날짜와 지역의 각종 날씨 정보값(최저기온, 최고기온, 습도, 강수량, 강수확률, 풍속)입니다.", - "get_weather_data_elements": "A-- 아래 선택지 중 하나
①    \\\"the lowest temperature\\\" : 최저기온
②    \\\"the highest temperature\\\" : 최고기온
③    \\\"humidity\\\" : 습도
④    \\\"precipitation\\\" : 강수량
⑤    \\\"precipitation probability\\\" : 강수확률
⑥    \\\"wind speed\\\" : 풍속%nextB-- 아래 선택지 중 하나
①    \\\"yesterday\\\" : 어제
②    \\\"today\\\" : 오늘
③    \\\"tomorrow\\\" : 내일
④    \\\"After 2 days\\\" : 모레
⑤    \\\"After 3 days\\\" : 3일 후
⑥    \\\"After 4 days\\\" : 4일 후
⑦    \\\"After 5 days\\\" : 5일 후
⑧    \\\"After 6 days\\\" : 6일 후%nextC-- 아래 선택지 중 하나
①    \\\"Seoul\\\" : 서울
②    \\\"Gangwon-do\\\" : 강원
③    \\\"Gyeonggi-do\\\" : 경기
④    \\\"Gyeongsangnam-do\\\" : 경남
⑤    \\\"Gyeongsangbuk-do\\\" : 경북
⑥    \\\"Gwangju\\\" : 광주
⑦    \\\"Daegu\\\" : 대구
⑧    \\\"Daejeon\\\" : 대전
⑨    \\\"Busan\\\" : 부산
⑩    \\\"Sejong\\\" : 세종
⑪    \\\"Ulsan\\\" : 울산
⑫    \\\"Incheon\\\" : 인천
⑬    \\\"Jeollanam-do\\\" : 전남
⑭    \\\"Jeollabuk-do\\\" : 전북
⑮    \\\"Jeju\\\" : 제주
Ⓐ \\\"Chungcheongnam-do\\\" : 충남
Ⓑ \\\"Chungcheongbuk-do\\\": 충북", + "get_weather_data_elements": "A-- 아래 선택지 중 하나\n①    \\\"the lowest temperature\\\" : 최저기온\n②    \\\"the highest temperature\\\" : 최고기온\n③    \\\"humidity\\\" : 습도\n④    \\\"precipitation\\\" : 강수량\n⑤    \\\"precipitation probability\\\" : 강수확률\n⑥    \\\"wind speed\\\" : 풍속%nextB-- 아래 선택지 중 하나\n①    \\\"yesterday\\\" : 어제\n②    \\\"today\\\" : 오늘\n③    \\\"tomorrow\\\" : 내일\n④    \\\"After 2 days\\\" : 모레\n⑤    \\\"After 3 days\\\" : 3일 후\n⑥    \\\"After 4 days\\\" : 4일 후\n⑦    \\\"After 5 days\\\" : 5일 후\n⑧    \\\"After 6 days\\\" : 6일 후%nextC-- 아래 선택지 중 하나\n①    \\\"Seoul\\\" : 서울\n②    \\\"Gangwon-do\\\" : 강원\n③    \\\"Gyeonggi-do\\\" : 경기\n④    \\\"Gyeongsangnam-do\\\" : 경남\n⑤    \\\"Gyeongsangbuk-do\\\" : 경북\n⑥    \\\"Gwangju\\\" : 광주\n⑦    \\\"Daegu\\\" : 대구\n⑧    \\\"Daejeon\\\" : 대전\n⑨    \\\"Busan\\\" : 부산\n⑩    \\\"Sejong\\\" : 세종\n⑪    \\\"Ulsan\\\" : 울산\n⑫    \\\"Incheon\\\" : 인천\n⑬    \\\"Jeollanam-do\\\" : 전남\n⑭    \\\"Jeollabuk-do\\\" : 전북\n⑮    \\\"Jeju\\\" : 제주\nⒶ \\\"Chungcheongnam-do\\\" : 충남\nⒷ \\\"Chungcheongbuk-do\\\": 충북", "get_weather_data_exampleCode": "def when_start():\n Entry.print(Weather.get_lowest_temperature(\\\"today\\\", \\\"Seoul\\\"))", "get_weather_data_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 오늘 서울의 최저기온을 말합니다.​", "get_current_weather_data_desc": "현재 B지역의 A 날씨 정보값을 의미합니다.", - "get_current_weather_data_elements": "A-- 아래 선택지 중 하나
①    \\\"Seoul\\\" : 서울
②    \\\"Gangwon-do\\\" : 강원
③    \\\"Gyeonggi-do\\\" : 경기
④    \\\"Gyeongsangnam-do\\\" : 경남
⑤    \\\"Gyeongsangbuk-do\\\" : 경북
⑥    \\\"Gwangju\\\" : 광주
⑦    \\\"Daegu\\\" : 대구
⑧    \\\"Daejeon\\\" : 대전
⑨    \\\"Busan\\\" : 부산
⑩    \\\"Sejong\\\" : 세종
⑪    \\\"Ulsan\\\" : 울산
⑫    \\\"Incheon\\\" : 인천
⑬    \\\"Jeollanam-do\\\" : 전남
⑭    \\\"Jeollabuk-do\\\" : 전북
⑮    \\\"Jeju\\\" : 제주
Ⓐ \\\"Chungcheongnam-do\\\" : 충남
Ⓑ \\\"Chungcheongbuk-do\\\": 충북%nextB-- 아래 선택지 중 하나
①    \\\"temperature\\\" : 기온
②    \\\"concentration of fine dust\\\" : 미세먼지농도", + "get_current_weather_data_elements": "A-- 아래 선택지 중 하나\n①    \\\"Seoul\\\" : 서울\n②    \\\"Gangwon-do\\\" : 강원\n③    \\\"Gyeonggi-do\\\" : 경기\n④    \\\"Gyeongsangnam-do\\\" : 경남\n⑤    \\\"Gyeongsangbuk-do\\\" : 경북\n⑥    \\\"Gwangju\\\" : 광주\n⑦    \\\"Daegu\\\" : 대구\n⑧    \\\"Daejeon\\\" : 대전\n⑨    \\\"Busan\\\" : 부산\n⑩    \\\"Sejong\\\" : 세종\n⑪    \\\"Ulsan\\\" : 울산\n⑫    \\\"Incheon\\\" : 인천\n⑬    \\\"Jeollanam-do\\\" : 전남\n⑭    \\\"Jeollabuk-do\\\" : 전북\n⑮    \\\"Jeju\\\" : 제주\nⒶ \\\"Chungcheongnam-do\\\" : 충남\nⒷ \\\"Chungcheongbuk-do\\\": 충북%nextB-- 아래 선택지 중 하나\n①    \\\"temperature\\\" : 기온\n②    \\\"concentration of fine dust\\\" : 미세먼지농도", "get_current_weather_data_exampleCode": "def when_start():\n Entry.print(Weather.get_current_temperature(\\\"Seoul\\\"))", "get_current_weather_data_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 현재 서울의 기온을 말합니다.", "get_today_temperature_desc": "오늘 A지역의 B 시간대 기온 정보값을 의미합니다.", - "get_today_temperature_elements": "A-- 아래 선택지 중 하나
①    \\\"Seoul\\\" : 서울
②    \\\"Gangwon-do\\\" : 강원
③    \\\"Gyeonggi-do\\\" : 경기
④    \\\"Gyeongsangnam-do\\\" : 경남
⑤    \\\"Gyeongsangbuk-do\\\" : 경북
⑥    \\\"Gwangju\\\" : 광주
⑦    \\\"Daegu\\\" : 대구
⑧    \\\"Daejeon\\\" : 대전
⑨    \\\"Busan\\\" : 부산
⑩    \\\"Sejong\\\" : 세종
⑪    \\\"Ulsan\\\" : 울산
⑫    \\\"Incheon\\\" : 인천
⑬    \\\"Jeollanam-do\\\" : 전남
⑭    \\\"Jeollabuk-do\\\" : 전북
⑮    \\\"Jeju\\\" : 제주
Ⓐ \\\"Chungcheongnam-do\\\" : 충남
Ⓑ \\\"Chungcheongbuk-do\\\": 충북%nextB-- 아래 선택지 중 하나
①    \\\"00\\\" : 당일 00시 측정된 기온값
②    \\\"03\\\" : 당일 03시 측정된 기온값
③    \\\"06\\\" : 당일 06시 측정된 기온값
④    \\\"09\\\" : 당일 09시 측정된 기온값
⑤    \\\"12\\\" : 당일 12시 측정된 기온값
⑥    \\\"15\\\" : 당일 15시 측정된 기온값
⑦    \\\"18\\\" : 당일 18시 측정된 기온값
⑧    \\\"21\\\" : 당일 21시 측정된 기온값", + "get_today_temperature_elements": "A-- 아래 선택지 중 하나\n①    \\\"Seoul\\\" : 서울\n②    \\\"Gangwon-do\\\" : 강원\n③    \\\"Gyeonggi-do\\\" : 경기\n④    \\\"Gyeongsangnam-do\\\" : 경남\n⑤    \\\"Gyeongsangbuk-do\\\" : 경북\n⑥    \\\"Gwangju\\\" : 광주\n⑦    \\\"Daegu\\\" : 대구\n⑧    \\\"Daejeon\\\" : 대전\n⑨    \\\"Busan\\\" : 부산\n⑩    \\\"Sejong\\\" : 세종\n⑪    \\\"Ulsan\\\" : 울산\n⑫    \\\"Incheon\\\" : 인천\n⑬    \\\"Jeollanam-do\\\" : 전남\n⑭    \\\"Jeollabuk-do\\\" : 전북\n⑮    \\\"Jeju\\\" : 제주\nⒶ \\\"Chungcheongnam-do\\\" : 충남\nⒷ \\\"Chungcheongbuk-do\\\": 충북%nextB-- 아래 선택지 중 하나\n①    \\\"00\\\" : 당일 00시 측정된 기온값\n②    \\\"03\\\" : 당일 03시 측정된 기온값\n③    \\\"06\\\" : 당일 06시 측정된 기온값\n④    \\\"09\\\" : 당일 09시 측정된 기온값\n⑤    \\\"12\\\" : 당일 12시 측정된 기온값\n⑥    \\\"15\\\" : 당일 15시 측정된 기온값\n⑦    \\\"18\\\" : 당일 18시 측정된 기온값\n⑧    \\\"21\\\" : 당일 21시 측정된 기온값", "get_today_temperature_exampleCode": "def when_start():\n Entry.print(Weather.get_today_temperature(\\\"Seoul\\\", 00))", "get_today_temperature_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 오늘 서울의 00시 기온을 말합니다.​", "check_city_weather_desc": "B날짜에 C지역의 날씨가 A인 경우 True로 판단합니다.", - "check_city_weather_elements": "A-- 아래 선택지 중 하나
①    \\\"sunny\\\" : 맑음
②    \\\"partly cloudy\\\" : 구름조금
③    \\\"mostly cloudy\\\" : 구름많음
④    \\\"cloudy\\\" : 흐림
⑤    \\\"rainy\\\" : 비
⑥    \\\"sleet\\\" : 진눈깨비
⑦    \\\"snowy\\\" : 눈%nextB-- 아래 선택지 중 하나
①    \\\"yesterday\\\" : 어제
②    \\\"today\\\" : 오늘
③    \\\"tomorrow\\\" : 내일
④    \\\"After 2 days\\\" : 모레
⑤    \\\"After 3 days\\\" : 3일 후
⑥    \\\"After 4 days\\\" : 4일 후
⑦    \\\"After 5 days\\\" : 5일 후
⑧    \\\"After 6 days\\\" : 6일 후%nextC-- 아래 선택지 중 하나
①    \\\"Seoul\\\" : 서울
②    \\\"Gangwon-do\\\" : 강원
③    \\\"Gyeonggi-do\\\" : 경기
④    \\\"Gyeongsangnam-do\\\" : 경남
⑤    \\\"Gyeongsangbuk-do\\\" : 경북
⑥    \\\"Gwangju\\\" : 광주
⑦    \\\"Daegu\\\" : 대구
⑧    \\\"Daejeon\\\" : 대전
⑨    \\\"Busan\\\" : 부산
⑩    \\\"Sejong\\\" : 세종
⑪    \\\"Ulsan\\\" : 울산
⑫    \\\"Incheon\\\" : 인천
⑬    \\\"Jeollanam-do\\\" : 전남
⑭    \\\"Jeollabuk-do\\\" : 전북
⑮    \\\"Jeju\\\" : 제주
Ⓐ \\\"Chungcheongnam-do\\\" : 충남
Ⓑ \\\"Chungcheongbuk-do\\\": 충북", + "check_city_weather_elements": "A-- 아래 선택지 중 하나\n①    \\\"sunny\\\" : 맑음\n②    \\\"partly cloudy\\\" : 구름조금\n③    \\\"mostly cloudy\\\" : 구름많음\n④    \\\"cloudy\\\" : 흐림\n⑤    \\\"rainy\\\" : 비\n⑥    \\\"sleet\\\" : 진눈깨비\n⑦    \\\"snowy\\\" : 눈%nextB-- 아래 선택지 중 하나\n①    \\\"yesterday\\\" : 어제\n②    \\\"today\\\" : 오늘\n③    \\\"tomorrow\\\" : 내일\n④    \\\"After 2 days\\\" : 모레\n⑤    \\\"After 3 days\\\" : 3일 후\n⑥    \\\"After 4 days\\\" : 4일 후\n⑦    \\\"After 5 days\\\" : 5일 후\n⑧    \\\"After 6 days\\\" : 6일 후%nextC-- 아래 선택지 중 하나\n①    \\\"Seoul\\\" : 서울\n②    \\\"Gangwon-do\\\" : 강원\n③    \\\"Gyeonggi-do\\\" : 경기\n④    \\\"Gyeongsangnam-do\\\" : 경남\n⑤    \\\"Gyeongsangbuk-do\\\" : 경북\n⑥    \\\"Gwangju\\\" : 광주\n⑦    \\\"Daegu\\\" : 대구\n⑧    \\\"Daejeon\\\" : 대전\n⑨    \\\"Busan\\\" : 부산\n⑩    \\\"Sejong\\\" : 세종\n⑪    \\\"Ulsan\\\" : 울산\n⑫    \\\"Incheon\\\" : 인천\n⑬    \\\"Jeollanam-do\\\" : 전남\n⑭    \\\"Jeollabuk-do\\\" : 전북\n⑮    \\\"Jeju\\\" : 제주\nⒶ \\\"Chungcheongnam-do\\\" : 충남\nⒷ \\\"Chungcheongbuk-do\\\": 충북", "check_city_weather_exampleCode": "def when_start():\n if Weather.is_condition_sunny(\\\"today\\\", \\\"Seoul\\\"):\n Entry.print(\\\"오늘 서울의 날씨는 맑습니다.\\\")", "check_city_weather_exampleDesc": "[시작하기]버튼을 클릭하면 오늘 서울의 날씨가 맑은지 확인합니다. 만약 서울의 날씨가 맑다면 오브젝트가 \\\"오늘 서울의 날씨는 맑습니다.\\\"라고 말합니다.​", "check_city_finedust_desc": "선택한 지역의 현재 미세먼지 정보를 실제 미세먼지 등급과 비교하여 일치하는 경우 ‘참’으로 판단합니다.", - "check_city_finedust_elements": "A-- 아래 선택지 중 하나
①    \\\"good\\\" : 좋음
②    \\\"normal\\\" : 보통
③    \\\"bad\\\" : 나쁨
④    \\\"very bad\\\" : 매우나쁨%nextB-- 아래 선택지 중 하나
①    \\\"Seoul\\\" : 서울
②    \\\"Gangwon-do\\\" : 강원
③    \\\"Gyeonggi-do\\\" : 경기
④    \\\"Gyeongsangnam-do\\\" : 경남
⑤    \\\"Gyeongsangbuk-do\\\" : 경북
⑥    \\\"Gwangju\\\" : 광주
⑦    \\\"Daegu\\\" : 대구
⑧    \\\"Daejeon\\\" : 대전
⑨    \\\"Busan\\\" : 부산
⑩    \\\"Sejong\\\" : 세종
⑪    \\\"Ulsan\\\" : 울산
⑫    \\\"Incheon\\\" : 인천
⑬    \\\"Jeollanam-do\\\" : 전남
⑭    \\\"Jeollabuk-do\\\" : 전북
⑮    \\\"Jeju\\\" : 제주
Ⓐ \\\"Chungcheongnam-do\\\" : 충남
Ⓑ \\\"Chungcheongbuk-do\\\": 충북", + "check_city_finedust_elements": "A-- 아래 선택지 중 하나\n①    \\\"good\\\" : 좋음\n②    \\\"normal\\\" : 보통\n③    \\\"bad\\\" : 나쁨\n④    \\\"very bad\\\" : 매우나쁨%nextB-- 아래 선택지 중 하나\n①    \\\"Seoul\\\" : 서울\n②    \\\"Gangwon-do\\\" : 강원\n③    \\\"Gyeonggi-do\\\" : 경기\n④    \\\"Gyeongsangnam-do\\\" : 경남\n⑤    \\\"Gyeongsangbuk-do\\\" : 경북\n⑥    \\\"Gwangju\\\" : 광주\n⑦    \\\"Daegu\\\" : 대구\n⑧    \\\"Daejeon\\\" : 대전\n⑨    \\\"Busan\\\" : 부산\n⑩    \\\"Sejong\\\" : 세종\n⑪    \\\"Ulsan\\\" : 울산\n⑫    \\\"Incheon\\\" : 인천\n⑬    \\\"Jeollanam-do\\\" : 전남\n⑭    \\\"Jeollabuk-do\\\" : 전북\n⑮    \\\"Jeju\\\" : 제주\nⒶ \\\"Chungcheongnam-do\\\" : 충남\nⒷ \\\"Chungcheongbuk-do\\\": 충북", "check_city_finedust_exampleCode": "def when_start():\n if Weather.is_current_finedust_grade_good(\\\"Seoul\\\"):\n Entry.print(\\\"현재 서울의 미세먼지 등급은 좋음입니다.\\\")", "check_city_finedust_exampleDesc": "[시작하기]버튼을 클릭하면 현재 서울의 미세먼지 등급이 좋음인지 확인합니다. 만약 서울의 날씨가 맑다면 오브젝트가 “오늘 서울의 미세먼지 등급은 좋음입니다.”라고 말합니다.​", "get_city_weather_data_desc": "선택한 날짜와 지역의 각종 날씨 정보값(최저기온, 최고기온, 습도, 강수량, 강수확률, 풍속)입니다.", - "get_city_weather_data_elements": "A-- 아래 선택지 중 하나
①    \\\"the lowest temperature\\\" : 최저기온
②    \\\"the highest temperature\\\" : 최고기온
③    \\\"humidity\\\" : 습도
④    \\\"precipitation\\\" : 강수량
⑤    \\\"precipitation probability\\\" : 강수확률
⑥    \\\"wind speed\\\" : 풍속%nextB-- 아래 선택지 중 하나
①    \\\"yesterday\\\" : 어제
②    \\\"today\\\" : 오늘
③    \\\"tomorrow\\\" : 내일
④    \\\"After 2 days\\\" : 모레
⑤    \\\"After 3 days\\\" : 3일 후
⑥    \\\"After 4 days\\\" : 4일 후
⑦    \\\"After 5 days\\\" : 5일 후
⑧    \\\"After 6 days\\\" : 6일 후%nextC-- 아래 선택지 중 하나
①    \\\"Seoul\\\" : 서울
②    \\\"Gangwon-do\\\" : 강원
③    \\\"Gyeonggi-do\\\" : 경기
④    \\\"Gyeongsangnam-do\\\" : 경남
⑤    \\\"Gyeongsangbuk-do\\\" : 경북
⑥    \\\"Gwangju\\\" : 광주
⑦    \\\"Daegu\\\" : 대구
⑧    \\\"Daejeon\\\" : 대전
⑨    \\\"Busan\\\" : 부산
⑩    \\\"Sejong\\\" : 세종
⑪    \\\"Ulsan\\\" : 울산
⑫    \\\"Incheon\\\" : 인천
⑬    \\\"Jeollanam-do\\\" : 전남
⑭    \\\"Jeollabuk-do\\\" : 전북
⑮    \\\"Jeju\\\" : 제주
Ⓐ \\\"Chungcheongnam-do\\\" : 충남
Ⓑ \\\"Chungcheongbuk-do\\\": 충북", + "get_city_weather_data_elements": "A-- 아래 선택지 중 하나\n①    \\\"the lowest temperature\\\" : 최저기온\n②    \\\"the highest temperature\\\" : 최고기온\n③    \\\"humidity\\\" : 습도\n④    \\\"precipitation\\\" : 강수량\n⑤    \\\"precipitation probability\\\" : 강수확률\n⑥    \\\"wind speed\\\" : 풍속%nextB-- 아래 선택지 중 하나\n①    \\\"yesterday\\\" : 어제\n②    \\\"today\\\" : 오늘\n③    \\\"tomorrow\\\" : 내일\n④    \\\"After 2 days\\\" : 모레\n⑤    \\\"After 3 days\\\" : 3일 후\n⑥    \\\"After 4 days\\\" : 4일 후\n⑦    \\\"After 5 days\\\" : 5일 후\n⑧    \\\"After 6 days\\\" : 6일 후%nextC-- 아래 선택지 중 하나\n①    \\\"Seoul\\\" : 서울\n②    \\\"Gangwon-do\\\" : 강원\n③    \\\"Gyeonggi-do\\\" : 경기\n④    \\\"Gyeongsangnam-do\\\" : 경남\n⑤    \\\"Gyeongsangbuk-do\\\" : 경북\n⑥    \\\"Gwangju\\\" : 광주\n⑦    \\\"Daegu\\\" : 대구\n⑧    \\\"Daejeon\\\" : 대전\n⑨    \\\"Busan\\\" : 부산\n⑩    \\\"Sejong\\\" : 세종\n⑪    \\\"Ulsan\\\" : 울산\n⑫    \\\"Incheon\\\" : 인천\n⑬    \\\"Jeollanam-do\\\" : 전남\n⑭    \\\"Jeollabuk-do\\\" : 전북\n⑮    \\\"Jeju\\\" : 제주\nⒶ \\\"Chungcheongnam-do\\\" : 충남\nⒷ \\\"Chungcheongbuk-do\\\": 충북", "get_city_weather_data_exampleCode": "def when_start():\n Entry.print(Weather.get_lowest_temperature(\\\"today\\\", \\\"Seoul\\\"))", "get_city_weather_data_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 오늘 서울의 최저기온을 말합니다.​", "get_current_city_weather_data_desc": "현재 B지역의 A 날씨 정보값을 의미합니다.", - "get_current_city_weather_data_elements": "A-- 아래 선택지 중 하나
①    \\\"Seoul\\\" : 서울
②    \\\"Gangwon-do\\\" : 강원
③    \\\"Gyeonggi-do\\\" : 경기
④    \\\"Gyeongsangnam-do\\\" : 경남
⑤    \\\"Gyeongsangbuk-do\\\" : 경북
⑥    \\\"Gwangju\\\" : 광주
⑦    \\\"Daegu\\\" : 대구
⑧    \\\"Daejeon\\\" : 대전
⑨    \\\"Busan\\\" : 부산
⑩    \\\"Sejong\\\" : 세종
⑪    \\\"Ulsan\\\" : 울산
⑫    \\\"Incheon\\\" : 인천
⑬    \\\"Jeollanam-do\\\" : 전남
⑭    \\\"Jeollabuk-do\\\" : 전북
⑮    \\\"Jeju\\\" : 제주
Ⓐ \\\"Chungcheongnam-do\\\" : 충남
Ⓑ \\\"Chungcheongbuk-do\\\": 충북%nextB-- 아래 선택지 중 하나
①    \\\"temperature\\\" : 기온
②    \\\"concentration of fine dust\\\" : 미세먼지농도", + "get_current_city_weather_data_elements": "A-- 아래 선택지 중 하나\n①    \\\"Seoul\\\" : 서울\n②    \\\"Gangwon-do\\\" : 강원\n③    \\\"Gyeonggi-do\\\" : 경기\n④    \\\"Gyeongsangnam-do\\\" : 경남\n⑤    \\\"Gyeongsangbuk-do\\\" : 경북\n⑥    \\\"Gwangju\\\" : 광주\n⑦    \\\"Daegu\\\" : 대구\n⑧    \\\"Daejeon\\\" : 대전\n⑨    \\\"Busan\\\" : 부산\n⑩    \\\"Sejong\\\" : 세종\n⑪    \\\"Ulsan\\\" : 울산\n⑫    \\\"Incheon\\\" : 인천\n⑬    \\\"Jeollanam-do\\\" : 전남\n⑭    \\\"Jeollabuk-do\\\" : 전북\n⑮    \\\"Jeju\\\" : 제주\nⒶ \\\"Chungcheongnam-do\\\" : 충남\nⒷ \\\"Chungcheongbuk-do\\\": 충북%nextB-- 아래 선택지 중 하나\n①    \\\"temperature\\\" : 기온\n②    \\\"concentration of fine dust\\\" : 미세먼지농도", "get_current_city_weather_data_exampleCode": "def when_start():\n Entry.print(Weather.get_current_temperature(\\\"Seoul\\\"))", "get_current_city_weather_data_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 현재 서울의 기온을 말합니다.", "get_today_city_temperature_desc": "오늘 A지역의 B 시간대 기온 정보값을 의미합니다.", - "get_today_city_temperature_elements": "A-- 아래 선택지 중 하나
①    \\\"Seoul\\\" : 서울
②    \\\"Gangwon-do\\\" : 강원
③    \\\"Gyeonggi-do\\\" : 경기
④    \\\"Gyeongsangnam-do\\\" : 경남
⑤    \\\"Gyeongsangbuk-do\\\" : 경북
⑥    \\\"Gwangju\\\" : 광주
⑦    \\\"Daegu\\\" : 대구
⑧    \\\"Daejeon\\\" : 대전
⑨    \\\"Busan\\\" : 부산
⑩    \\\"Sejong\\\" : 세종
⑪    \\\"Ulsan\\\" : 울산
⑫    \\\"Incheon\\\" : 인천
⑬    \\\"Jeollanam-do\\\" : 전남
⑭    \\\"Jeollabuk-do\\\" : 전북
⑮    \\\"Jeju\\\" : 제주
Ⓐ \\\"Chungcheongnam-do\\\" : 충남
Ⓑ \\\"Chungcheongbuk-do\\\": 충북%nextB-- 아래 선택지 중 하나
①    \\\"00\\\" : 당일 00시 측정된 기온값
②    \\\"03\\\" : 당일 03시 측정된 기온값
③    \\\"06\\\" : 당일 06시 측정된 기온값
④    \\\"09\\\" : 당일 09시 측정된 기온값
⑤    \\\"12\\\" : 당일 12시 측정된 기온값
⑥    \\\"15\\\" : 당일 15시 측정된 기온값
⑦    \\\"18\\\" : 당일 18시 측정된 기온값
⑧    \\\"21\\\" : 당일 21시 측정된 기온값", + "get_today_city_temperature_elements": "A-- 아래 선택지 중 하나\n①    \\\"Seoul\\\" : 서울\n②    \\\"Gangwon-do\\\" : 강원\n③    \\\"Gyeonggi-do\\\" : 경기\n④    \\\"Gyeongsangnam-do\\\" : 경남\n⑤    \\\"Gyeongsangbuk-do\\\" : 경북\n⑥    \\\"Gwangju\\\" : 광주\n⑦    \\\"Daegu\\\" : 대구\n⑧    \\\"Daejeon\\\" : 대전\n⑨    \\\"Busan\\\" : 부산\n⑩    \\\"Sejong\\\" : 세종\n⑪    \\\"Ulsan\\\" : 울산\n⑫    \\\"Incheon\\\" : 인천\n⑬    \\\"Jeollanam-do\\\" : 전남\n⑭    \\\"Jeollabuk-do\\\" : 전북\n⑮    \\\"Jeju\\\" : 제주\nⒶ \\\"Chungcheongnam-do\\\" : 충남\nⒷ \\\"Chungcheongbuk-do\\\": 충북%nextB-- 아래 선택지 중 하나\n①    \\\"00\\\" : 당일 00시 측정된 기온값\n②    \\\"03\\\" : 당일 03시 측정된 기온값\n③    \\\"06\\\" : 당일 06시 측정된 기온값\n④    \\\"09\\\" : 당일 09시 측정된 기온값\n⑤    \\\"12\\\" : 당일 12시 측정된 기온값\n⑥    \\\"15\\\" : 당일 15시 측정된 기온값\n⑦    \\\"18\\\" : 당일 18시 측정된 기온값\n⑧    \\\"21\\\" : 당일 21시 측정된 기온값", "get_today_city_temperature_exampleCode": "def when_start():\n Entry.print(Weather.get_today_city_temperature(\\\"Seoul\\\", 00))", "get_today_city_temperature_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 오늘 서울의 00시 기온을 말합니다.​" }, diff --git a/src/renderer/resources/lang/ko.json b/src/renderer/resources/lang/ko.json index 7a1664d5f..be461c912 100644 --- a/src/renderer/resources/lang/ko.json +++ b/src/renderer/resources/lang/ko.json @@ -376,10 +376,14 @@ "LOOKS_change_object_index_sub_4": "맨 뒤로", "entry": "엔트리", "JUDGEMENT_is_clicked": "마우스를 클릭했는가?", + "JUDGEMENT_is_object_clicked": "오브젝트를 클릭했는가?", "JUDGEMENT_is_press_some_key_2": "키가 눌러져 있는가?", "JUDGEMENT_reach_something_1": "", "JUDGEMENT_reach_something_2": "에 닿았는가?", + "JUDGEMENT_is_type_1": "(이)가", + "JUDGEMENT_is_type_2": "인가?", "JUDGEMENT_is_boost_mode": "부스트모드가 켜져 있는가?", + "is_type_number": "숫자", "JUDGEMENT_boolean_not_1": "", "JUDGEMENT_boolean_not_2": "(이)가 아니다", "CALC_calc_rand_1": "", @@ -433,6 +437,7 @@ "CALC_get_date_hour": "시각(시)", "CALC_get_date_minute": "시각(분)", "CALC_get_date_second": "시각(초)", + "CALC_get_date_day_of_week": "요일", "CALC_get_date_2": "", "CALC_distance_something_1": "", "CALC_distance_something_2": "까지의 거리", @@ -440,6 +445,8 @@ "CALC_get_sound_duration_2": "소리의 길이", "CALC_length_of_string_1": "", "CALC_length_of_string_2": "의 글자 수", + "CALC_reverse_of_string_1": "", + "CALC_reverse_of_string_2": "을(를) 뒤집기", "VARIABLE_combine_something_1": "", "VARIABLE_combine_something_2": "과(와)", "VARIABLE_combine_something_3": "를 합치기", @@ -447,10 +454,13 @@ "CALC_char_at_2": "의", "CALC_char_at_3": "번째 글자", "hi_entry": "안녕 엔트리!", + "hi_entry_en": "Hello Entry!", "CALC_substring_1": "", "CALC_substring_2": "의", "CALC_substring_3": "번째 글자부터", "CALC_substring_4": "번째 글자까지의 글자", + "CALC_count_match_string_1": "에서", + "CALC_count_match_string_2": "의 글자 수", "CALC_index_of_string_1": "", "CALC_index_of_string_2": "에서", "CALC_index_of_string_3": "의 시작 위치", @@ -1317,7 +1327,7 @@ "linebreak_on_desc_1": "글상자의 크기가 글자가 쓰일 수 있는 영역을 결정합니다.", "linebreak_on_desc_2": "내용 작성시 엔터키로 줄바꿈을 할 수 있습니다.", "linebreak_on_desc_3": "새로운 글자 추가 시 문장의 길이가 글상자의 가로 영역을 넘어가면 자동으로 줄이 바뀝니다.", - "sound_edit_warn": "기다려 주세요!
새로운 소리 편집 기능을 연구 중입니다.", + "sound_edit_warn": "기다려 주세요!\n새로운 소리 편집 기능을 연구 중입니다.", "all": "전체", "list": "목록", "save_as_image_all": "모든 코드 이미지로 저장하기", @@ -1359,7 +1369,7 @@ "temp_save_project_study": "임시 저장", "project": " 작품", "lecture_finish_popup_title": "학습 다시하기", - "lecture_finish_popup_content_1": "실습완료한 단계를
처음부터 다시 실습하시겠습니까?", + "lecture_finish_popup_content_1": "실습완료한 단계를\n처음부터 다시 실습하시겠습니까?", "lecture_finish_popup_content_2": "* 다시 실습해도 실습 완료 상태는 유지됩니다.", "in_progress2": "학습중", "completed": "완료", @@ -1371,7 +1381,7 @@ "file_upload_table_title": "테이블 새로 만들기", "file_upload_table_sub_title": "데이터를 직접 입력해 나만의 테이블을 만들 수 있어요.", "file_upload_warn_title_table": "아래와 같은 데이터는 이용약관 및 관련 법률에 의해 제재를 받을 수 있습니다.", - "file_upload_warn_desc_table": "폭력적이고 잔인한 데이터, 선정적인 내용의 데이터, 불쾌감을 주거나 혐오단어가 포함된 데이터,
본인 또는 타인의 개인정보를 침해할 수 있는 내용의 데이터, 무단 사용이 금지된 저작권의 데이터 ", + "file_upload_warn_desc_table": "폭력적이고 잔인한 데이터, 선정적인 내용의 데이터, 불쾌감을 주거나 혐오단어가 포함된 데이터,\n본인 또는 타인의 개인정보를 침해할 수 있는 내용의 데이터, 무단 사용이 금지된 저작권의 데이터 ", "file_upload_warn_desc_table_1": "폭력적이고 잔인한 데이터, 선정적인 내용의 데이터, 불쾌감을 주거나 혐오단어가 포함된 데이터,", "file_upload_warn_desc_table_2": "본인 또는 타인의 개인정보를 침해할 수 있는 내용의 데이터, 무단 사용이 금지된 저작권의 데이터 ", "table_upload_warn_1": "10MB 이하의 CSV, XLS(X) 형식의 파일을 추가할 수 있습니다. 엑셀 파일의 경우, 함수 문장이 그대로 출력됩니다.", @@ -1538,9 +1548,9 @@ "cannot_add_picture": "실행중에는 모양을 추가할 수 없습니다.", "cannot_add_sound": "실행중에는 소리를 추가할 수 없습니다.", "cannot_add_expansion_block": "실행중에는 확장 블럭을 추가할 수 없습니다.", - "add_object_before_edit": "모양 편집을 위해
오브젝트를 추가해주세요.", + "add_object_before_edit": "모양 편집을 위해\n오브젝트를 추가해주세요.", "add_table_before_edit": "테이블을 추가해주세요.", - "cannot_edit_click_to_stop": "실행 중에는 수정할 수 없습니다.
클릭하여 정지하기.", + "cannot_edit_click_to_stop": "실행 중에는 수정할 수 없습니다.\n클릭하여 정지하기.", "cannot_open_private_project": "비공개 작품은 불러올 수 없습니다. 홈으로 이동합니다.", "cannot_save_running_project": "실행 중에는 저장할 수 없습니다.", "character_gen": "캐릭터 만들기", @@ -1787,7 +1797,7 @@ "arduino_connect_success": "하드웨어가 연결되었습니다.", "confirm_load_header": "작품 복구", "uploading_msg": "업로드 중입니다", - "file_size_exceeded": "
변수 또는 리스트의 값이 너무 많아
작품을 불러올 수 없어요.", + "file_size_exceeded": "\n변수 또는 리스트의 값이 너무 많아\n작품을 불러올 수 없어요.", "upload_fail_msg": "업로드에 실패하였습니다.\n 다시 한번 시도해주세요.", "upload_not_supported_msg": "지원하지 않는 형식입니다.", "upload_not_supported_file_msg": "지원하지 않는 형식의 파일입니다.", @@ -2028,7 +2038,7 @@ }, "Helper": { "function_create": "자주 쓰는 코드를 이 블록 아래에 조립하여 함수로 만듭니다. [함수 정의하기]의 오른쪽 빈칸에 [이름]을 조립하여 함수의 이름을 정할 수 있습니다. 함수를 실행하는 데 입력값이 필요한 경우 빈칸에 [문자/숫자값], [판단값]을 조립하여 매개변수로 사용합니다.", - "Block_click_msg": "블록을 클릭하면
블록에 대한 설명이 나타납니다.", + "Block_click_msg": "블록을 클릭하면\n블록에 대한 설명이 나타납니다.", "when_run_button_click": "시작하기 버튼을 클릭하면 아래에 연결된 블록들을 실행합니다.", "when_some_key_pressed": "선택한 키를 누르면 아래에 연결된 블록들을 실행합니다.", "mouse_clicked": "마우스를 클릭했을 때 아래에 연결된 블록들을 실행합니다.", @@ -2119,10 +2129,12 @@ "sound_volume_set": "작품에서 재생되는 모든 소리의 크기를 입력한 값으로 정합니다.", "sound_silent_all": "재생 중인 모든 소리를 멈춥니다.", "is_clicked": "마우스를 클릭한 경우 ‘참’으로 판단합니다.", + "is_object_clicked": "오브젝트를 클릭한 경우 ‘참’으로 판단합니다.", "is_press_some_key": "선택한 키가 눌려져 있는 경우 ‘참’으로 판단합니다.", "reach_something": "해당 오브젝트가 선택한 항목과 닿은 경우 ‘참’으로 판단합니다.", + "is_type": "입력한 값이 숫자라면 ‘참’으로 판단합니다.", "boolean_basic_operator": "입력한 두 값을 비교합니다.\n= : 왼쪽에 위치한 값과 오른쪽에 위치한 값이 같은 경우 '참'으로 판단합니다.\n!= : 왼쪽에 위치한 값과 오른쪽에 위치한 값이 같지 않은 경우 '참'으로 판단합니다.\n> : 왼쪽에 위치한 값이 오른쪽에 위치한 값보다 큰 경우 같로 판단합니다.\n< : 왼쪽에 위치한 값이 오른쪽에 위치한 값보다 작은 경우 '참'으로 판단합니다.\n≥ : 왼쪽에 위치한 값이 오른쪽에 위치한 값보다 크거나 같은 경우 '참'으로 판단합니다.\n≤ : 왼쪽에 위치한 값이 오른쪽에 위치한 값보다 작거나 같은 경우 '참'으로 판단합니다.", - "boolean_and_or": "그리고 : 두 판단이 모두 참인 경우 ‘참’으로 판단합니다.
또는 : 두 판단 중 하나라도 참이 있는 경우 ‘참’으로 판단합니다.", + "boolean_and_or": "그리고 : 두 판단이 모두 참인 경우 ‘참’으로 판단합니다.\n또는 : 두 판단 중 하나라도 참이 있는 경우 ‘참’으로 판단합니다.", "boolean_not": "해당 판단이 참이면 거짓, 거짓이면 참으로 만듭니다.", "calc_basic": "입력한 두 수의 사칙연산 값입니다.\n+ : 입력한 두 수를 더한 값입니다.\n- : 입력한 두 수를 뺀 값입니다.\n* : 입력한 두 수를 곱한 값입니다.\n/ : 입력한 두 수를 나눈 값입니다.", "calc_rand": "입력한 두 수 사이에서 선택된 무작위 수 값입니다. (두 수 모두 정수를 입력한 경우 정수가, 두 수 중 하나라도 소수를 입력한 경우 소숫점 둘째 자리의 소수 값이 선택됩니다.)", @@ -2134,15 +2146,17 @@ "get_project_timer_value": "이 블록이 실행되는 순간 초시계에 저장된 값입니다.", "choose_project_timer_action": "초시계의 상태를 결정합니다.\n시작하기: 초시계를 시작합니다. \n정지하기: 초시계를 정지합니다. \n초기화하기: 초시계의 값을 0으로 초기화합니다. ", "set_visible_project_timer": "초시계 창을 실행화면에서 숨기거나 보이게 합니다.", - "get_date": "현재 연도, 월, 일, 시각과 같이 시간에 대한 값입니다.", + "get_date": "현재 연도, 월, 일, 요일, 시각과 같이 시간에 대한 값입니다.", "distance_something": "해당 오브젝트와 선택한 오브젝트 또는 마우스 포인터 간의 거릿값입니다.", "get_sound_duration": "선택한 소리의 길이(초) 값입니다.", "get_user_name": "작품을 실행하고 있는 사용자의 아이디 값입니다.", "get_nickname": "작품을 실행하고 있는 사용자의 닉네임 값입니다.", "length_of_string": "입력한 값의 공백을 포함한 글자 수입니다.", "combine_something": "입력한 두 값을 결합한 값입니다.", + "reverse_of_string": "입력한 값을 뒤집은 값입니다.", "char_at": "입력한 값에서 입력한 숫자 번째의 글자 값입니다. (공백을 포함합니다.)", "substring": "입력한 값에서 입력한 범위 내의 글자 값입니다. (공백을 포함합니다.)", + "count_match_string": "입력한 값에서 지정한 값의 글자 수이며, 영문의 경우 대문자와 소문자를 구분하여 수를 셉니다.", "index_of_string": "입력한 값에서 지정한 값이 처음으로 등장하는 위치 값입니다. (공백을 포함합니다.)", "replace_string": "입력한 값에서 지정한 값을 찾아 추가로 입력한 값으로 모두 바꾼 값입니다. (영문 입력 시 대소문자를 구분합니다.)", "change_string_case": "입력한 영문의 모든 알파벳을 대문자 또는 소문자로 바꾼 값입니다.", @@ -2211,7 +2225,7 @@ "speech_to_text_convert": "마이크에 입력되는 사람의 목소리를 텍스트로 변환합니다. (IE/Safari 브라우저 지원하지 않음)", "speech_to_text_get_value": "사람의 목소리를 문자로 바꾼 값입니다. 목소리가 입력되지 않거나, 음성인식 도중 오류가 발생한 경우 무조건 0 값을 갖습니다. (IE/Safari 브라우저 지원하지 않음)", "get_microphone_volume": "마이크에 입력되는 소리의 크기 값입니다. (IE/Safari 브라우저 지원하지 않음)", - "read_text": "입력한 문자값을 설정된 목소리로 읽습니다.
입력은 2500자까지 가능합니다.
인터넷에 연결되어 있지 않거나 인터넷 환경이 불안할 경우, 해당 블록이 실행되지 않고 다음 블록으로 넘어갈 수 있습니다.", + "read_text": "입력한 문자값을 설정된 목소리로 읽습니다.\n입력은 2500자까지 가능합니다.\n인터넷에 연결되어 있지 않거나 인터넷 환경이 불안할 경우, 해당 블록이 실행되지 않고 다음 블록으로 넘어갈 수 있습니다.", "read_text_wait_with_block": "입력한 문자값을 읽어준 후 다음 블록을 실행합니다.", "set_tts_property": "선택한 목소리가 선택한 속도와 선택한 음높이로 설정됩니다.", "get_translated_string": "입력한 문자값을 선택한 언어로 번역합니다. 입력은 3000자까지 가능합니다.\n*번역 가능한 언어 \n - 한국어 → 영어, 중국어 간체, 중국어 번체, 베트남어, 스페인어, 인도네시아어, 태국어, 프랑스어\n - 영어 → 일본어, 프랑스어, 한국어\n - 중국어 간체, 중국어 번체, 베트남어, 스페인어, 인도네시아어, 태국어, 프랑스어 → 한국어\n - 일본어 →영어 \n - 프랑스어 → 영어", @@ -2230,11 +2244,11 @@ "video_body_part_coord": "입력한 순서의 사람의 선택한 신체 부위의 위치값입니다. (얼굴, 목, 왼쪽 어깨, 왼쪽 팔꿈치, 왼쪽 손목, 왼쪽 엉덩이, 왼쪽 무릎, 왼쪽 발목, 오른쪽 어깨, 오른쪽 팔꿈치, 오른쪽 손목, 오른쪽 엉덩이, 오른쪽 무릎, 오른쪽 발목) (IE 및 iOS 미지원)", "video_face_part_coord": "입력한 순서의 얼굴 중 선택된 얼굴 부위의 위치값입니다. 인식이 잘 되지 않는 경우 무조건 0으로 출력됩니다. (왼쪽 눈, 오른쪽 눈, 코, 왼쪽 입꼬리, 오른쪽 입꼬리, 윗 입술, 아랫 입술) (IE 및 iOS 미지원)", "video_detected_face_info": "입력한 순서의 얼굴의 성별/나이/감정의 추정값입니다. 인식이 잘 되지 않는 경우 무조건 0으로 출력됩니다. (IE 및 iOS 미지원)", - "check_weather": "
선택한 날짜와 지역의 날씨 정보를 실제 날씨 상태와 비교하여 일치하는 경우 ‘참’으로 판단합니다.
* 옵션
날짜: 어제, 오늘, 내일, 모레, 3일 후, 4일 후, 5일 후, 6일 후
지역: 서울, 강원, 경기, 경남, 경북, 광주, 대구, 대전, 부산, 세종, 울산, 인천, 전남, 전북, 제주, 충남, 충북
날씨: 맑음, 구름조금, 구름많음, 흐림, 비, 진눈깨비, 눈", - "check_finedust": "
선택한 지역의 현재 미세먼지 정보를 실제 미세먼지 등급과 비교하여 일치하는 경우 ‘참’으로 판단합니다.
* 옵션
지역: 서울, 강원, 경기, 경남, 경북, 광주, 대구, 대전, 부산, 세종, 울산, 인천, 전남, 전북, 제주, 충남, 충북
미세먼지 등급: 좋음, 보통, 나쁨, 매우나쁨", - "get_weather_data": "
선택한 날짜와 지역의 각종 날씨 정보값(최저기온, 최고기온, 습도, 강수량, 강수확률, 풍속)입니다.
* 옵션
날짜: 어제, 오늘, 내일, 모레, 3일 후, 4일 후, 5일 후, 6일 후
지역: 서울, 강원, 경기, 경남, 경북, 광주, 대구, 대전, 부산, 세종, 울산, 인천, 전남, 전북, 제주, 충남, 충북
정보: 최저기온(℃), 최고기온(℃), 습도(%), 강수량(mm), 강수확률(%), 풍속(m/s)", - "get_current_weather_data": "
현재 선택한 지역의 날씨 정보값(기온, 미세먼지농도)입니다.
* 옵션
지역: 서울, 강원, 경기, 경남, 경북, 광주, 대구, 대전, 부산, 세종, 울산, 인천, 전남, 전북, 제주, 충남, 충북
정보: (기온(℃)), 미세먼지농도(㎍)", - "get_today_temperature": "
오늘 선택한 지역과 시간대의 기온을 의미합니다.
* 옵션
지역: 서울, 강원, 경기, 경남, 경북, 광주, 대구, 대전, 부산, 세종, 울산, 인천, 전남, 전북, 제주, 충남, 충북
시간대: 00, 03, 06, 09, 12, 15, 18, 21", + "check_weather": "\n선택한 날짜와 지역의 날씨 정보를 실제 날씨 상태와 비교하여 일치하는 경우 ‘참’으로 판단합니다.\n * 옵션\n 날짜: 어제, 오늘, 내일, 모레, 3일 후, 4일 후, 5일 후, 6일 후\n 지역: 서울, 강원, 경기, 경남, 경북, 광주, 대구, 대전, 부산, 세종, 울산, 인천, 전남, 전북, 제주, 충남, 충북\n 날씨: 맑음, 구름조금, 구름많음, 흐림, 비, 진눈깨비, 눈", + "check_finedust": "\n선택한 지역의 현재 미세먼지 정보를 실제 미세먼지 등급과 비교하여 일치하는 경우 ‘참’으로 판단합니다.\n * 옵션\n 지역: 서울, 강원, 경기, 경남, 경북, 광주, 대구, 대전, 부산, 세종, 울산, 인천, 전남, 전북, 제주, 충남, 충북\n 미세먼지 등급: 좋음, 보통, 나쁨, 매우나쁨", + "get_weather_data": "\n선택한 날짜와 지역의 각종 날씨 정보값(최저기온, 최고기온, 습도, 강수량, 강수확률, 풍속)입니다.\n * 옵션\n 날짜: 어제, 오늘, 내일, 모레, 3일 후, 4일 후, 5일 후, 6일 후\n 지역: 서울, 강원, 경기, 경남, 경북, 광주, 대구, 대전, 부산, 세종, 울산, 인천, 전남, 전북, 제주, 충남, 충북\n 정보: 최저기온(℃), 최고기온(℃), 습도(%), 강수량(mm), 강수확률(%), 풍속(m/s)", + "get_current_weather_data": "\n현재 선택한 지역의 날씨 정보값(기온, 미세먼지농도)입니다.\n * 옵션\n 지역: 서울, 강원, 경기, 경남, 경북, 광주, 대구, 대전, 부산, 세종, 울산, 인천, 전남, 전북, 제주, 충남, 충북\n 정보: (기온(℃)), 미세먼지농도(㎍)", + "get_today_temperature": "\n오늘 선택한 지역과 시간대의 기온을 의미합니다.\n * 옵션\n 지역: 서울, 강원, 경기, 경남, 경북, 광주, 대구, 대전, 부산, 세종, 울산, 인천, 전남, 전북, 제주, 충남, 충북\n 시간대: 00, 03, 06, 09, 12, 15, 18, 21", "check_city_weather": "선택한 날짜와 지역의 날씨 정보를 실제 날씨 상태와 비교하여 일치하는 경우 ‘참’으로 판단합니다.\n* 옵션\n날짜: 어제, 오늘, 내일, 모레, 3일 후, 4일 후, 5일 후, 6일 후\n시도: 서울, 강원, 경기, 경남, 경북 광주, 대구, 대전, 부산, 세종, 울산, 인천, 전남, 전북, 제주, 충남, 충북 \n시군구: 시도별로 다름\n날씨: 맑음, 구름조금, 구름많음, 흐림, 비, 진눈깨비, 눈", "check_city_finedust": "선택한 지역의 현재 미세먼지 정보를 실제 미세먼지 등급과 비교하여 일치하는 경우 ‘참’으로 판단합니다.\n* 옵션\n시도: 서울, 강원, 경기, 경남, 경북,광주, 대구, 대전, 부산, 세종, 울산, 인천, 전남, 전북, 제주, 충남, 충북 \n시군구: 시도별로 다름\n미세먼지 등급: 좋음, 보통, 나쁨, 매우나쁨", "get_city_weather_data": "선택한 날짜와 지역의 각종 날씨 정보입니다.\n *옵션\n날짜: 어제, 오늘, 내일, 모레, 3일 후, 4일 후, 5일 후, 6일 후\n시도:서울, 강원, 경기, 경남, 경북, 광주, 대구, 대전, 부산, 세종, 울산, 인천, 전남, 전북, 제주, 충남, 충북 \n시군구: 시도별로 다름\n정보: 최저기온(℃), 최고기온(℃), 습도(%), 강수량(mm), 강수확률(%), 풍속(m/s)", @@ -2242,10 +2256,10 @@ "get_today_city_temperature": "오늘 선택한 지역과 시간대의 기온입니다.\n*옵션\n시도: 서울, 강원, 경기, 경남, 경북 광주, 대구, 대전, 부산, 세종, 울산, 인천, 전남, 전북, 제주, 충남, 충북 \n시군구: 시도별로 다름\n시간대: 00, 03, 06, 09, 12, 15, 18, 21", "count_festival": "선택한 날짜와 지역에서 열리는 행사의 수입니다.\n* 옵션 \n지역: 서울, 강원, 경기, 경남, 경북 광주, 대구, 대전, 부산, 세종, 울산, 인천, 전남, 전북, 제주, 충남, 충북 \n행사일: 1~12월", "get_festival_info": "선택한 날짜와 지역에서 열리는 행사에 대한 정보입니다.\n* 옵션 \n지역: 서울, 강원, 경기, 경남, 경북 광주, 대구, 대전, 부산, 세종, 울산, 인천, 전남, 전북, 제주, 충남, 충북 \n행사일: 1~12월 \n정보: 제목, 지역, 시작일, 종료일, 주소, 개요, 홈페이지", - "count_disaster_behavior": "선택한 자연재해가 발생했을 때 해야할 행동요령의 수입니다.
*옵션
자연재해: 태풍, 홍수, 호우, 강풍, 대설, 한파, 풍랑, 황사, 폭염, 가뭄, 지진, 해일, 산사태
상황: 자연재해에 따라 다름 ", - "get_disaster_behavior": "선택한 자연재해가 발생했을 때 해야하는 행동요령에 대한 정보입니다.
*옵션
자연재해: 태풍, 홍수, 호우, 강풍, 대설, 한파, 풍랑, 황사, 폭염, 가뭄, 지진, 해일, 산사태
상황: 자연재해에 따라 다름", - "count_lifeSafety_behavior": "선택한 생활 속 문제가 발생했을 때 해야할 행동요령의 수입니다.
*옵션
생활 속 문제: 응급처치, 심폐소생술, 소화기·소화전 사용법, 식중독, 산행안전, 실종유괴, 성폭력, 학교폭력, 가정 폭력, 억류 및 납치, 교통사고, 승강기 안전사고, 미세먼지
상황: 생활 속 문제에 따라 다름 ", - "get_lifeSafety_behavior": "선택한 생활 속 문제가 발생했을 때 해야할 행동요령에 대한 정보입니다.
*옵션
생활 속 문제: 응급처치, 심폐소생술, 소화기·소화전 사용법, 식중독, 산행안전, 실종유괴, 성폭력, 학교폭력, 가정 폭력, 억류 및 납치, 교통사고, 승강기 안전사고, 미세먼지
상황: 생활 속 문제에 따라 다름 ", + "count_disaster_behavior": "선택한 자연재해가 발생했을 때 해야할 행동요령의 수입니다.\n *옵션\n 자연재해: 태풍, 홍수, 호우, 강풍, 대설, 한파, 풍랑, 황사, 폭염, 가뭄, 지진, 해일, 산사태\n 상황: 자연재해에 따라 다름 ", + "get_disaster_behavior": "선택한 자연재해가 발생했을 때 해야하는 행동요령에 대한 정보입니다.\n *옵션\n 자연재해: 태풍, 홍수, 호우, 강풍, 대설, 한파, 풍랑, 황사, 폭염, 가뭄, 지진, 해일, 산사태\n 상황: 자연재해에 따라 다름", + "count_lifeSafety_behavior": "선택한 생활 속 문제가 발생했을 때 해야할 행동요령의 수입니다.\n *옵션\n 생활 속 문제: 응급처치, 심폐소생술, 소화기·소화전 사용법, 식중독, 산행안전, 실종유괴, 성폭력, 학교폭력, 가정 폭력, 억류 및 납치, 교통사고, 승강기 안전사고, 미세먼지\n 상황: 생활 속 문제에 따라 다름 ", + "get_lifeSafety_behavior": "선택한 생활 속 문제가 발생했을 때 해야할 행동요령에 대한 정보입니다.\n *옵션\n 생활 속 문제: 응급처치, 심폐소생술, 소화기·소화전 사용법, 식중독, 산행안전, 실종유괴, 성폭력, 학교폭력, 가정 폭력, 억류 및 납치, 교통사고, 승강기 안전사고, 미세먼지\n 상황: 생활 속 문제에 따라 다름 ", "function_general": "현재 만들고 있는 함수 블록 또는 지금까지 만들어 둔 함수 블록입니다.", "boolean_and": "두 판단이 모두 참인 경우 ‘참’으로 판단합니다.", "boolean_or": "두 판단 중 하나라도 참이 있는 경우 ‘참’으로 판단합니다.", @@ -2588,8 +2602,10 @@ "sound_volume_set": "소리 크기를 %1 % 로 정하기 %2", "sound_silent_all": "모든 소리 멈추기 %1", "is_clicked": "%1", + "is_object_clicked": "%1", "is_press_some_key": "%1 %2", "reach_something": "%1 %2 %3", + "is_type": "%1 %2 %3 %4", "boolean_basic_operator": "%1 %2 %3", "boolean_and_or": "%1 %2 %3", "False": "%1 ", @@ -2611,9 +2627,11 @@ "get_user_name": "아이디", "get_nickname": "닉네임", "length_of_string": "%1 %2 %3", + "reverse_of_string": "%1 %2 %3", "combine_something": "%1 %2 %3 %4 %5", "char_at": "%1 %2 %3 %4 %5", "substring": "%1 %2 %3 %4 %5 %6 %7", + "count_match_string": "%1 %2 %3 %4", "index_of_string": "%1 %2 %3 %4 %5", "replace_string": "%1 %2 %3 %4 %5 %6 %7", "change_string_case": "%1 %2 %3 %4 %5", @@ -2825,38 +2843,38 @@ "name": "변수명" }, "PythonHelper": { - "when_run_button_click_desc": "[시작하기]버튼을 클릭하면 아래 명령어들을 실행합니다.
아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", + "when_run_button_click_desc": "[시작하기]버튼을 클릭하면 아래 명령어들을 실행합니다.\n아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", "when_run_button_click_exampleCode": "def when_start():\n Entry.print(\"안녕!\")", "when_run_button_click_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 \"안녕!\"이라 말합니다.", - "when_some_key_pressed_desc": "A키를 누르면 아래 명령어들을 실행합니다.
아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", - "when_some_key_pressed_elements": "A-- 아래 선택지 중 하나
① 알파벳 : \"A\", \"B\" ~ \"Z\" 등(소문자 가능)
② 숫자 : 1, 2, 3, 4 ~ 9, 0
③ 특수키 : \"space\", \"enter\"
④ 방향키 : \"up\", \"down\", \"right\", \"left\"", + "when_some_key_pressed_desc": "A키를 누르면 아래 명령어들을 실행합니다.\n아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", + "when_some_key_pressed_elements": "A-- 아래 선택지 중 하나\n① 알파벳 : \"A\", \"B\" ~ \"Z\" 등(소문자 가능)\n② 숫자 : 1, 2, 3, 4 ~ 9, 0\n③ 특수키 : \"space\", \"enter\"\n④ 방향키 : \"up\", \"down\", \"right\", \"left\"", "when_some_key_pressed_exampleCode": "def when_press_key(\"W\"):\n Entry.move_to_direction(10)\n\ndef when_press_key(1):\n Entry.add_size(10)", "when_some_key_pressed_exampleDesc": "W키를 누르면 오브젝트가 이동방향으로 10만큼 이동하고, 1키를 누르면 오브젝트의 크기가 10만큼 커집니다.", - "mouse_clicked_desc": "마우스를 클릭했을 때 아래 명령어들을 실행합니다.
아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", + "mouse_clicked_desc": "마우스를 클릭했을 때 아래 명령어들을 실행합니다.\n아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", "mouse_clicked_exampleCode": "def when_click_mouse_on():\n Entry.add_size(10)\n Entry.move_to_direction(10)", "mouse_clicked_exampleDesc": "마우스를 클릭하면 오브젝트의 크기가 10만큼 커지면서 이동방향으로 10만큼 이동합니다.", - "mouse_click_cancled_desc": "마우스 클릭을 해제했을 때 아래 명령어들을 실행합니다.
아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", + "mouse_click_cancled_desc": "마우스 클릭을 해제했을 때 아래 명령어들을 실행합니다.\n아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", "mouse_click_cancled_exampleCode": "def when_click_mouse_off():\n Entry.move_to_direction(-10)\n\ndef when_click_mouse_on():\n Entry.move_to_direction(10)", "mouse_click_cancled_exampleDesc": "마우스를 클릭하면 오브젝트가 이동방향으로 10만큼 이동하고, 마우스 클릭을 해제하면 오브젝트가 이동방향으로 -10만큼 이동합니다.", - "when_object_click_desc": "해당 오브젝트를 클릭했을 때 아래 명령어들을 실행합니다.
아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", + "when_object_click_desc": "해당 오브젝트를 클릭했을 때 아래 명령어들을 실행합니다.\n아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", "when_object_click_exampleCode": "def when_click_object_on():\n Entry.print_for_sec(\"회전!\", 0.5)\n Entry.add_rotation(90)", "when_object_click_exampleDesc": "오브젝트를 클릭하면 오브젝트가 \"회전!\"이라 말하고, 90도 만큼 회전합니다.", - "when_object_click_canceled_desc": "해당 오브젝트 클릭을 해제했을 때 아래 명령어들을 실행합니다.
아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", + "when_object_click_canceled_desc": "해당 오브젝트 클릭을 해제했을 때 아래 명령어들을 실행합니다.\n아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", "when_object_click_canceled_exampleCode": "def when_click_object_on():\n Entry.add_rotation(90)\n\ndef when_click_object_off():\n Entry.add_rotation(-90)", "when_object_click_canceled_exampleDesc": "오브젝트를 클릭하면 오브젝트가 90도 만큼 회전하고, 오브젝트 클릭을 해제하면 오브젝트가 -90도 만큼 회전합니다.", - "when_message_cast_desc": "A 신호를 받으면 아래 명령어들을 실행합니다.
아래 명령어는 [Tab]키를 통해 들여쓰기합니다.
만약 A 신호가 없으면 [속성] 탭에 A 신호가 자동 생성됩니다.", + "when_message_cast_desc": "A 신호를 받으면 아래 명령어들을 실행합니다.\n아래 명령어는 [Tab]키를 통해 들여쓰기합니다.\n만약 A 신호가 없으면 [속성] 탭에 A 신호가 자동 생성됩니다.", "when_message_cast_elements": "A-- \"신호 이름\"", "when_message_cast_exampleCode": "def when_click_mouse_on():\n Entry.send_signal(\"신호\")\n\ndef when_get_signal(\"신호\"):\n Entry.print_for_sec(\"안녕! 반가워\", 0.5)", "when_message_cast_exampleDesc": "마우스를 클릭하면 \"신호\"를 보내고, \"신호\"를 받았을때 \"안녕! 반가워\"라고 0.5초간 말합니다.", - "message_cast_desc": "A에 입력된 신호를 보냅니다.
만약 A 신호가 없으면 [속성] 탭에 A 신호가 자동 생성됩니다.", + "message_cast_desc": "A에 입력된 신호를 보냅니다.\n만약 A 신호가 없으면 [속성] 탭에 A 신호가 자동 생성됩니다.", "message_cast_elements": "A-- \"신호 이름\"", "message_cast_exampleCode": "#\"오브젝트1\"의 파이선 코드\ndef when_start():\n Entry.print_for_sec(\"안녕! 넌 몇살이니?\", 2)\n Entry.send_signal(\"신호\")\n\n#\"오브젝트2\"의 파이선 코드\ndef when_get_signal(\"신호\"):\n Entry.print_for_sec(\"안녕? 난 세 살이야.\", 2)", "message_cast_exampleDesc": "[시작하기]버튼을 클릭하면 \"오브젝트1\"이 \"안녕! 넌 몇살이니?\"라고 2초간 말하고 \"신호를 보냅니다., \"오브젝트2\"가 \"신호\"를 받았을때 \"안녕? 난 세 살이야.\"라고 2초간 말합니다.", - "message_cast_wait_desc": "A에 입력된 신호를 보내고, 해당 신호를 받는 명령어들의 실행이 끝날 때까지 기다립니다.
만약 A 신호가 없으면 [속성] 탭에 A 신호가 자동 생성됩니다.", + "message_cast_wait_desc": "A에 입력된 신호를 보내고, 해당 신호를 받는 명령어들의 실행이 끝날 때까지 기다립니다.\n만약 A 신호가 없으면 [속성] 탭에 A 신호가 자동 생성됩니다.", "message_cast_wait_elements": "A-- \"신호 이름\"", "message_cast_wait_exampleCode": "#\"오브젝트1\"의 파이선 코드\ndef when_start():\n Entry.print_for_sec(\"숨바꼭질하자!\", 2)\n Entry.send_signal_wait(\"신호\")\n Entry.hide()\n\n#\"오브젝트2\"의 파이선 코드\ndef when_get_signal(\"신호\"):\n Entry.print_for_sec(\"그래!\", 2)", "message_cast_wait_exampleDesc": "[시작하기]버튼을 클릭하면 \"오브젝트1\"이 \"숨바꼭질하자!\"라고 2초 동안 말하고 \"신호\"를 보낸 후 기다립니다. \"오브젝트2\"가 \"신호\"를 받으면 \"그래!\"를 2초 동안 말합니다. \"오브젝트1\"이 그 후에 모양을 숨깁니다.", - "when_scene_start_desc": "장면이 시작되면 아래 명령어들을 실행합니다.
아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", + "when_scene_start_desc": "장면이 시작되면 아래 명령어들을 실행합니다.\n아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", "when_scene_start_exampleCode": "#\"장면 1\"의 파이선 코드\ndef when_start():\n Entry.print_for_sec(\"다른 곳으로 가볼까?\", 2)\n Entry.start_scene(\"장면 2\")\n\n#\"장면 2\"의 파이선 코드\ndef when_start_scene():\n Entry.print(\"여기가 어디지?\")", "when_scene_start_exampleDesc": "\"장면 1\"에서 [시작하기]버튼을 클릭하면 \"다른 곳으로 가볼까?\"라고 2초간 말하고, \"장면 2\"가 시작됩니다. \"장면 2\"가 시작되면 오브젝트가 \"여기가 어디지?\"라고 말합니다.", "start_scene_desc": "A 장면을 시작합니다.", @@ -2864,52 +2882,52 @@ "start_scene_exampleCode": "#\"장면 1\"의 파이선 코드\ndef when_click_object_on():\n Entry.start_scene(\"장면 2\")", "start_scene_exampleDesc": "\"장면 1\"에서 해당 오브젝트를 클릭하면 \"장면 2\"가 시작됩니다.", "start_neighbor_scene_desc": "A에 입력한 다음 또는 이전 장면을 시작합니다.", - "start_neighbor_scene_elements": "A-- 아래 선택지 중 하나
① 다음 장면: \"next\" 또는 \"다음\"
② 이전 장면: \"prev\" 또는 \"이전\"", + "start_neighbor_scene_elements": "A-- 아래 선택지 중 하나\n① 다음 장면: \"next\" 또는 \"다음\"\n② 이전 장면: \"prev\" 또는 \"이전\"", "start_neighbor_scene_exampleCode": "#\"장면 1\"의 파이선 코드\ndef when_press_key(\"right\"):\n Entry.start_scene_of(\"next\")\n\n#\"장면 2\"의 파이선 코드\ndef when_press_key(\"left\"):\n Entry.start_scene_of(\"prev\")", "start_neighbor_scene_exampleDesc": "\"장면 1\"에서 오른쪽화살표키를 누르면 다음 장면이, \"장면 2\"에서 왼쪽화살표키를 누르면 이전 장면이 시작됩니다.", "wait_second_desc": "A초만큼 기다린 후 다음 블록을 실행합니다.", "wait_second_elements": "A-- 초에 해당하는 수 입력", "wait_second_exampleCode": "def when_start():\n Entry.add_effect(\"color\", 10)\n Entry.wait_for_sec(2)\n Entry.add_size(10)", "wait_second_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트에 색깔효과를 10만큼 주고, 2초동안 기다린 다음 크기를 10만큼 커지게 합니다.", - "repeat_basic_desc": "아래 명령어들을 A번 반복하여 실행합니다.
아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", + "repeat_basic_desc": "아래 명령어들을 A번 반복하여 실행합니다.\n아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", "repeat_basic_elements": "A-- 반복할 횟수 입력", "repeat_basic_exampleCode": "def when_start():\n for i in range(10):\n Entry.move_to_direction(10)\n Entry.stamp()", "repeat_basic_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 이동방향으로 10만큼 이동하고, 도장찍는 행동을 10번 반복합니다.", - "repeat_inf_desc": "A 판단이 True인 동안 아래 명령어들을 반복 실행합니다. A에 True를 입력하면 계속 반복됩니다.
아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", - "repeat_inf_elements": "A-- True 또는 False로 판단할 수 있는 명령어 입력(판단 카테고리의 명령어)
① True, False
② 10 == 10 , 10 > 10 , 10 <= 10 등
③ Entry.is_mouse_clicked(), Entry.is_key_pressed(\"Q\") 등", + "repeat_inf_desc": "A 판단이 True인 동안 아래 명령어들을 반복 실행합니다. A에 True를 입력하면 계속 반복됩니다. \n아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", + "repeat_inf_elements": "A-- True 또는 False로 판단할 수 있는 명령어 입력(판단 카테고리의 명령어)\n① True, False\n② 10 == 10 , 10 > 10 , 10 <= 10 등\n③ Entry.is_mouse_clicked(), Entry.is_key_pressed(\"Q\") 등", "repeat_inf_exampleCode": "def when_start():\n while True:\n Entry.move_to_direction(10)\n Entry.bounce_on_edge()", "repeat_inf_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 계속해서 이동방향으로 10만큼 이동하고, 벽에 닿으면 튕깁니다.", - "repeat_while_true_desc": "A 판단이 True가 될 때까지 아래 명령어들을 반복 실행합니다.
아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", - "repeat_while_true_elements": "A-- True 또는 False로 판단할 수 있는 명령어 입력(판단 카테고리의 명령어)
① True, False
② 10 == 10 , 10 > 10 , 10 <= 10 등
③ Entry.is_mouse_clicked(), Entry.is_key_pressed(\"Q\") 등", + "repeat_while_true_desc": "A 판단이 True가 될 때까지 아래 명령어들을 반복 실행합니다.\n아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", + "repeat_while_true_elements": "A-- True 또는 False로 판단할 수 있는 명령어 입력(판단 카테고리의 명령어)\n① True, False\n② 10 == 10 , 10 > 10 , 10 <= 10 등\n③ Entry.is_mouse_clicked(), Entry.is_key_pressed(\"Q\") 등", "repeat_while_true_exampleCode": "def when_start():\n while not Entry.is_key_pressed(\"space\"):\n Entry.add_rotation(90)", "repeat_while_true_exampleDesc": "[시작하기]버튼을 클릭하면 스페이스키를 누를때까지 오브젝트가 90도 만큼 회전합니다.", "stop_repeat_desc": "이 명령어와 가장 가까운 반복 명령어의 반복을 중단합니다.", "stop_repeat_exampleCode": "def when_start():\n while True:\n Entry.move_to_direction(10)\n if Entry.is_key_pressed(\"enter\"):\n break", "stop_repeat_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 이동방향으로 10만큼 계속 이동합니다. 엔터키를 누르면 반복이 중단됩니다.", - "_if_desc": "A 부분의 판단이 True이면 if A:아래 명령어들을 실행하고, False이면 실행하지 않습니다.
아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", - "_if_elements": "A-- True 또는 False로 판단할 수 있는 명령어 입력(판단 카테고리의 명령어)
① True, False
② 10 == 10 , 10 > 10 , 10 <= 10 등
③ Entry.is_mouse_clicked(), Entry.is_key_pressed(\"Q\") 등", + "_if_desc": "A 부분의 판단이 True이면 if A:아래 명령어들을 실행하고, False이면 실행하지 않습니다.\n아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", + "_if_elements": "A-- True 또는 False로 판단할 수 있는 명령어 입력(판단 카테고리의 명령어)\n① True, False\n② 10 == 10 , 10 > 10 , 10 <= 10 등\n③ Entry.is_mouse_clicked(), Entry.is_key_pressed(\"Q\") 등", "_if_exampleCode": "def when_click_mouse_on():\n if (Entry.value_of_mouse_pointer(\"x\") > 0):\n Entry.print_for_sec(\"오른쪽!\", 0.5)", "_if_exampleDesc": "마우스를 클릭했을 때 마우스 x좌표가 0보다 크면 오브젝트가 \"오른쪽!\"이라고 0.5초 동안 말합니다.", - "if_else_desc": "A 부분의 판단이 True이면 if A: 아래 명령어들을 실행하고, False이면 else: 아래 명령어들을 실행합니다.
아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", - "if_else_elements": "A-- True 또는 False로 판단할 수 있는 명령어 입력(판단 카테고리의 명령어)
① True, False
② 10 == 10 , 10 > 10 , 10 <= 10 등
③ Entry.is_mouse_clicked(), Entry.is_key_pressed(\"Q\") 등", + "if_else_desc": "A 부분의 판단이 True이면 if A: 아래 명령어들을 실행하고, False이면 else: 아래 명령어들을 실행합니다.\n아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", + "if_else_elements": "A-- True 또는 False로 판단할 수 있는 명령어 입력(판단 카테고리의 명령어)\n① True, False\n② 10 == 10 , 10 > 10 , 10 <= 10 등\n③ Entry.is_mouse_clicked(), Entry.is_key_pressed(\"Q\") 등", "if_else_exampleCode": "def when_click_mouse_on():\n if Entry.is_touched(\"mouse_pointer\"):\n Entry.print(\"닿았다!\")\n else:\n Entry.print(\"안 닿았다!\")", "if_else_exampleDesc": "마우스를 클릭했을 때 마우스포인터가 오브젝트에 닿았으면 \"닿았다!\"를 그렇지 않으면 \"안 닿았다!\"를 말합니다.", "wait_until_true_desc": "A 부분의 판단이 True가 될 때까지 코드의 실행을 멈추고 기다립니다.", - "wait_until_true_elements": "A-- True 또는 False로 판단할 수 있는 명령어 입력(판단 카테고리의 명령어)
① True, False
② 10 == 10 , 10 > 10 , 10 <= 10 등
③ Entry.is_mouse_clicked(), Entry.is_key_pressed(\"Q\") 등", + "wait_until_true_elements": "A-- True 또는 False로 판단할 수 있는 명령어 입력(판단 카테고리의 명령어)\n① True, False\n② 10 == 10 , 10 > 10 , 10 <= 10 등\n③ Entry.is_mouse_clicked(), Entry.is_key_pressed(\"Q\") 등", "wait_until_true_exampleCode": "def when_start():\n Entry.print(\"엔터를 눌러봐!\")\n Entry.wait_until(Entry.is_key_pressed(\"enter\"))\n Entry.print(\"잘했어!\")", "wait_until_true_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 \"엔터를 눌러봐!\"라 말하고, 엔터키를 누를 때까지 기다립니다. 엔터키를 누르면 \"잘했어!\"라 말합니다.", "stop_object_desc": "A코드의 실행을 중지합니다.", - "stop_object_elements": "A-- 아래 선택지 중 하나
① \"all\": 모든 오브젝트의 모든 코드
② \"self\" : 해당 오브젝트의 모든 코드
③ \"this\": 이 명령어가 포함된 코드
④ \"others\" : 해당 오브젝트의 코드 중 이 명령어가 포함된 코드를 제외한 모든 코드
⑤ \"ohter_objects\" : 이 오브젝트를 제외한 다른 모든 오브젝트의 코드", + "stop_object_elements": "A-- 아래 선택지 중 하나\n① \"all\": 모든 오브젝트의 모든 코드\n② \"self\" : 해당 오브젝트의 모든 코드\n③ \"this\": 이 명령어가 포함된 코드\n④ \"others\" : 해당 오브젝트의 코드 중 이 명령어가 포함된 코드를 제외한 모든 코드
⑤ \"ohter_objects\" : 이 오브젝트를 제외한 다른 모든 오브젝트의 코드", "stop_object_exampleCode": "def when_start():\n while True:\n Entry.move_to(\"mouse_pointer\")\n\ndef when_press_key(\"space\"):\n Entry.stop_code(\"all\")\n", "stop_object_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 계속해서 마우스포인터 위치로 이동합니다. 스페이스키를 누르면 모든 코드의 실행이 중지됩니다.", "restart_project_desc": "작품을 처음부터 다시 실행합니다.", "restart_project_exampleCode": "def when_start():\n while True:\n Entry.add_size(10)\n\ndef when_press_key(\"enter\"):\n Entry.start_again()", "restart_project_exampleDesc": "[시작하기]버튼을 클릭하면 계속해서 오브젝트의 크기가 커집니다. 엔터키를 누르면 작품을 처음부터 다시 실행합니다.", - "when_clone_start_desc": "해당 오브젝트의 복제본이 새로 생성되었을 때 아래 명령어들을 실행합니다.
아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", + "when_clone_start_desc": "해당 오브젝트의 복제본이 새로 생성되었을 때 아래 명령어들을 실행합니다.\n아래 명령어는 [Tab]키를 통해 들여쓰기합니다.", "when_clone_start_exampleCode": "def when_start():\n for i in range(5):\n Entry.make_clone_of(\"self\")\n\ndef when_make_clone():\n Entry.set_x(random.randint(-200, 200))", "when_clone_start_exampleDesc": "[시작하기]버튼을 클릭하면 자신의 복제본 5개를 만듭니다. 복제본이 새로 생성되었을때 복제본의 x좌표를 -200에서 200사이의 무작위수로 정합니다.", "create_clone_desc": "A 오브젝트의 복제본을 생성합니다.", - "create_clone_elements": "A-- 아래 선택지 중 하나
① \"오브젝트 이름\"
② \"self\" 또는 \"자신\"", + "create_clone_elements": "A-- 아래 선택지 중 하나\n① \"오브젝트 이름\"\n② \"self\" 또는 \"자신\"", "create_clone_exampleCode": "def when_start():\n for i in range(5):\n Entry.make_clone_of(\"self\")\n\ndef when_make_clone():\n Entry.set_x(random.randint(-200, 200))", "create_clone_exampleDesc": "[시작하기]버튼을 클릭하면 자신의 복제본 5개를 만듭니다. 복제본이 새로 생성되었을때 복제본의 x좌표를 -200에서 200사이의 무작위수로 정합니다.", "delete_clone_desc": "Entry.make_clone_of(A) 명령에 의해 생성된 복제본을 삭제합니다.", @@ -2926,15 +2944,15 @@ "bounce_wall_exampleCode": "def when_start():\n while True:\n Entry.move_to_direction(10)\n Entry.bounce_on_edge()", "bounce_wall_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 계속해서 이동방향으로 10만큼 이동하고, 벽에 닿으면 튕깁니다.", "move_x_desc": "오브젝트의 x좌표를 A만큼 바꿉니다.", - "move_x_elements": "A-- x좌표의 변화 값
① 양수: 오브젝트가 오른쪽으로 이동합니다.
② 음수: 오브젝트가 왼쪽으로 이동합니다.", + "move_x_elements": "A-- x좌표의 변화 값\n① 양수: 오브젝트가 오른쪽으로 이동합니다.\n② 음수: 오브젝트가 왼쪽으로 이동합니다.", "move_x_exampleCode": "def when_start():\n Entry.add_x(10)\n Entry.wait_for_sec(2)\n Entry.add_x(-10)", "move_x_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 오른쪽으로 10만큼 이동하고 2초 동안 기다린 후 왼쪽으로 10만큼 이동합니다.", "move_y_desc": "오브젝트의 y좌표를 A만큼 바꿉니다.", - "move_y_elements": "A-- y좌표의 변화 값
① 양수: 오브젝트가 위쪽으로 이동합니다.
② 음수: 오브젝트가 아래쪽으로 이동합니다.", + "move_y_elements": "A-- y좌표의 변화 값\n① 양수: 오브젝트가 위쪽으로 이동합니다.\n② 음수: 오브젝트가 아래쪽으로 이동합니다.", "move_y_exampleCode": "def when_start():\n Entry.add_y(10)\n Entry.wait_for_sec(2)\n Entry.add_y(-10)", "move_y_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 위쪽으로 10만큼 이동하고 2초 동안 기다린 후 아래쪽으로 10만큼 이동합니다.", "move_xy_time_desc": "오브젝트가 x와 y좌표를 각각 A와 B만큼 C초에 걸쳐 서서히 바꿉니다.", - "move_xy_time_elements": "A-- x좌표의 변화 값
① 양수: 오브젝트가 오른쪽으로 이동합니다.
② 음수: 오브젝트가 왼쪽으로 이동합니다.%nextB-- y좌표의 변화 값
① 양수: 오브젝트가 위쪽으로 이동합니다.
② 음수: 오브젝트가 아래쪽으로 이동합니다.%nextC-- 이동하는 시간(초)", + "move_xy_time_elements": "A-- x좌표의 변화 값\n① 양수: 오브젝트가 오른쪽으로 이동합니다.\n② 음수: 오브젝트가 왼쪽으로 이동합니다.%nextB-- y좌표의 변화 값\n① 양수: 오브젝트가 위쪽으로 이동합니다.\n② 음수: 오브젝트가 아래쪽으로 이동합니다.%nextC-- 이동하는 시간(초)", "move_xy_time_exampleCode": "def when_start():\n Entry.add_xy_for_sec(100, 100, 2)\n Entry.add_xy_for_sec(-100, -100, 2)", "move_xy_time_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 오른쪽 위로 100만큼 2초 동안 이동한 후 왼쪽 아래로 100만큼 2초 동안 이동합니다.", "locate_x_desc": "오브젝트의 x좌표를 A로 정합니다. (오브젝트의 중심점이 기준이 됩니다.)", @@ -2954,11 +2972,11 @@ "locate_xy_time_exampleCode": "def when_click_mouse_on():\n Entry.set_xy_for_sec(0, 0, 2)\n\ndef when_press_key(\"right\"):\n Entry.add_x(10)\n\ndef when_press_key(\"up\"):\n Entry.add_y(10)", "locate_xy_time_exampleDesc": "오른쪽화살표키를 누르면 오브젝트의 x좌표를 10만큼 바꾸고, 위쪽화살표키를 누르면 오브젝트의 y좌표를 10만큼 바꿉니다. 마우스를 클릭하면 2초 동안 오브젝트를 x,y 좌표 0으로 이동시킵니다.", "locate_desc": "오브젝트가 A의 위치로 이동합니다. (오브젝트의 중심점이 기준이 됩니다.)", - "locate_elements": "A-- 아래 선택지 중 하나
① \"오브젝트 이름\"
② \"mouse_pointer\" 또는 \"마우스포인터\"", + "locate_elements": "A-- 아래 선택지 중 하나\n① \"오브젝트 이름\"\n② \"mouse_pointer\" 또는 \"마우스포인터\"", "locate_exampleCode": "def when_click_mouse_on():\n Entry.move_to(\"mouse_pointer\")\n\ndef when_press_key(\"space\"):\n Entry.move_to(\"오브젝트\")", - "locate_exampleDesc": "마우스를 클릭하면 오브젝트가 마우스포인터 위치로 이동합니다.
스페이스키를 누르면 오브젝트가 \"오브젝트\" 위치로 이동합니다.", + "locate_exampleDesc": "마우스를 클릭하면 오브젝트가 마우스포인터 위치로 이동합니다.\n스페이스키를 누르면 오브젝트가 \"오브젝트\" 위치로 이동합니다.", "locate_object_time_desc": "오브젝트가 A의 위치로 B초에 걸쳐 서서히 이동합니다. (오브젝트의 중심점이 기준이 됩니다.)", - "locate_object_time_elements": "A-- 아래 선택지 중 하나
① \"오브젝트 이름\"
② \"mouse_pointer\" 또는 \"마우스포인터\" %nextB-- 이동하는 시간(초)", + "locate_object_time_elements": "A-- 아래 선택지 중 하나\n① \"오브젝트 이름\"\n② \"mouse_pointer\" 또는 \"마우스포인터\" %nextB-- 이동하는 시간(초)", "locate_object_time_exampleCode": "def when_click_mouse_on():\n Entry.move_to_for_sec(\"mouse_pointer\", 2)", "locate_object_time_exampleDesc": "마우스를 클릭하면 오브젝트가 2초 동안 서서히 마우스포인터 위치로 이동합니다.", "rotate_relative_desc": "오브젝트의 방향을 A도만큼 시계방향으로 회전합니다. (오브젝트의 중심점을 기준으로 회전합니다.)", @@ -2986,7 +3004,7 @@ "direction_absolute_exampleCode": "def when_press_key(\"right\"):\n Entry.set_direction(90)\n Entry.move_to_direction(10)\n\ndef when_press_key(\"left\"):\n Entry.set_direction(270)\n Entry.move_to_direction(10)", "direction_absolute_exampleDesc": "오른쪽화살표키를 누르면 오브젝트의 이동방향을 90으로 정한 후 해당 쪽으로 10만큼 이동하고, 왼쪽화살표키를 누르면 오브젝트의 이동방향을 270으로 정하고 해당쪽으로 10만큼 이동합니다.", "see_angle_object_desc": "오브젝트가 A쪽을 바라봅니다. (이동방향이 A를 향하도록 오브젝트의 방향을 회전해줍니다.)", - "see_angle_object_elements": "A-- 아래 선택지 중 하나
① \"오브젝트 이름\"
② \"mouse_pointer\" 또는 \"마우스포인터\"", + "see_angle_object_elements": "A-- 아래 선택지 중 하나\n① \"오브젝트 이름\"\n② \"mouse_pointer\" 또는 \"마우스포인터\"", "see_angle_object_exampleCode": "def when_click_mouse_on():\n Entry.look_at(\"mouse_pointer\")\n\ndef when_press_key(\"space\"):\n Entry.look_at(\"오브젝트\")", "see_angle_object_exampleDesc": "마우스를 클릭하면 오브젝트가 마우스포인터쪽을 바라보고, 스페이스키를 누르면 \"오브젝트\"쪽을 바라봅니다.", "move_to_angle_desc": "오브젝트가 A만큼 B방향으로 움직입니다.", @@ -3000,30 +3018,30 @@ "hide_exampleCode": "def when_start():\n Entry.wait_for_sec(1)\n Entry.hide()\n Entry.wait_for_sec(1)\n Entry.show()", "hide_exampleDesc": "[시작하기]버튼을 클릭하면 1초 뒤에 오브젝트 모양이 숨겨지고, 다음 1초 뒤에 오브젝트 모양이 나타납니다.", "dialog_time_desc": "오브젝트가 A를 B초 동안 말풍선으로 말한 후 다음 명령어가 실행됩니다. 콘솔창에서도 실행 결과를 볼 수 있습니다.", - "dialog_time_elements": "A-- 말할 내용
① 문자 : \"안녕!\", \"엔트리\" 등
② 숫자 : 0, 10, 35 등%nextB-- 말하는 시간(초)", + "dialog_time_elements": "A-- 말할 내용\n① 문자 : \"안녕!\", \"엔트리\" 등 \n② 숫자 : 0, 10, 35 등%nextB-- 말하는 시간(초)", "dialog_time_exampleCode": "def when_start():\n Entry.print_for_sec(\"안녕! 나는\", 2)\n Entry.print_for_sec(16, 2)\n Entry.print_for_sec(\"살이야\", 2)", "dialog_time_exampleDesc": "[시작하기]버튼을 클릭하면 \"안녕! 나는\", 16, \"살이야\"를 각각 2초 동안 차례대로 말합니다.", "dialog_desc": "오브젝트가 A를 말풍선으로 말합니다. 콘솔창에서도 실행 결과를 볼 수 있습니다.", - "dialog_elements": "A-- 말할 내용
① 문자 : \"안녕!\", \"엔트리\" 등
② 숫자 : 0, 10, 35 등", + "dialog_elements": "A-- 말할 내용\n① 문자 : \"안녕!\", \"엔트리\" 등 \n② 숫자 : 0, 10, 35 등", "dialog_exampleCode": "def when_start():\n Entry.print(\"키보드로 숫자 1,2 를 누르면 숫자를 말해볼게\")\n\ndef when_press_key(1):\n Entry.print(1)\n\ndef when_press_key(2):\n Entry.print(2)\n", "dialog_exampleDesc": "[시작하기]버튼을 클릭하면 \"키보드로 숫자 1,2 를 누르면 숫자를 말해볼게\"를 말하고, 키보드로 1, 2를 누르면 각각 1, 2라 말합니다.", "remove_dialog_desc": "오브젝트가 말하고 있는 말풍선을 지웁니다.", "remove_dialog_exampleCode": "def when_start():\n Entry.print(\"말풍선을 지우려면 엔터를 눌러!\")\n\ndef when_press_key(\"enter\"):\n Entry.clear_print()", "remove_dialog_exampleDesc": "[시작하기]버튼을 클릭하면 \"말풍선을 지우려면 엔터를 눌러!\"라 말하고, 엔터키를 누르면 말풍선이 사라집니다.", "change_to_some_shape_desc": "오브젝트를 A 모양으로 바꿉니다.", - "change_to_some_shape_elements": "A-- 아래 선택지 중 하나
① 모양 이름 : [속성] 탭의 \"모양 이름\"을 적음
② 모양 번호 : [속성] 탭의 모양 번호를 적음", + "change_to_some_shape_elements": "A-- 아래 선택지 중 하나\n① 모양 이름 : [속성] 탭의 \"모양 이름\"을 적음\n② 모양 번호 : [속성] 탭의 모양 번호를 적음", "change_to_some_shape_exampleCode": "def when_start():\n Entry.wait_for_sec(0.3)\n Entry.change_shape(\"오브젝트모양\")\n Entry.wait_for_sec(0.3)\n Entry.change_shape(\"오브젝트모양\")", "change_to_some_shape_exampleDesc": "[시작하기]버튼을 클릭하면 0.3초간 기다린 다음 \"오브젝트모양\"으로 모양을 바꾸고 0.3초간 기다린 다음 \"오브젝트모양\"모양으로 모양을 바꿉니다.", "change_to_next_shape_desc": "오브젝트의 모양을 다음 또는 이전 모양으로 바꿉니다.", - "change_to_next_shape_elements": "A-- 아래 선택지 중 하나
① 다음 모양 : \"next\" 또는 \"다음\"
② 이전 모양 : \"pre\" 또는 \"이전\"", + "change_to_next_shape_elements": "A-- 아래 선택지 중 하나\n① 다음 모양 : \"next\" 또는 \"다음\" \n② 이전 모양 : \"pre\" 또는 \"이전\"", "change_to_next_shape_exampleCode": "def when_start():\n Entry.wait_for_sec(0.3)\n Entry.change_shape_to(\"next\")\n Entry.wait_for_sec(0.3)\n Entry.change_shape_to(\"pre\")", "change_to_next_shape_exampleDesc": "[시작하기]버튼을 클릭하면 0.3초간 기다린 다음 모양으로 오브젝트 모양을 바꾸고 0.3초간 기다린 다음 이전 모양으로 오브젝트 모양을 바꿉니다.", "add_effect_amount_desc": "오브젝트에 A 효과를 B만큼 줍니다.", - "add_effect_amount_elements": "A -- 아래 선택지 중 하나
① “color” 또는 “색깔“
② “brightness” 또는 “밝기”
③ “transparency” 또는 “투명도”%nextB-- 효과의 변화 정도", + "add_effect_amount_elements": "A -- 아래 선택지 중 하나\n① “color” 또는 “색깔“ \n② “brightness” 또는 “밝기” \n③ “transparency” 또는 “투명도”%nextB-- 효과의 변화 정도", "add_effect_amount_exampleCode": "def when_click_mouse_on():\n Entry.add_effect(\"color\", 50)\n Entry.wait_for_sec(1)\n Entry.add_effect(\"brightness\", -50)\n Entry.wait_for_sec(1)\n Entry.add_effect(\"transparency\", 50)", "add_effect_amount_exampleDesc": "마우스를 클릭하면 오브젝트에 색깔 효과를 50만큼 주고 1초간 기다리고, 밝기 효과를 -50만큼 주고 1초간 기다립니다. 그 후 투명도 효과를 50만큼 줍니다.", "change_effect_amount_desc": "오브젝트의 A 효과를 B로 정합니다.", - "change_effect_amount_elements": "A-- 아래 선택지 중 하나
① “color” 또는 “색깔“
② “brightness” 또는 “밝기”
③ “transparency” 또는 “투명도”%nextB-- 효과의 값
① color: 0~100 범위의 수, 100을 주기로 반복됨
② brightness: -100~100 사이 범위의 수, -100이하는 -100 으로 100 이상은 100 으로 처리 됨
③ transparency: 0~100 사이 범위의 수, 0 이하는 0으로, 100이상은 100으로 처리 됨", + "change_effect_amount_elements": "A-- 아래 선택지 중 하나\n① “color” 또는 “색깔“ \n② “brightness” 또는 “밝기” \n③ “transparency” 또는 “투명도”%nextB-- 효과의 값\n① color: 0~100 범위의 수, 100을 주기로 반복됨\n② brightness: -100~100 사이 범위의 수, -100이하는 -100 으로 100 이상은 100 으로 처리 됨\n③ transparency: 0~100 사이 범위의 수, 0 이하는 0으로, 100이상은 100으로 처리 됨", "change_effect_amount_exampleCode": "def when_click_mouse_on():\n Entry.set_effect(\"color\", 50)\n Entry.set_effect(\"brightness\", 50)\n Entry.set_effect(\"transparency\", 50)\n\ndef when_click_mouse_off():\n Entry.set_effect(\"color\", 0)\n Entry.set_effect(\"brightness\", 0)\n Entry.set_effect(\"transparency\", 0)", "change_effect_amount_exampleDesc": "마우스를 클릭하면 오브젝트에 색깔, 밝기, 투명도 효과를 50으로 정하고, 마우스 클릭을 해제하면 각 효과를 0으로 정합니다.", "erase_all_effects_desc": "오브젝트에 적용된 효과를 모두 지웁니다.", @@ -3044,7 +3062,7 @@ "flip_y_exampleCode": "def when_press_key(\"up\"):\n Entry.flip_horizontal()\n\ndef when_press_key(\"right\"):\n Entry.flip_vertical()", "flip_y_exampleDesc": "위쪽화살표키를 누르면 오브젝트의 상하 모양을 뒤집고, 오른쪽화살표키를 누르면 오브젝트의 좌우 모양을 뒤집습니다.", "change_object_index_desc": "오브젝트의 레이어를 A로 가져옵니다.", - "change_object_index_elements": "A-- 아래 선택지 중 하나
① “front\" 또는 “맨 앞“
② “forward” 또는 “앞”
③ “backward” 또는 “뒤”
④ “back” 또는 “맨 뒤”", + "change_object_index_elements": "A-- 아래 선택지 중 하나\n① “front\" 또는 “맨 앞“ \n② “forward” 또는 “앞” \n③ “backward” 또는 “뒤”\n④ “back” 또는 “맨 뒤”", "change_object_index_exampleCode": "def when_start():\n Entry.send_layer_to(\"front\")\n Entry.wait_for_sec(2)\n Entry.send_layer_to(\"backward\")", "change_object_index_exampleDesc": "오브젝트가 여러개가 겹쳐 있을 경우 [시작하기]버튼을 클릭하면 해당 오브젝트의 레이어를 가장 앞으로 가져와서 보여줍니다.", "brush_stamp_desc": "오브젝트의 모양을 도장처럼 실행화면 위에 찍습니다.", @@ -3057,7 +3075,7 @@ "stop_drawing_exampleCode": "def when_start():\n Entry.start_drawing()\n while True:\n Entry.move_to_direction(1)\n\ndef when_click_mouse_on():\n Entry.stop_drawing()", "stop_drawing_exampleDesc": "[시작하기]버튼을 클릭하면 그리기가 시작되고 계속해서 오브젝트가 이동방향으로 10만큼 이동합니다. 마우스를 클릭하면 그리는것을 멈춥니다.", "set_color_desc": "오브젝트가 그리는 선의 색을 A로 정합니다.", - "set_color_elements": "A-- 아래 선택지 중 하나
① 색상 코드 : \"#FF0000\", \"#FFCC00\", \"#3333FF\", \"#000000\" 등
② 색깔명 : \"red\", \"orange\", \"yellow\", \"green\", \"blue\", \"navy\", \"purple\", \"black\", \"white\", \"brown\"", + "set_color_elements": "A-- 아래 선택지 중 하나\n① 색상 코드 : \"#FF0000\", \"#FFCC00\", \"#3333FF\", \"#000000\" 등\n② 색깔명 : \"red\", \"orange\", \"yellow\", \"green\", \"blue\", \"navy\", \"purple\", \"black\", \"white\", \"brown\"", "set_color_exampleCode": "def when_start():\n Entry.start_drawing()\n Entry.set_brush_color_to(\"#000099\")\n while True:\n Entry.move_to_direction(1)", "set_color_exampleDesc": "[시작하기]버튼을 클릭하면 그리기가 시작되고, 선의 색을 \"#000099\"로 정합니다. 오브젝트는 계속해서 이동방향으로 1만큼 움직이고, 오브젝트의 이동경로를 따라 선이 그려집니다.", "set_random_color_desc": "오브젝트가 그리는 선의 색을 무작위로 정합니다.", @@ -3087,42 +3105,42 @@ "text_read_exampleCode": "def when_start():\n Entry.print(Entry.contents_of_textbox(\"A\"))", "text_read_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 글상자 \"A\"의 내용을 말합니다.​", "text_write_desc": "글상자의 내용을 A로 고쳐씁니다.", - "text_write_elements": "A-- 글상자의 내용
① 문자 : \"안녕!\", \"엔트리\" 등
② 숫자 : 0, 10, 35 등", + "text_write_elements": "A-- 글상자의 내용\n① 문자 : \"안녕!\", \"엔트리\" 등 \n② 숫자 : 0, 10, 35 등", "text_write_exampleCode": "def when_start():\n Entry.write_text(\"엔트리\")", "text_write_exampleDesc": "[시작하기]버튼을 클릭하면 글상자의 내용을 \"엔트리\"로 바꿉니다.", "text_append_desc": "글상자의 내용 뒤에 A를 추가합니다.", - "text_append_elements": "A-- 글상자의 내용
① 문자 : \"안녕!\", \"엔트리\" 등
② 숫자 : 0, 10, 35 등", + "text_append_elements": "A-- 글상자의 내용\n① 문자 : \"안녕!\", \"엔트리\" 등 \n② 숫자 : 0, 10, 35 등", "text_append_exampleCode": "def when_start():\n Entry.write_text(\"안녕?\")\n Entry.wait_for_sec(1)\n Entry.append_text(\"엔트리!\")", "text_append_exampleDesc": "[시작하기]버튼을 클릭하면 글상자의 내용이 \"안녕?\"이 되었다가 1초 뒤에 \"엔트리!\"가 추가되어 \"안녕?엔트리!\"가 됩니다.", "text_prepend_desc": "글상자의 내용 앞에 A를 추가합니다.", - "text_prepend_elements": "A-- 글상자의 내용
① 문자 : \"안녕!\", \"엔트리\" 등
② 숫자 : 0, 10, 35 등", + "text_prepend_elements": "A-- 글상자의 내용\n① 문자 : \"안녕!\", \"엔트리\" 등 \n② 숫자 : 0, 10, 35 등", "text_prepend_exampleCode": "def when_start():\n Entry.write_text(\"반가워!\")\n Entry.wait_for_sec(1)\n Entry.prepend_text(\"엔트리!\")", "text_prepend_exampleDesc": "[시작하기]버튼을 클릭하면 글상자의 내용이 \"반가워!\"가 되었다가 1초 뒤에 \"엔트리!\"가 앞에 추가되어 \"엔트리!반가워!\"가 됩니다.", "text_flush_desc": "글상자에 저장된 값을 모두 지웁니다.", "text_flush_exampleCode": "def when_start():\n Entry.write_text(\"엔트리\")\n Entry.wait_for_sec(1)\n Entry.clear_text()", "text_flush_exampleDesc": "[시작하기]버튼을 클릭하면 글상자의 내용이 \"엔트리\"가 되었다가 1초 뒤에 모든 내용이 사라집니다.", "sound_something_with_block_desc": "오브젝트가 A 소리를 재생합니다.", - "sound_something_with_block_elements": "A-- 아래 선택지 중 하나
① 소리 이름 : [속성] 탭의 \"소리 이름\"을 적음
② 소리 번호: [속성] 탭의 소리 번호를 적음", + "sound_something_with_block_elements": "A-- 아래 선택지 중 하나\n① 소리 이름 : [속성] 탭의 \"소리 이름\"을 적음\n② 소리 번호: [속성] 탭의 소리 번호를 적음", "sound_something_with_block_exampleCode": "def when_start():\n Entry.play_sound(\"소리\")\n Entry.add_size(50)", "sound_something_with_block_exampleDesc": "[시작하기]버튼을 클릭하면 \"소리\"를 재생하면서 오브젝트의 크기가 50만큼 커집니다.", "sound_something_second_with_block_desc": "오브젝트가 A소리를 B초 만큼 재생합니다.", - "sound_something_second_with_block_elements": "A-- 아래 선택지 중 하나
① 소리 이름 : [속성] 탭의 \"소리 이름\"을 적음
② 소리 번호: [속성] 탭의 소리 번호를 적음", + "sound_something_second_with_block_elements": "A-- 아래 선택지 중 하나\n① 소리 이름 : [속성] 탭의 \"소리 이름\"을 적음\n② 소리 번호: [속성] 탭의 소리 번호를 적음", "sound_something_second_with_block_exampleCode": "def when_start():\n Entry.play_sound_for_sec(\"소리\", 1)\n Entry.add_size(50)", "sound_something_second_with_block_exampleDesc": "[시작하기]버튼을 클릭하면 \"소리\"를 1초 동안 재생하면서, 오브젝트의 크기가 50만큼 커집니다.", "sound_from_to_desc": "오브젝트가 A소리를 B초부터 C초까지 재생합니다.", - "sound_from_to_elements": "A-- 아래 선택지 중 하나
① 소리 이름 : [속성] 탭의 \"소리 이름\"을 적음
② 소리 번호: [속성] 탭의 소리 번호를 적음", + "sound_from_to_elements": "A-- 아래 선택지 중 하나\n① 소리 이름 : [속성] 탭의 \"소리 이름\"을 적음\n② 소리 번호: [속성] 탭의 소리 번호를 적음", "sound_from_to_exampleCode": "def when_start():\n Entry.play_sound_from_to(\"소리\", 0.5, 1)\n Entry.add_size(50)", "sound_from_to_exampleDesc": "[시작하기]버튼을 클릭하면 \"소리\"를 0.5초부터 1초 구간까지만 재생하면서, 오브젝트의 크기가 50만큼 커집니다.", "sound_something_wait_with_block_desc": "오브젝트가 A 소리를 재생하고, 재생이 끝나면 다음 명령을 실행합니다.", - "sound_something_wait_with_block_elements": "A-- 아래 선택지 중 하나
① 소리 이름 : [속성] 탭의 \"소리 이름\"을 적음
② 소리 번호: [속성] 탭의 소리 번호를 적음", + "sound_something_wait_with_block_elements": "A-- 아래 선택지 중 하나\n① 소리 이름 : [속성] 탭의 \"소리 이름\"을 적음\n② 소리 번호: [속성] 탭의 소리 번호를 적음", "sound_something_wait_with_block_exampleCode": "def when_start():\n Entry.play_sound_and_wait(\"소리\")\n Entry.add_size(50)", "sound_something_wait_with_block_exampleDesc": "[시작하기]버튼을 클릭하면 \"소리\"를 재생하고, 재생이 끝나면 오브젝트의 크기가 50만큼 커집니다.", "sound_something_second_wait_with_block_desc": "오브젝트가 A소리를 B초 만큼 재생하고, 재생이 끝나면 다음 명령을 실행합니다.", - "sound_something_second_wait_with_block_elements": "A-- 아래 선택지 중 하나
① 소리 이름 : [속성] 탭의 \"소리 이름\"을 적음
② 소리 번호: [속성] 탭의 소리 번호를 적음", + "sound_something_second_wait_with_block_elements": "A-- 아래 선택지 중 하나\n① 소리 이름 : [속성] 탭의 \"소리 이름\"을 적음\n② 소리 번호: [속성] 탭의 소리 번호를 적음", "sound_something_second_wait_with_block_exampleCode": "def when_start():\n Entry.play_sound_for_sec_and_wait(\"소리\", 1)\n Entry.add_size(50)", "sound_something_second_wait_with_block_exampleDesc": "[시작하기]버튼을 클릭하면 \"소리\"를 1초 동안 재생하고, 재생이 끝나면 오브젝트의 크기가 50만큼 커집니다.", "sound_from_to_and_wait_desc": "오브젝트가 A소리를 B초부터 C초까지 재생하고, 재생이 끝나면 다음 명령을 실행합니다.", - "sound_from_to_and_wait_elements": "A-- 아래 선택지 중 하나
① 소리 이름 : [속성] 탭의 \"소리 이름\"을 적음
② 소리 번호: [속성] 탭의 소리 번호를 적음", + "sound_from_to_and_wait_elements": "A-- 아래 선택지 중 하나\n① 소리 이름 : [속성] 탭의 \"소리 이름\"을 적음\n② 소리 번호: [속성] 탭의 소리 번호를 적음", "sound_from_to_and_wait_exampleCode": "def when_start():\n Entry.play_sound_from_to_and_wait(\"소리\", 0.5, 1)\n Entry.add_size(50)", "sound_from_to_and_wait_exampleDesc": "[시작하기]버튼을 클릭하면 \"소리\"를 0.5초부터 1초 구간까지만 재생하고, 재생이 끝나면 오브젝트의 크기가 50만큼 커집니다.", "sound_volume_change_desc": "작품에서 재생되는 모든 소리의 크기를 A퍼센트만큼 바꿉니다.", @@ -3140,73 +3158,73 @@ "is_clicked_exampleCode": "def when_start():\n while True:\n if Entry.is_mouse_clicked():\n Entry.print_for_sec(\"반가워!\", 0.5)", "is_clicked_exampleDesc": "[시작하기]버튼을 클릭하면 계속해서 마우스를 클릭했는지 확인합니다. 만약 마우스를 클릭하면 오브젝트가 \"반가워!\"라고 0.5초간 말합니다.", "is_press_some_key_desc": "A 키가 눌려져 있는 경우 True로 판단합니다.", - "is_press_some_key_elements": "A-- 아래 선택지 중 하나
① 알파벳 : \"A\", \"B\" ~ \"Z\" 등(소문자 가능)
② 숫자: 1, 2, 3, 4 ~ 9, 0
③ 특수키: \"space\", \"enter\"
④ 방향키 : \"up\", \"down\", \"right\", \"left\"", + "is_press_some_key_elements": "A-- 아래 선택지 중 하나\n① 알파벳 : \"A\", \"B\" ~ \"Z\" 등(소문자 가능)\n② 숫자: 1, 2, 3, 4 ~ 9, 0\n③ 특수키: \"space\", \"enter\"\n④ 방향키 : \"up\", \"down\", \"right\", \"left\"", "is_press_some_key_exampleCode": "def when_start():\n while True:\n if Entry.is_key_pressed(\"space\"):\n Entry.move_to_direction(10)", "is_press_some_key_exampleDesc": "[시작하기]버튼을 클릭하면 계속해서 선택한 키를 눌렀는지 확인합니다. 만약 스페이스 키를 누르면 오브젝트가 이동방향으로 10만큼 이동합니다.", "reach_something_desc": "오브젝트가 A와 닿은 경우 True으로 판단합니다.", - "reach_something_elements": "A-- 아래 선택지 중 하나
① \"오브젝트 이름\"
② \"mouse_pointer\" 또는 \"마우스포인터\"
③ \"edge\", \"edge_up\", \"edge_down\", \"edge_right\", \"edge_left\"", + "reach_something_elements": "A-- 아래 선택지 중 하나\n① \"오브젝트 이름\"\n② \"mouse_pointer\" 또는 \"마우스포인터\"\n③ \"edge\", \"edge_up\", \"edge_down\", \"edge_right\", \"edge_left\"", "reach_something_exampleCode": "def when_start():\n while True:\n Entry.move_to_direction(10)\n if Entry.is_touched(\"edge\"):\n Entry.add_rotation(150)", "reach_something_exampleDesc": "[시작하기]버튼을 클릭하면 계속해서 오브젝트가 이동방향으로 10만큼 이동합니다. 만약 오브젝트가 벽에 닿으면 150만큼 회전하게 됩니다.", "boolean_basic_operator_desc": "A와 B를 비교하여 True 또는 False로 판단합니다.", - "boolean_basic_operator_elements": "A, B 비교하고자 하는 숫자값
① == : A와 B의 값이 같으면 True, 아니면 False
② != : A와 B의 값이 다르면 True, 아니면 False
③ > : A의 값이 B의 값보다 크면 true, 아니면 False
④ < : A의 값이 B의 값보다 작으면 true, 아니면 False
⑤ >= : A의 값이 B의 값보다 크거나 같으면 true, 아니면 False
⑥ <= : A의 값이 B의 값보다 작거나 같으면 true, 아니면 False", + "boolean_basic_operator_elements": "A, B 비교하고자 하는 숫자값\n① == : A와 B의 값이 같으면 True, 아니면 False\n② != : A와 B의 값이 다르면 True, 아니면 False\n③ > : A의 값이 B의 값보다 크면 true, 아니면 False\n④ < : A의 값이 B의 값보다 작으면 true, 아니면 False\n⑤ >= : A의 값이 B의 값보다 크거나 같으면 true, 아니면 False\n⑥ <= : A의 값이 B의 값보다 작거나 같으면 true, 아니면 False", "boolean_basic_operator_exampleCode": "def when_start():\n while True:\n Entry.add_x(10)\n if Entry.value_of_object(\"오브젝트\", \"x\") > 240:\n Entry.set_x(0)", "boolean_basic_operator_exampleDesc": "[시작하기]버튼을 클릭하면 계속해서 오브젝트 x좌표를 10만큼 바꿉니다. 만약 오브젝트 x좌표가 240보다 크면 오브젝트 x좌표를 0으로 정합니다.", "boolean_and_desc": "A와 B의 판단이 모두 True인 경우 True, 아닌 경우 False로 판단합니다.", - "boolean_and_elements": "A, B-- True 또는 False로 판단할 수 있는 명령어 입력(판단 카테고리의 명령어)
① True, False
② 10 == 10 , 10 > 10 , 10 <= 10 등
③ Entry.is_mouse_clicked(), Entry.is_key_pressed(\"Q\") 등", + "boolean_and_elements": "A, B-- True 또는 False로 판단할 수 있는 명령어 입력(판단 카테고리의 명령어)\n① True, False\n② 10 == 10 , 10 > 10 , 10 <= 10 등\n③ Entry.is_mouse_clicked(), Entry.is_key_pressed(\"Q\") 등", "boolean_and_exampleCode": "def when_start():\n while True:\n if Entry.is_key_pressed(\"a\") and Entry.is_key_pressed(\"s\"):\n Entry.add_effect(\"color\", 10)", "boolean_and_exampleDesc": "[시작하기]버튼을 클릭하고 키보드의 \"a\" 와 \"s\"키를 동시에 눌렀을 때, 색깔 효과를 10만큼 줍니다.", "boolean_or_desc": "A와 B의 판단 중 하나라도 True인 경우 True, 아닌 경우 False로 판단합니다.", - "boolean_or_elements": "A, B-- True 또는 False로 판단할 수 있는 명령어 입력(판단 카테고리의 명령어)
① True, False
② 10 == 10 , 10 > 10 , 10 <= 10 등
③ Entry.is_mouse_clicked(), Entry.is_key_pressed(\"Q\") 등", + "boolean_or_elements": "A, B-- True 또는 False로 판단할 수 있는 명령어 입력(판단 카테고리의 명령어)\n① True, False\n② 10 == 10 , 10 > 10 , 10 <= 10 등\n③ Entry.is_mouse_clicked(), Entry.is_key_pressed(\"Q\") 등", "boolean_or_exampleCode": "def when_start():\n while True:\n if Entry.is_key_pressed(\"a\") or Entry.is_key_pressed(\"s\"):\n Entry.add_effect(\"color\", 10)", "boolean_or_exampleDesc": "[시작하기]버튼을 클릭하면 키보드의 \"a\"나 \"s\"키 중 무엇이든 하나를 누르면 오브젝트에 색깔 효과를 10만큼 줍니다.", "boolean_not_desc": "A 판단이 True이면 False, False이면 True로 판단합니다.", - "boolean_not_elements": "A-- True 또는 False로 판단할 수 있는 명령어 입력(판단 카테고리의 명령어)
① True, False
② 10 == 10 , 10 > 10 , 10 <= 10 등
③ Entry.is_mouse_clicked(), Entry.is_key_pressed(\"Q\") 등", + "boolean_not_elements": "A-- True 또는 False로 판단할 수 있는 명령어 입력(판단 카테고리의 명령어)\n① True, False\n② 10 == 10 , 10 > 10 , 10 <= 10 등\n③ Entry.is_mouse_clicked(), Entry.is_key_pressed(\"Q\") 등", "boolean_not_exampleCode": "def when_start():\n while True:\n if not Entry.is_mouse_clicked():\n Entry.add_size(1)", "boolean_not_exampleDesc": "[시작하기]버튼을 클릭하면 마우스를 클릭하지 않은 동안 크기가 1씩 커집니다.", "calc_basic_desc": "A와 B의 연산값입니다.", - "calc_basic_elements": "A, B-- 연산하고자 하는 숫자값
① + : A와 B를 더한 값
② - : A와 B를 뺀 값
③ x : A와 B를 곱한 값
④ / : A와 B를 나눈 값", + "calc_basic_elements": "A, B-- 연산하고자 하는 숫자값\n① + : A와 B를 더한 값\n② - : A와 B를 뺀 값\n③ x : A와 B를 곱한 값\n④ / : A와 B를 나눈 값", "calc_basic_exampleCode": "def when_start():\n Entry.print_for_sec(10 + 10, 2)\n Entry.print_for_sec(10 - 10, 2)\n Entry.print_for_sec(10 * 10, 2)\n Entry.print_for_sec(10 / 10, 2)", "calc_basic_exampleDesc": "[시작하기]버튼을 클릭하면 10과 10을 더한값, 뺀값, 곱한값, 나눈값을 각 2초간 말합니다.", "calc_rand_desc": "A와 B 사이에서 선택된 무작위 수의 값입니다. (두 수 모두 정수를 입력한 경우 정수로,두 수 중 하나라도 소수를 입력한 경우 소수로 무작위 수가 선택됩니다.)", - "calc_rand_elements": "A, B-- 무작위 수를 추출할 범위
① random.randint(A, B) : A, B를 정수로 입력하면 정수 범위에서 무작위 수를 추출
② random.uniform(A, B) : A, B를 실수로 입력하면 실수 범위에서 무작위 수를 추출", + "calc_rand_elements": "A, B-- 무작위 수를 추출할 범위\n① random.randint(A, B) : A, B를 정수로 입력하면 정수 범위에서 무작위 수를 추출\n② random.uniform(A, B) : A, B를 실수로 입력하면 실수 범위에서 무작위 수를 추출", "calc_rand_exampleCode": "def when_start():\n Entry.print_for_sec(random.randint(1, 10), 2)\n Entry.print_for_sec(random.uniform(0.1, 2), 2)", "calc_rand_exampleDesc": "[시작하기]버튼을 클릭하면 1부터 10사이의 정수중 무작위 수를 뽑아 2초간 말합니다. 그 후 0.1부터 2사이의 실수중 무작위 수를 뽑아 2초간 말합니다.", "coordinate_mouse_desc": "마우스 포인터의 A 좌표 값을 의미합니다.", - "coordinate_mouse_elements": "A-- 아래 선택지 중 하나
① \"x\" 또는 \"X\"
② \"y\" 또는 \"Y\"", + "coordinate_mouse_elements": "A-- 아래 선택지 중 하나\n① \"x\" 또는 \"X\"\n② \"y\" 또는 \"Y\"", "coordinate_mouse_exampleCode": "def when_start():\n while True:\n Entry.print(Entry.value_of_mouse_pointer(\"x\"))", "coordinate_mouse_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 마우스 포인터의 x좌표를 계속해서 말합니다.", "coordinate_object_desc": "A에 대한 B정보값입니다.", - "coordinate_object_elements": "A-- 아래 선택지 중 하나
① \"오브젝트 이름\"
② \"self\" 또는 \"자신\"%nextB-- 아래 선택지 중 하나
① \"x\" 또는 \"X\"
② \"y\" 또는 \"Y\"
③ \"rotation\" 또는 \"방향\"
④ \"direction\" 또는 \"이동 방향\"
⑤ \"size\" 또는 \"크기\"
⑥ \"shape_number\" 또는 \"모양 번호\"
⑦ \"shape_name\" 또는 \"모양 이름\"", + "coordinate_object_elements": "A-- 아래 선택지 중 하나\n① \"오브젝트 이름\"\n② \"self\" 또는 \"자신\"%nextB-- 아래 선택지 중 하나\n① \"x\" 또는 \"X\"\n② \"y\" 또는 \"Y\"\n③ \"rotation\" 또는 \"방향\"\n④ \"direction\" 또는 \"이동 방향\"\n⑤ \"size\" 또는 \"크기\"\n⑥ \"shape_number\" 또는 \"모양 번호\"\n⑦ \"shape_name\" 또는 \"모양 이름\"", "coordinate_object_exampleCode": "def when_start():\n while True:\n Entry.add_x(1)\n Entry.print(Entry.value_of_object(\"오브젝트\", \"x\"))\n", "coordinate_object_exampleDesc": "[시작하기]버튼을 클릭하면 계속해서 오브젝트의 x좌표가 1씩 증가하며, \"오브젝트\"의 x좌표를 말합니다.", "get_sound_volume_desc": "현재 작품에 설정된 소리의 크기값입니다.", "get_sound_volume_exampleCode": "def when_start():\n while True:\n Entry.print(Entry.value_of_sound_volume())", "get_sound_volume_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 소리의 크기값을 계속해서 말합니다.", "quotient_and_mod_desc": "A와 B의 연산값입니다.", - "quotient_and_mod_elements": "A, B-- 연산하고자 하는 숫자값
① // : A / B의 몫에 해당하는 값
② % : A / B의 나머지에 해당하는 값", + "quotient_and_mod_elements": "A, B-- 연산하고자 하는 숫자값\n① // : A / B의 몫에 해당하는 값\n② % : A / B의 나머지에 해당하는 값", "quotient_and_mod_exampleCode": "def when_start():\n Entry.print_for_sec(10 // 3, 2)\n Entry.print_for_sec(10 % 3, 2)", "quotient_and_mod_exampleDesc": "[시작하기]버튼을 클릭하면 10 / 3의 몫인 3을 2초 동안 말하고, 나머지인 1을 2초 동안 말합니다.", "calc_operation_desc": "A의 연산값입니다.", - "calc_operation_elements": "A, B-- 연산하고자 하는 숫자값
① A ** 2 : A를 제곱한 값
② math.sqrt(A): A의 루트값
③ math.sin(A): A의 사인값
④ math.cos(A): A의 코사인 값
⑤ math.tan(A): A의 탄젠트값
⑥ math.asin(A): A의 아크사인값
⑦ math.acos(A): A의 아크코사인값
⑧ math.atan(): A의 아크탄젠트값
⑨ math.log10(A): A의 로그값
⑩ math.log(A): A의 자연로그값
⑪ A - math.floor(A): A의 소수점 부분
⑫ math.floor(A): A의 소수점 버림값
⑬ math.ceil(A): A의 소수점 올림값
⑭ math.round(A): A의 소수점 반올림값
⑮ math.factorial(A): A의 팩토리얼 값
⑯ math.fabs(A): A의 절댓값", + "calc_operation_elements": "A, B-- 연산하고자 하는 숫자값\n① A ** 2 : A를 제곱한 값\n② math.sqrt(A): A의 루트값\n③ math.sin(A): A의 사인값\n④ math.cos(A): A의 코사인 값\n⑤ math.tan(A): A의 탄젠트값 \n⑥ math.asin(A): A의 아크사인값\n⑦ math.acos(A): A의 아크코사인값\n⑧ math.atan(): A의 아크탄젠트값\n⑨ math.log10(A): A의 로그값\n⑩ math.log(A): A의 자연로그값\n⑪ A - math.floor(A): A의 소수점 부분\n⑫ math.floor(A): A의 소수점 버림값\n⑬ math.ceil(A): A의 소수점 올림값\n⑭ math.round(A): A의 소수점 반올림값\n⑮ math.factorial(A): A의 팩토리얼 값\n⑯ math.fabs(A): A의 절댓값", "calc_operation_exampleCode": "def when_start():\n Entry.print_for_sec(10 ** 2, 2)\n Entry.print_for_sec(math.sqrt(9), 2)\n Entry.print_for_sec(math.sin(90), 2)\n Entry.print_for_sec(math.fabs(-10), 2)", "calc_operation_exampleDesc": "[시작하기]버튼을 클릭하면 10의 제곱, 9의 루트값, 90의 사인값, -10의 절댓값을 각 2초 동안 말합니다.", "get_project_timer_value_desc": "이 명령이 실행되는 순간 초시계에 저장된 값입니다.", "get_project_timer_value_exampleCode": "def when_start():\n Entry.timer(\"start\")\n Entry.wait_for_sec(3)\n Entry.timer(\"stop\")\n Entry.timer_view(\"hide\")\n Entry.print(Entry.value_of_timer())", "get_project_timer_value_exampleDesc": "[시작하기]버튼을 클릭하면 초시계를 시작합니다. 3초 뒤에는 초시계를 정지하고 초시계창을 숨깁니다. 그 후 초시계값을 말합니다.", - "choose_project_timer_action_desc": "초시계의 동작을 A로 정합니다.
(이 명령어를 사용하면 실행화면에 ‘초시계 창’이 생성됩니다.)", - "choose_project_timer_action_elements": "A-- 아래 선택지 중 하나
① \"start\" : 초시계를 시작
② \"stop\" : 초시계를 정지
③ \"reset\" : 초시계를 초기화", + "choose_project_timer_action_desc": "초시계의 동작을 A로 정합니다.\n(이 명령어를 사용하면 실행화면에 ‘초시계 창’이 생성됩니다.)", + "choose_project_timer_action_elements": "A-- 아래 선택지 중 하나\n① \"start\" : 초시계를 시작\n② \"stop\" : 초시계를 정지\n③ \"reset\" : 초시계를 초기화", "choose_project_timer_action_exampleCode": "def when_start():\n Entry.timer(\"start\")\n Entry.wait_for_sec(3)\n Entry.timer(\"stop\")\n Entry.timer_view(\"hide\")\n Entry.print(Entry.value_of_timer())", "choose_project_timer_action_exampleDesc": "[시작하기]버튼을 클릭하면 초시계를 시작합니다. 3초 뒤에는 초시계를 정지하고 초시계창을 숨깁니다. 그 후 초시계값을 말합니다.", "set_visible_project_timer_desc": "실행화면의 초시계 창을 A로 설정합니다.", - "set_visible_project_timer_elements": "A-- 아래 선택지 중 하나
① \"hide\" : 초시계창을 숨김
② \"show\" : 초시계창을 보임", + "set_visible_project_timer_elements": "A-- 아래 선택지 중 하나\n① \"hide\" : 초시계창을 숨김\n② \"show\" : 초시계창을 보임", "set_visible_project_timer_exampleCode": "def when_start():\n Entry.timer(\"start\")\n Entry.wait_for_sec(3)\n Entry.timer(\"stop\")\n Entry.timer_view(\"hide\")\n Entry.print(Entry.value_of_timer())", "set_visible_project_timer_exampleDesc": "[시작하기]버튼을 클릭하면 초시계를 시작합니다. 3초 뒤에는 초시계를 정지하고 초시계창을 숨깁니다. 그 후 초시계값을 말합니다.", "get_date_desc": "현재 A에 대한 값입니다.", - "get_date_elements": "A-- 아래 선택지 중 하나
① \"year\" : 현재 연도 값
② \"month\" : 현재 월 값
③ \"day\" : 현재 일 값
④ \"hour\" : 현재 시간 값
⑤ \"minute\" : 현재 분 값
⑥ \"second\" : 현재 초 값", + "get_date_elements": "A-- 아래 선택지 중 하나\n① \"year\" : 현재 연도 값\n② \"month\" : 현재 월 값\n③ \"day\" : 현재 일 값\n④ \"hour\" : 현재 시간 값\n⑤ \"minute\" : 현재 분 값\n⑥ \"second\" : 현재 초 값", "get_date_exampleCode": "def when_start():\n Entry.print(Entry.value_of_current_time(\"year\") + \"년\" + Entry.value_of_current_time(\"month\") + \"월\")", "get_date_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 현재년도와 월을 말합니다.", "distance_something_desc": "자신과 A까지의 거리 값입니다.", - "distance_something_elements": "A-- 아래 선택지 중 하나
① \"오브젝트 이름\"
② \"mouse_pointer\" 또는 \"마우스포인터\"", + "distance_something_elements": "A-- 아래 선택지 중 하나\n① \"오브젝트 이름\"\n② \"mouse_pointer\" 또는 \"마우스포인터\"", "distance_something_exampleCode": "def when_start():\n while True:\n Entry.print(Entry.value_of_distance_to(\"mouse_pointer\"))", "distance_something_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 마우스포인터와의 거리를 계속해서 말합니다.", "get_sound_duration_desc": "소리 A의 길이(초)값입니다.", @@ -3232,22 +3250,22 @@ "char_at_exampleCode": "def when_start():\n Entry.print(\"안녕 엔트리!\"[0])", "char_at_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 \"안녕 엔트리!\"의 0번째 글자인 \"안\"을 말합니다.", "substring_desc": "A 문자열의 B위치부터 C-1위치까지의 값입니다. (첫 번째 글자의 위치는 0부터 시작합니다.)", - "substring_elements": "A-- \"문자열\"%nextB-- 포함할 문자열의 시작 위치
첫 번째 글자는 0부터 시작%nextC-- 문자열을 포함하지 않는 위치", + "substring_elements": "A-- \"문자열\"%nextB-- 포함할 문자열의 시작 위치\n첫 번째 글자는 0부터 시작%nextC-- 문자열을 포함하지 않는 위치", "substring_exampleCode": "def when_start():\n Entry.print(\"안녕 엔트리!\"[1:5])", "substring_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 \"안녕 엔트리!\"의 1에서 4번째 글자인 \"녕 엔트\"를 말합니다.", "index_of_string_desc": "A문자열에서 B문자열이 처음으로 등장하는 위치의 값입니다. (첫 번째 글자의 위치는 0부터 시작합니다.)", "index_of_string_elements": "A, B-- \"문자열\"", "index_of_string_exampleCode": "def when_start():\n Entry.print(\"안녕 엔트리!\".find(\"엔트리\"))", "index_of_string_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 \"안녕 엔트리!\"에서 \"엔트리\"가 처음으로 등장하는 위치인 3을 말합니다.", - "replace_string_desc": "A 문자열에서 B문자열을 모두 찾아 C문자열로 바꾼 값입니다.
(영문 입력시 대소문자를 구분합니다.)", + "replace_string_desc": "A 문자열에서 B문자열을 모두 찾아 C문자열로 바꾼 값입니다.\n(영문 입력시 대소문자를 구분합니다.)", "replace_string_elements": "A, B, C-- \"문자열\"", "replace_string_exampleCode": "def when_start():\n Entry.print(\"안녕 엔트리!\".replace( \"안녕\", \"반가워\"))", "replace_string_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 \"안녕 엔트리!\"에서 \"안녕\"을 \"반가워\"로 바꾼 \"반가워 엔트리!\"를 말합니다.", "change_string_case_desc": "A의 모든 알파벳을 대문자 또는 소문자로 바꾼 문자값입니다.", - "change_string_case_elements": "A-- \"문자열\"
① A.upper(): A의 모든 알파벳을 대문자로 바꾼 값
② A.lower() : A의 모든 알파벳을 소문자로 바꾼 값", + "change_string_case_elements": "A-- \"문자열\"\n① A.upper(): A의 모든 알파벳을 대문자로 바꾼 값\n② A.lower() : A의 모든 알파벳을 소문자로 바꾼 값", "change_string_case_exampleCode": "def when_start():\n Entry.print_for_sec(\"Hello Entry!\".upper(), 2)\n Entry.print_for_sec(\"Hello Entry!\".lower(), 2)", "change_string_case_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 \"Hello Entry!\"를 모두 대문자로 바꾼 \"HELLO ENTRY!\"를 2초간 말한 다음 모두 소문자로 바꾼 \"hello entry!\"를 2초간 말합니다.", - "ask_and_wait_desc": "오브젝트가 A 내용을 말풍선으로 묻고, 대답을 입력받습니다. 대답은 실행화면 또는 콘솔창에서 입력할 수 있으며 입력된 값은 'Entry.answer()'에 저장됩니다.
(이 명령어를 사용하면 실행화면에 ‘대답 창’이 생성됩니다.)", + "ask_and_wait_desc": "오브젝트가 A 내용을 말풍선으로 묻고, 대답을 입력받습니다. 대답은 실행화면 또는 콘솔창에서 입력할 수 있으며 입력된 값은 'Entry.answer()'에 저장됩니다. \n(이 명령어를 사용하면 실행화면에 ‘대답 창’이 생성됩니다.)", "ask_and_wait_elements": "A-- \"문자열\"", "ask_and_wait_exampleCode": "def when_start():\n Entry.input(\"이름을 입력해보세요.\")\n Entry.print(Entry.answer() + \" 반가워!\")", "ask_and_wait_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 \"이름을 입력해보세요.\"라고 말풍선으로 묻습니다. 이름을 입력하면 \"(입력한 이름) 반가워!\"라 말합니다.", @@ -3255,107 +3273,107 @@ "get_canvas_input_value_exampleCode": "def when_start():\n Entry.input(\"이름을 입력해보세요.\")\n Entry.print(Entry.answer() + \" 반가워!\")", "get_canvas_input_value_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 \"이름을 입력해보세요.\"라고 말풍선으로 묻습니다. 이름을 입력하면 \"(입력한 이름) 반가워!\"라 말합니다.", "set_visible_answer_desc": "실행화면의 대답 창을 A로 설정합니다.", - "set_visible_answer_elements": "A-- 아래 선택지 중 하나
① \"hide\" : 대답 창을 숨김
② \"show\" : 대답 창을 보임", + "set_visible_answer_elements": "A-- 아래 선택지 중 하나\n① \"hide\" : 대답 창을 숨김\n② \"show\" : 대답 창을 보임", "set_visible_answer_exampleCode": "def when_start():\n Entry.answer_view(\"hide\")\n Entry.input(\"나이를 입력하세요.\")\n Entry.print(Entry.answer())", "set_visible_answer_exampleDesc": "[시작하기]버튼을 클릭하면 대답창이 숨겨지고, 오브젝트가 \"나이를 입력하세요.\"라고 말풍선으로 묻습니다. 나이를 입력하면 오브젝트가 입력한 나이를 말합니다.", "get_variable_desc": "A 변수에 저장된 값입니다.", - "get_variable_elements": "A-- 변수명
① 모든 오브젝트에서 사용: A
② 이 오브젝트에서 사용: self.A", + "get_variable_elements": "A-- 변수명\n① 모든 오브젝트에서 사용: A\n② 이 오브젝트에서 사용: self.A", "get_variable_exampleCode": "age = 16\n\ndef when_start():\n Entry.print(age)", "get_variable_exampleDesc": "age라는 변수를 만들고 그 값을 16으로 정합니다. [시작하기]버튼을 클릭하면 오브젝트가 age 변수에 들어 가 있는 값인 \"16\"을 말합니다.", "change_variable_desc": "A 변수에 B만큼 더합니다.", - "change_variable_elements": "A-- 변수명
① 모든 오브젝트에서 사용: A
② 이 오브젝트에서 사용: self.A%nextB-- 숫자값", + "change_variable_elements": "A-- 변수명\n① 모든 오브젝트에서 사용: A\n② 이 오브젝트에서 사용: self.A%nextB-- 숫자값", "change_variable_exampleCode": "age = 16\n\ndef when_start():\n Entry.print_for_sec(age, 2)\n age += 2\n Entry.print_for_sec(age, 2)", "change_variable_exampleDesc": "age라는 변수를 만들고 그 값을 16으로 정합니다. [시작하기]버튼을 클릭하면 오브젝트가 age 변수에 들어 가 있는 값인 \"16\"을 2초 동안 말합니다. 그 후 age변수에 2를 더하고 더한값인 \"18\"을 2초 동안 말합니다.", "set_variable_desc": "A 변수의 값을 B로 정합니다. 만약 A 변수가 없으면 [속성] 탭에 A 변수가 자동 생성됩니다.", - "set_variable_elements": "A-- 변수명
① 모든 오브젝트에서 사용: A
② 이 오브젝트에서 사용: self.A%nextB-- 변수에 넣을 값
① 문자 : \"안녕!\", \"엔트리\" 등
② 숫자 : 0, 10, 35 등", + "set_variable_elements": "A-- 변수명\n① 모든 오브젝트에서 사용: A\n② 이 오브젝트에서 사용: self.A%nextB-- 변수에 넣을 값\n① 문자 : \"안녕!\", \"엔트리\" 등 \n② 숫자 : 0, 10, 35 등", "set_variable_exampleCode": "age = 16\n\ndef when_start():\n Entry.print(age)", "set_variable_exampleDesc": "age라는 변수를 만들고 그 값을 16으로 정합니다. [시작하기]버튼을 클릭하면 오브젝트가 age 변수에 들어 가 있는 값인 \"16\"을 말합니다.", "show_variable_desc": "A 변수 창을 실행화면에 보이게 합니다.", - "show_variable_elements": "A-- \"변수명\"
① 모든 오브젝트에서 사용: \"A\"
② 이 오브젝트에서 사용: \"self.A\"", + "show_variable_elements": "A-- \"변수명\"\n① 모든 오브젝트에서 사용: \"A\"\n② 이 오브젝트에서 사용: \"self.A\"", "show_variable_exampleCode": "age = 16\n\ndef when_start():\n Entry.hide_variable(\"age\")\n Entry.wait_for_sec(2)\n age = 20\n Entry.show_variable(\"age\")", "show_variable_exampleDesc": "age라는 변수를 만들고 그 값을 16으로 정합니다. [시작하기]버튼을 클릭하면 age변수창을 실행화면에서 숨깁니다. 2초 후 변수값을 17로 바꾸고 age변수창을 실행화면에 보이게 합니다.", "hide_variable_desc": "A 변수 창을 실행화면에서 숨깁니다.", - "hide_variable_elements": "A-- \"변수명\"
① 모든 오브젝트에서 사용: \"A\"
② 이 오브젝트에서 사용: \"self.A\"", + "hide_variable_elements": "A-- \"변수명\"\n① 모든 오브젝트에서 사용: \"A\"\n② 이 오브젝트에서 사용: \"self.A\"", "hide_variable_exampleCode": "age = 16\n\ndef when_start():\n Entry.hide_variable(\"age\")\n Entry.print_for_sec(age, 2)", "hide_variable_exampleDesc": "age라는 변수를 만들고 그 값을 16으로 정합니다. [시작하기]버튼을 클릭하면 age변수창을 실행화면에서 숨기고, 오브젝트가 age 변수에 들어 가 있는 값인 \"16\"을 2초 동안 말합니다.", - "value_of_index_from_list_desc": "A 리스트에서 B위치의 항목 값을 의미합니다.
(첫 번째 항목의 위치는 0부터 시작합니다.)", - "value_of_index_from_list_elements": "A-- 리스트명
① 모든 오브젝트에서 사용: A
② 이 오브젝트에서 사용: self.A%nextB-- 리스트 항목의 위치", + "value_of_index_from_list_desc": "A 리스트에서 B위치의 항목 값을 의미합니다. \n(첫 번째 항목의 위치는 0부터 시작합니다.)", + "value_of_index_from_list_elements": "A-- 리스트명\n① 모든 오브젝트에서 사용: A\n② 이 오브젝트에서 사용: self.A%nextB-- 리스트 항목의 위치", "value_of_index_from_list_exampleCode": "basket = [\"apple\", \"orange\", \"pear\", \"grape\"]\n\ndef when_start():\n Entry.print(basket[1])\n", "value_of_index_from_list_exampleDesc": "basket이라는 리스트를 만들고 4개의 항목을 넣습니다. [시작하기]버튼을 클릭하면 오브젝트가 basket 리스트의 1번째 항목인 orange를 말합니다.", "add_value_to_list_desc": "A 리스트의 마지막 항목으로 B값이 추가됩니다.", - "add_value_to_list_elements": "A-- 리스트명
① 모든 오브젝트에서 사용: A
② 이 오브젝트에서 사용: self.A%nextB-- 리스트에 넣을 항목 값
① 문자 : \"안녕!\", \"엔트리\" 등
② 숫자 : 0, 10, 35 등", + "add_value_to_list_elements": "A-- 리스트명\n① 모든 오브젝트에서 사용: A\n② 이 오브젝트에서 사용: self.A%nextB-- 리스트에 넣을 항목 값\n① 문자 : \"안녕!\", \"엔트리\" 등 \n② 숫자 : 0, 10, 35 등", "add_value_to_list_exampleCode": "basket = [\"apple\", \"orange\", \"pear\", \"grape\"]\n\ndef when_start():\n basket.append(\"juice\")\n Entry.print(basket[4])", "add_value_to_list_exampleDesc": "basket이라는 리스트를 만들고 4개의 항목을 넣습니다. [시작하기]버튼을 클릭하면 \"juice\"를 basket의 마지막 항목으로 추가합니다. 오브젝트는 basket의 4번째 항목인 \"juice\"를 말합니다.", - "remove_value_from_list_desc": "A 리스트의 B위치에 있는 항목을 삭제합니다.
(첫 번째 항목의 위치는 0부터 시작합니다.)", - "remove_value_from_list_elements": "A-- 리스트명
① 모든 오브젝트에서 사용: A
② 이 오브젝트에서 사용: self.A%nextB-- 리스트 항목의 위치값", + "remove_value_from_list_desc": "A 리스트의 B위치에 있는 항목을 삭제합니다.\n(첫 번째 항목의 위치는 0부터 시작합니다.)", + "remove_value_from_list_elements": "A-- 리스트명\n① 모든 오브젝트에서 사용: A\n② 이 오브젝트에서 사용: self.A%nextB-- 리스트 항목의 위치값", "remove_value_from_list_exampleCode": "basket = [\"apple\", \"orange\", \"pear\", \"grape\"]\ndef when_start():\n basket.pop(0)\n Entry.print(basket[0])", "remove_value_from_list_exampleDesc": "basket이라는 리스트를 만들고 4개의 항목을 넣습니다. [시작하기]버튼을 클릭하면 basket의 0번째 항목인 apple을 삭제합니다. 오브젝트는 새롭게 basket의 0번째 항목이 된 \"orange\"를 말합니다.", - "insert_value_to_list_desc": "A 리스트의 B위치에 C항목을 끼워 넣습니다.
(첫 번째 항목의 위치는 0부터 시작합니다. B위치보다 뒤에 있는 항목들은 순서가 하나씩 밀려납니다.)", - "insert_value_to_list_elements": "A-- 리스트명
① 모든 오브젝트에서 사용: A
② 이 오브젝트에서 사용: self.A%nextB-- 리스트 항목의 위치%nextC-- 리스트에 넣을 항목 값
① 문자 : \"안녕!\", \"엔트리\" 등
② 숫자 : 0, 10, 35 등", + "insert_value_to_list_desc": "A 리스트의 B위치에 C항목을 끼워 넣습니다. \n(첫 번째 항목의 위치는 0부터 시작합니다. B위치보다 뒤에 있는 항목들은 순서가 하나씩 밀려납니다.)", + "insert_value_to_list_elements": "A-- 리스트명\n① 모든 오브젝트에서 사용: A\n② 이 오브젝트에서 사용: self.A%nextB-- 리스트 항목의 위치%nextC-- 리스트에 넣을 항목 값\n① 문자 : \"안녕!\", \"엔트리\" 등 \n② 숫자 : 0, 10, 35 등", "insert_value_to_list_exampleCode": "basket = [\"apple\", \"orange\", \"pear\", \"grape\"]\n\ndef when_start():\n basket.insert(1, \"juice\")\n Entry.print(basket[2])", "insert_value_to_list_exampleDesc": "basket이라는 리스트를 만들고 4개의 항목을 넣습니다. [시작하기]버튼을 클릭하면 basket의 1번째 위치에 항목 \"juice\"를 끼워 넣습니다. 오브젝트는 새롭게 basket의 2번째 항목이 된 \"orange\"를 말합니다.", - "change_value_list_index_desc": "A 리스트에서 B위치에 있는 항목의 값을 C 값으로 바꿉니다.
(첫 번째 항목의 위치는 0부터 시작합니다.)", - "change_value_list_index_elements": "A-- 리스트명
① 모든 오브젝트에서 사용: A
② 이 오브젝트에서 사용: self.A%nextB-- 리스트 항목의 위치%nextC-- 리스트에 넣을 항목 값
① 문자 : \"안녕!\", \"엔트리\" 등
② 숫자 : 0, 10, 35 등", + "change_value_list_index_desc": "A 리스트에서 B위치에 있는 항목의 값을 C 값으로 바꿉니다.\n(첫 번째 항목의 위치는 0부터 시작합니다.)", + "change_value_list_index_elements": "A-- 리스트명\n① 모든 오브젝트에서 사용: A\n② 이 오브젝트에서 사용: self.A%nextB-- 리스트 항목의 위치%nextC-- 리스트에 넣을 항목 값\n① 문자 : \"안녕!\", \"엔트리\" 등 \n② 숫자 : 0, 10, 35 등", "change_value_list_index_exampleCode": "basket = [\"apple\", \"orange\", \"pear\", \"grape\"]\n\ndef when_start():\n basket[0] = \"juice\"\n Entry.print(basket[0])", "change_value_list_index_exampleDesc": "basket이라는 리스트를 만들고 4개의 항목을 넣습니다. [시작하기]버튼을 클릭하면 basket의 0번째 위치의 항목 \"apple\"을 \"juice\"로 바꿉니다. 오브젝트는 바뀐 basket의 0번째 항목 \"juice\"를 말합니다.", "length_of_list_desc": "A 리스트가 보유한 항목 개수 값입니다.", - "length_of_list_elements": "A-- 리스트명
① 모든 오브젝트에서 사용: A
② 이 오브젝트에서 사용: self.A", + "length_of_list_elements": "A-- 리스트명\n① 모든 오브젝트에서 사용: A\n② 이 오브젝트에서 사용: self.A", "length_of_list_exampleCode": "basket = [\"apple\", \"orange\", \"pear\", \"grape\"]\n\ndef when_start():\n Entry.print(len(basket))", "length_of_list_exampleDesc": "basket이라는 리스트를 만들고 4개의 항목을 넣습니다. [시작하기]버튼을 클릭하면 오브젝트는 basket의 항목 개수인 4를 말합니다.", "is_included_in_list_desc": "A값을 가진 항목이 B리스트에 포함되어 있는지 확인합니다.", - "is_included_in_list_elements": "A-- 리스트의 항목 값
① 문자 : \"안녕!\", \"엔트리\" 등
② 숫자 : 0, 10, 35 등%nextB-- 리스트명
① 모든 오브젝트에서 사용: A
② 이 오브젝트에서 사용: self.A", + "is_included_in_list_elements": "A-- 리스트의 항목 값\n① 문자 : \"안녕!\", \"엔트리\" 등 \n② 숫자 : 0, 10, 35 등%nextB-- 리스트명\n① 모든 오브젝트에서 사용: A\n② 이 오브젝트에서 사용: self.A", "is_included_in_list_exampleCode": "basket = [\"apple\", \"orange\", \"pear\", \"grape\"]\n\ndef when_start():\n if \"apple\" in basket:\n Entry.print(\"사과가 있어!\")", "is_included_in_list_exampleDesc": "basket이라는 리스트를 만들고 4개의 항목을 넣습니다. [시작하기]버튼을 클릭하면 basket 리스트에 \"apple\"항목이 있는지 확인합니다. \"apple\"항목이 있기 때문에 오브젝트는 \"사과가 있어!\"라 말합니다.", "show_list_desc": "선택한 리스트 창을 실행화면에 보이게 합니다.", - "show_list_elements": "A-- \"리스트명\"
① 모든 오브젝트에서 사용: \"A\"
② 이 오브젝트에서 사용: \"self.A\"", + "show_list_elements": "A-- \"리스트명\"\n① 모든 오브젝트에서 사용: \"A\"\n② 이 오브젝트에서 사용: \"self.A\"", "show_list_exampleCode": "basket = [\"apple\", \"orange\", \"pear\", \"grape\"]\n\ndef when_start():\n Entry.hide_list(\"basket\")\n Entry.wait_for_sec(2)\n Entry.show_list(\"basket\")", "show_list_exampleDesc": "basket이라는 리스트를 만들고 4개의 항목을 넣습니다. [시작하기]버튼을 클릭하면 basket 리스트를 2초간 숨긴 다음 보여줍니다.", "hide_list_desc": "선택한 리스트 창을 실행화면에서 숨깁니다.", - "hide_list_elements": "A-- \"리스트명\"
① 모든 오브젝트에서 사용: \"A\"
② 이 오브젝트에서 사용: \"self.A\"", + "hide_list_elements": "A-- \"리스트명\"\n① 모든 오브젝트에서 사용: \"A\"\n② 이 오브젝트에서 사용: \"self.A\"", "hide_list_exampleCode": "basket = [\"apple\", \"orange\", \"pear\", \"grape\"]\n\ndef when_start():\n Entry.hide_list(\"basket\")\n Entry.wait_for_sec(2)\n Entry.show_list(\"basket\")", "hide_list_exampleDesc": "basket이라는 리스트를 만들고 4개의 항목을 넣습니다. [시작하기]버튼을 클릭하면 basket 리스트를 2초간 숨긴 다음 보여줍니다.", "boolean_and_or_desc": "A와 B의 판단값을 확인하여 True 또는 False로 판단합니다.", - "boolean_and_or_elements": "A, B-- True 또는 False로 판단할 수 있는 명령어 입력(판단 카테고리의 명령어)
① and : A와 B의 판단이 모두 True인 경우 True, 아닌 경우 False
② or : A와 B의 판단 중 하나라도 True인 경우 True, 아닌 경우 False", + "boolean_and_or_elements": "A, B-- True 또는 False로 판단할 수 있는 명령어 입력(판단 카테고리의 명령어)\n① and : A와 B의 판단이 모두 True인 경우 True, 아닌 경우 False\n② or : A와 B의 판단 중 하나라도 True인 경우 True, 아닌 경우 False", "boolean_and_or_exampleCode": "def when_start():\n while True:\n if Entry.is_key_pressed(\"a\") and Entry.is_key_pressed(\"s\"):\n Entry.add_effect(\"color\", 10)", "boolean_and_or_exampleDesc": "[시작하기]버튼을 클릭하고 키보드의 \"a\" 와 \"s\"키를 동시에 눌렀을 때, 색깔 효과를 10만큼 줍니다.", "check_weather_desc": "B날짜에 C지역의 날씨가 A인 경우 True로 판단합니다.", - "check_weather_elements": "A-- 아래 선택지 중 하나
①    \"sunny\" : 맑음
②    \"partly cloudy\" : 구름조금
③    \"mostly cloudy\" : 구름많음
④    \"cloudy\" : 흐림
⑤    \"rainy\" : 비
⑥    \"sleet\" : 진눈깨비
⑦    \"snowy\" : 눈%nextB-- 아래 선택지 중 하나
①    \"yesterday\" : 어제
②    \"today\" : 오늘
③    \"tomorrow\" : 내일
④    \"After 2 days\" : 모레
⑤    \"After 3 days\" : 3일 후
⑥    \"After 4 days\" : 4일 후
⑦    \"After 5 days\" : 5일 후
⑧    \"After 6 days\" : 6일 후%nextC-- 아래 선택지 중 하나
①    \"Seoul\" : 서울
②    \"Gangwon-do\" : 강원
③    \"Gyeonggi-do\" : 경기
④    \"Gyeongsangnam-do\" : 경남
⑤    \"Gyeongsangbuk-do\" : 경북
⑥    \"Gwangju\" : 광주
⑦    \"Daegu\" : 대구
⑧    \"Daejeon\" : 대전
⑨    \"Busan\" : 부산
⑩    \"Sejong\" : 세종
⑪    \"Ulsan\" : 울산
⑫    \"Incheon\" : 인천
⑬    \"Jeollanam-do\" : 전남
⑭    \"Jeollabuk-do\" : 전북
⑮    \"Jeju\" : 제주
Ⓐ \"Chungcheongnam-do\" : 충남
Ⓑ \"Chungcheongbuk-do\": 충북", + "check_weather_elements": "A-- 아래 선택지 중 하나\n①    \"sunny\" : 맑음\n②    \"partly cloudy\" : 구름조금\n③    \"mostly cloudy\" : 구름많음\n④    \"cloudy\" : 흐림\n⑤    \"rainy\" : 비\n⑥    \"sleet\" : 진눈깨비\n⑦    \"snowy\" : 눈%nextB-- 아래 선택지 중 하나\n①    \"yesterday\" : 어제\n②    \"today\" : 오늘\n③    \"tomorrow\" : 내일\n④    \"After 2 days\" : 모레\n⑤    \"After 3 days\" : 3일 후\n⑥    \"After 4 days\" : 4일 후\n⑦    \"After 5 days\" : 5일 후\n⑧    \"After 6 days\" : 6일 후%nextC-- 아래 선택지 중 하나\n①    \"Seoul\" : 서울\n②    \"Gangwon-do\" : 강원\n③    \"Gyeonggi-do\" : 경기\n④    \"Gyeongsangnam-do\" : 경남\n⑤    \"Gyeongsangbuk-do\" : 경북\n⑥    \"Gwangju\" : 광주\n⑦    \"Daegu\" : 대구\n⑧    \"Daejeon\" : 대전\n⑨    \"Busan\" : 부산\n⑩    \"Sejong\" : 세종\n⑪    \"Ulsan\" : 울산\n⑫    \"Incheon\" : 인천\n⑬    \"Jeollanam-do\" : 전남\n⑭    \"Jeollabuk-do\" : 전북\n⑮    \"Jeju\" : 제주\nⒶ \"Chungcheongnam-do\" : 충남\nⒷ \"Chungcheongbuk-do\": 충북", "check_weather_exampleCode": "def when_start():\n if Weather.is_condition_sunny(\"today\", \"Seoul\"):\n Entry.print(\"오늘 서울의 날씨는 맑습니다.\")", "check_weather_exampleDesc": "[시작하기]버튼을 클릭하면 오늘 서울의 날씨가 맑은지 확인합니다. 만약 서울의 날씨가 맑다면 오브젝트가 \"오늘 서울의 날씨는 맑습니다.\"라고 말합니다.​", "check_finedust_desc": "선택한 지역의 현재 미세먼지 정보를 실제 미세먼지 등급과 비교하여 일치하는 경우 ‘참’으로 판단합니다.", - "check_finedust_elements": "A-- 아래 선택지 중 하나
①    \"good\" : 좋음
②    \"normal\" : 보통
③    \"bad\" : 나쁨
④    \"very bad\" : 매우나쁨%nextB-- 아래 선택지 중 하나
①    \"Seoul\" : 서울
②    \"Gangwon-do\" : 강원
③    \"Gyeonggi-do\" : 경기
④    \"Gyeongsangnam-do\" : 경남
⑤    \"Gyeongsangbuk-do\" : 경북
⑥    \"Gwangju\" : 광주
⑦    \"Daegu\" : 대구
⑧    \"Daejeon\" : 대전
⑨    \"Busan\" : 부산
⑩    \"Sejong\" : 세종
⑪    \"Ulsan\" : 울산
⑫    \"Incheon\" : 인천
⑬    \"Jeollanam-do\" : 전남
⑭    \"Jeollabuk-do\" : 전북
⑮    \"Jeju\" : 제주
Ⓐ \"Chungcheongnam-do\" : 충남
Ⓑ \"Chungcheongbuk-do\": 충북", + "check_finedust_elements": "A-- 아래 선택지 중 하나\n①    \"good\" : 좋음\n②    \"normal\" : 보통\n③    \"bad\" : 나쁨\n④    \"very bad\" : 매우나쁨%nextB-- 아래 선택지 중 하나\n①    \"Seoul\" : 서울\n②    \"Gangwon-do\" : 강원\n③    \"Gyeonggi-do\" : 경기\n④    \"Gyeongsangnam-do\" : 경남\n⑤    \"Gyeongsangbuk-do\" : 경북\n⑥    \"Gwangju\" : 광주\n⑦    \"Daegu\" : 대구\n⑧    \"Daejeon\" : 대전\n⑨    \"Busan\" : 부산\n⑩    \"Sejong\" : 세종\n⑪    \"Ulsan\" : 울산\n⑫    \"Incheon\" : 인천\n⑬    \"Jeollanam-do\" : 전남\n⑭    \"Jeollabuk-do\" : 전북\n⑮    \"Jeju\" : 제주\nⒶ \"Chungcheongnam-do\" : 충남\nⒷ \"Chungcheongbuk-do\": 충북", "check_finedust_exampleCode": "def when_start():\n if Weather.is_current_finedust_grade_good(\"Seoul\"):\n Entry.print(\"현재 서울의 미세먼지 등급은 좋음입니다.\")", "check_finedust_exampleDesc": "[시작하기]버튼을 클릭하면 현재 서울의 미세먼지 등급이 좋음인지 확인합니다. 만약 서울의 날씨가 맑다면 오브젝트가 “오늘 서울의 미세먼지 등급은 좋음입니다.”라고 말합니다.​", "get_weather_data_desc": "선택한 날짜와 지역의 각종 날씨 정보값(최저기온, 최고기온, 습도, 강수량, 강수확률, 풍속)입니다.", - "get_weather_data_elements": "A-- 아래 선택지 중 하나
①    \"the lowest temperature\" : 최저기온
②    \"the highest temperature\" : 최고기온
③    \"humidity\" : 습도
④    \"precipitation\" : 강수량
⑤    \"precipitation probability\" : 강수확률
⑥    \"wind speed\" : 풍속%nextB-- 아래 선택지 중 하나
①    \"yesterday\" : 어제
②    \"today\" : 오늘
③    \"tomorrow\" : 내일
④    \"After 2 days\" : 모레
⑤    \"After 3 days\" : 3일 후
⑥    \"After 4 days\" : 4일 후
⑦    \"After 5 days\" : 5일 후
⑧    \"After 6 days\" : 6일 후%nextC-- 아래 선택지 중 하나
①    \"Seoul\" : 서울
②    \"Gangwon-do\" : 강원
③    \"Gyeonggi-do\" : 경기
④    \"Gyeongsangnam-do\" : 경남
⑤    \"Gyeongsangbuk-do\" : 경북
⑥    \"Gwangju\" : 광주
⑦    \"Daegu\" : 대구
⑧    \"Daejeon\" : 대전
⑨    \"Busan\" : 부산
⑩    \"Sejong\" : 세종
⑪    \"Ulsan\" : 울산
⑫    \"Incheon\" : 인천
⑬    \"Jeollanam-do\" : 전남
⑭    \"Jeollabuk-do\" : 전북
⑮    \"Jeju\" : 제주
Ⓐ \"Chungcheongnam-do\" : 충남
Ⓑ \"Chungcheongbuk-do\": 충북", + "get_weather_data_elements": "A-- 아래 선택지 중 하나\n①    \"the lowest temperature\" : 최저기온\n②    \"the highest temperature\" : 최고기온\n③    \"humidity\" : 습도\n④    \"precipitation\" : 강수량\n⑤    \"precipitation probability\" : 강수확률\n⑥    \"wind speed\" : 풍속%nextB-- 아래 선택지 중 하나\n①    \"yesterday\" : 어제\n②    \"today\" : 오늘\n③    \"tomorrow\" : 내일\n④    \"After 2 days\" : 모레\n⑤    \"After 3 days\" : 3일 후\n⑥    \"After 4 days\" : 4일 후\n⑦    \"After 5 days\" : 5일 후\n⑧    \"After 6 days\" : 6일 후%nextC-- 아래 선택지 중 하나\n①    \"Seoul\" : 서울\n②    \"Gangwon-do\" : 강원\n③    \"Gyeonggi-do\" : 경기\n④    \"Gyeongsangnam-do\" : 경남\n⑤    \"Gyeongsangbuk-do\" : 경북\n⑥    \"Gwangju\" : 광주\n⑦    \"Daegu\" : 대구\n⑧    \"Daejeon\" : 대전\n⑨    \"Busan\" : 부산\n⑩    \"Sejong\" : 세종\n⑪    \"Ulsan\" : 울산\n⑫    \"Incheon\" : 인천\n⑬    \"Jeollanam-do\" : 전남\n⑭    \"Jeollabuk-do\" : 전북\n⑮    \"Jeju\" : 제주\nⒶ \"Chungcheongnam-do\" : 충남\nⒷ \"Chungcheongbuk-do\": 충북", "get_weather_data_exampleCode": "def when_start():\n Entry.print(Weather.get_lowest_temperature(\"today\", \"Seoul\"))", "get_weather_data_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 오늘 서울의 최저기온을 말합니다.​", "get_current_weather_data_desc": "현재 B지역의 A 날씨 정보값을 의미합니다.", - "get_current_weather_data_elements": "A-- 아래 선택지 중 하나
①    \"Seoul\" : 서울
②    \"Gangwon-do\" : 강원
③    \"Gyeonggi-do\" : 경기
④    \"Gyeongsangnam-do\" : 경남
⑤    \"Gyeongsangbuk-do\" : 경북
⑥    \"Gwangju\" : 광주
⑦    \"Daegu\" : 대구
⑧    \"Daejeon\" : 대전
⑨    \"Busan\" : 부산
⑩    \"Sejong\" : 세종
⑪    \"Ulsan\" : 울산
⑫    \"Incheon\" : 인천
⑬    \"Jeollanam-do\" : 전남
⑭    \"Jeollabuk-do\" : 전북
⑮    \"Jeju\" : 제주
Ⓐ \"Chungcheongnam-do\" : 충남
Ⓑ \"Chungcheongbuk-do\": 충북%nextB-- 아래 선택지 중 하나
①    \"temperature\" : 기온
②    \"concentration of fine dust\" : 미세먼지농도", + "get_current_weather_data_elements": "A-- 아래 선택지 중 하나\n①    \"Seoul\" : 서울\n②    \"Gangwon-do\" : 강원\n③    \"Gyeonggi-do\" : 경기\n④    \"Gyeongsangnam-do\" : 경남\n⑤    \"Gyeongsangbuk-do\" : 경북\n⑥    \"Gwangju\" : 광주\n⑦    \"Daegu\" : 대구\n⑧    \"Daejeon\" : 대전\n⑨    \"Busan\" : 부산\n⑩    \"Sejong\" : 세종\n⑪    \"Ulsan\" : 울산\n⑫    \"Incheon\" : 인천\n⑬    \"Jeollanam-do\" : 전남\n⑭    \"Jeollabuk-do\" : 전북\n⑮    \"Jeju\" : 제주\nⒶ \"Chungcheongnam-do\" : 충남\nⒷ \"Chungcheongbuk-do\": 충북%nextB-- 아래 선택지 중 하나\n①    \"temperature\" : 기온\n②    \"concentration of fine dust\" : 미세먼지농도", "get_current_weather_data_exampleCode": "def when_start():\n Entry.print(Weather.get_current_temperature(\"Seoul\"))", "get_current_weather_data_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 현재 서울의 기온을 말합니다.", "get_today_temperature_desc": "오늘 A지역의 B 시간대 기온 정보값을 의미합니다.", - "get_today_temperature_elements": "A-- 아래 선택지 중 하나
①    \"Seoul\" : 서울
②    \"Gangwon-do\" : 강원
③    \"Gyeonggi-do\" : 경기
④    \"Gyeongsangnam-do\" : 경남
⑤    \"Gyeongsangbuk-do\" : 경북
⑥    \"Gwangju\" : 광주
⑦    \"Daegu\" : 대구
⑧    \"Daejeon\" : 대전
⑨    \"Busan\" : 부산
⑩    \"Sejong\" : 세종
⑪    \"Ulsan\" : 울산
⑫    \"Incheon\" : 인천
⑬    \"Jeollanam-do\" : 전남
⑭    \"Jeollabuk-do\" : 전북
⑮    \"Jeju\" : 제주
Ⓐ \"Chungcheongnam-do\" : 충남
Ⓑ \"Chungcheongbuk-do\": 충북%nextB-- 아래 선택지 중 하나
①    \"00\" : 당일 00시 측정된 기온값
②    \"03\" : 당일 03시 측정된 기온값
③    \"06\" : 당일 06시 측정된 기온값
④    \"09\" : 당일 09시 측정된 기온값
⑤    \"12\" : 당일 12시 측정된 기온값
⑥    \"15\" : 당일 15시 측정된 기온값
⑦    \"18\" : 당일 18시 측정된 기온값
⑧    \"21\" : 당일 21시 측정된 기온값", + "get_today_temperature_elements": "A-- 아래 선택지 중 하나\n①    \"Seoul\" : 서울\n②    \"Gangwon-do\" : 강원\n③    \"Gyeonggi-do\" : 경기\n④    \"Gyeongsangnam-do\" : 경남\n⑤    \"Gyeongsangbuk-do\" : 경북\n⑥    \"Gwangju\" : 광주\n⑦    \"Daegu\" : 대구\n⑧    \"Daejeon\" : 대전\n⑨    \"Busan\" : 부산\n⑩    \"Sejong\" : 세종\n⑪    \"Ulsan\" : 울산\n⑫    \"Incheon\" : 인천\n⑬    \"Jeollanam-do\" : 전남\n⑭    \"Jeollabuk-do\" : 전북\n⑮    \"Jeju\" : 제주\nⒶ \"Chungcheongnam-do\" : 충남\nⒷ \"Chungcheongbuk-do\": 충북%nextB-- 아래 선택지 중 하나\n①    \"00\" : 당일 00시 측정된 기온값\n②    \"03\" : 당일 03시 측정된 기온값\n③    \"06\" : 당일 06시 측정된 기온값\n④    \"09\" : 당일 09시 측정된 기온값\n⑤    \"12\" : 당일 12시 측정된 기온값\n⑥    \"15\" : 당일 15시 측정된 기온값\n⑦    \"18\" : 당일 18시 측정된 기온값\n⑧    \"21\" : 당일 21시 측정된 기온값", "get_today_temperature_exampleCode": "def when_start():\n Entry.print(Weather.get_today_temperature(\"Seoul\", 00))", "get_today_temperature_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 오늘 서울의 00시 기온을 말합니다.​", "check_city_weather_desc": "B날짜에 C지역의 날씨가 A인 경우 True로 판단합니다.", - "check_city_weather_elements": "A-- 아래 선택지 중 하나
①    \"sunny\" : 맑음
②    \"partly cloudy\" : 구름조금
③    \"mostly cloudy\" : 구름많음
④    \"cloudy\" : 흐림
⑤    \"rainy\" : 비
⑥    \"sleet\" : 진눈깨비
⑦    \"snowy\" : 눈%nextB-- 아래 선택지 중 하나
①    \"yesterday\" : 어제
②    \"today\" : 오늘
③    \"tomorrow\" : 내일
④    \"After 2 days\" : 모레
⑤    \"After 3 days\" : 3일 후
⑥    \"After 4 days\" : 4일 후
⑦    \"After 5 days\" : 5일 후
⑧    \"After 6 days\" : 6일 후%nextC-- 아래 선택지 중 하나
①    \"Seoul\" : 서울
②    \"Gangwon-do\" : 강원
③    \"Gyeonggi-do\" : 경기
④    \"Gyeongsangnam-do\" : 경남
⑤    \"Gyeongsangbuk-do\" : 경북
⑥    \"Gwangju\" : 광주
⑦    \"Daegu\" : 대구
⑧    \"Daejeon\" : 대전
⑨    \"Busan\" : 부산
⑩    \"Sejong\" : 세종
⑪    \"Ulsan\" : 울산
⑫    \"Incheon\" : 인천
⑬    \"Jeollanam-do\" : 전남
⑭    \"Jeollabuk-do\" : 전북
⑮    \"Jeju\" : 제주
Ⓐ \"Chungcheongnam-do\" : 충남
Ⓑ \"Chungcheongbuk-do\": 충북", + "check_city_weather_elements": "A-- 아래 선택지 중 하나\n①    \"sunny\" : 맑음\n②    \"partly cloudy\" : 구름조금\n③    \"mostly cloudy\" : 구름많음\n④    \"cloudy\" : 흐림\n⑤    \"rainy\" : 비\n⑥    \"sleet\" : 진눈깨비\n⑦    \"snowy\" : 눈%nextB-- 아래 선택지 중 하나\n①    \"yesterday\" : 어제\n②    \"today\" : 오늘\n③    \"tomorrow\" : 내일\n④    \"After 2 days\" : 모레\n⑤    \"After 3 days\" : 3일 후\n⑥    \"After 4 days\" : 4일 후\n⑦    \"After 5 days\" : 5일 후\n⑧    \"After 6 days\" : 6일 후%nextC-- 아래 선택지 중 하나\n①    \"Seoul\" : 서울\n②    \"Gangwon-do\" : 강원\n③    \"Gyeonggi-do\" : 경기\n④    \"Gyeongsangnam-do\" : 경남\n⑤    \"Gyeongsangbuk-do\" : 경북\n⑥    \"Gwangju\" : 광주\n⑦    \"Daegu\" : 대구\n⑧    \"Daejeon\" : 대전\n⑨    \"Busan\" : 부산\n⑩    \"Sejong\" : 세종\n⑪    \"Ulsan\" : 울산\n⑫    \"Incheon\" : 인천\n⑬    \"Jeollanam-do\" : 전남\n⑭    \"Jeollabuk-do\" : 전북\n⑮    \"Jeju\" : 제주\nⒶ \"Chungcheongnam-do\" : 충남\nⒷ \"Chungcheongbuk-do\": 충북", "check_city_weather_exampleCode": "def when_start():\n if Weather.is_condition_sunny(\"today\", \"Seoul\"):\n Entry.print(\"오늘 서울의 날씨는 맑습니다.\")", "check_city_weather_exampleDesc": "[시작하기]버튼을 클릭하면 오늘 서울의 날씨가 맑은지 확인합니다. 만약 서울의 날씨가 맑다면 오브젝트가 \"오늘 서울의 날씨는 맑습니다.\"라고 말합니다.​", "check_city_finedust_desc": "선택한 지역의 현재 미세먼지 정보를 실제 미세먼지 등급과 비교하여 일치하는 경우 ‘참’으로 판단합니다.", - "check_city_finedust_elements": "A-- 아래 선택지 중 하나
①    \"good\" : 좋음
②    \"normal\" : 보통
③    \"bad\" : 나쁨
④    \"very bad\" : 매우나쁨%nextB-- 아래 선택지 중 하나
①    \"Seoul\" : 서울
②    \"Gangwon-do\" : 강원
③    \"Gyeonggi-do\" : 경기
④    \"Gyeongsangnam-do\" : 경남
⑤    \"Gyeongsangbuk-do\" : 경북
⑥    \"Gwangju\" : 광주
⑦    \"Daegu\" : 대구
⑧    \"Daejeon\" : 대전
⑨    \"Busan\" : 부산
⑩    \"Sejong\" : 세종
⑪    \"Ulsan\" : 울산
⑫    \"Incheon\" : 인천
⑬    \"Jeollanam-do\" : 전남
⑭    \"Jeollabuk-do\" : 전북
⑮    \"Jeju\" : 제주
Ⓐ \"Chungcheongnam-do\" : 충남
Ⓑ \"Chungcheongbuk-do\": 충북", + "check_city_finedust_elements": "A-- 아래 선택지 중 하나\n①    \"good\" : 좋음\n②    \"normal\" : 보통\n③    \"bad\" : 나쁨\n④    \"very bad\" : 매우나쁨%nextB-- 아래 선택지 중 하나\n①    \"Seoul\" : 서울\n②    \"Gangwon-do\" : 강원\n③    \"Gyeonggi-do\" : 경기\n④    \"Gyeongsangnam-do\" : 경남\n⑤    \"Gyeongsangbuk-do\" : 경북\n⑥    \"Gwangju\" : 광주\n⑦    \"Daegu\" : 대구\n⑧    \"Daejeon\" : 대전\n⑨    \"Busan\" : 부산\n⑩    \"Sejong\" : 세종\n⑪    \"Ulsan\" : 울산\n⑫    \"Incheon\" : 인천\n⑬    \"Jeollanam-do\" : 전남\n⑭    \"Jeollabuk-do\" : 전북\n⑮    \"Jeju\" : 제주\nⒶ \"Chungcheongnam-do\" : 충남\nⒷ \"Chungcheongbuk-do\": 충북", "check_city_finedust_exampleCode": "def when_start():\n if Weather.is_current_finedust_grade_good(\"Seoul\"):\n Entry.print(\"현재 서울의 미세먼지 등급은 좋음입니다.\")", "check_city_finedust_exampleDesc": "[시작하기]버튼을 클릭하면 현재 서울의 미세먼지 등급이 좋음인지 확인합니다. 만약 서울의 날씨가 맑다면 오브젝트가 “오늘 서울의 미세먼지 등급은 좋음입니다.”라고 말합니다.​", "get_city_weather_data_desc": "선택한 날짜와 지역의 각종 날씨 정보값(최저기온, 최고기온, 습도, 강수량, 강수확률, 풍속)입니다.", - "get_city_weather_data_elements": "A-- 아래 선택지 중 하나
①    \"the lowest temperature\" : 최저기온
②    \"the highest temperature\" : 최고기온
③    \"humidity\" : 습도
④    \"precipitation\" : 강수량
⑤    \"precipitation probability\" : 강수확률
⑥    \"wind speed\" : 풍속%nextB-- 아래 선택지 중 하나
①    \"yesterday\" : 어제
②    \"today\" : 오늘
③    \"tomorrow\" : 내일
④    \"After 2 days\" : 모레
⑤    \"After 3 days\" : 3일 후
⑥    \"After 4 days\" : 4일 후
⑦    \"After 5 days\" : 5일 후
⑧    \"After 6 days\" : 6일 후%nextC-- 아래 선택지 중 하나
①    \"Seoul\" : 서울
②    \"Gangwon-do\" : 강원
③    \"Gyeonggi-do\" : 경기
④    \"Gyeongsangnam-do\" : 경남
⑤    \"Gyeongsangbuk-do\" : 경북
⑥    \"Gwangju\" : 광주
⑦    \"Daegu\" : 대구
⑧    \"Daejeon\" : 대전
⑨    \"Busan\" : 부산
⑩    \"Sejong\" : 세종
⑪    \"Ulsan\" : 울산
⑫    \"Incheon\" : 인천
⑬    \"Jeollanam-do\" : 전남
⑭    \"Jeollabuk-do\" : 전북
⑮    \"Jeju\" : 제주
Ⓐ \"Chungcheongnam-do\" : 충남
Ⓑ \"Chungcheongbuk-do\": 충북", + "get_city_weather_data_elements": "A-- 아래 선택지 중 하나\n①    \"the lowest temperature\" : 최저기온\n②    \"the highest temperature\" : 최고기온\n③    \"humidity\" : 습도\n④    \"precipitation\" : 강수량\n⑤    \"precipitation probability\" : 강수확률\n⑥    \"wind speed\" : 풍속%nextB-- 아래 선택지 중 하나\n①    \"yesterday\" : 어제\n②    \"today\" : 오늘\n③    \"tomorrow\" : 내일\n④    \"After 2 days\" : 모레\n⑤    \"After 3 days\" : 3일 후\n⑥    \"After 4 days\" : 4일 후\n⑦    \"After 5 days\" : 5일 후\n⑧    \"After 6 days\" : 6일 후%nextC-- 아래 선택지 중 하나\n①    \"Seoul\" : 서울\n②    \"Gangwon-do\" : 강원\n③    \"Gyeonggi-do\" : 경기\n④    \"Gyeongsangnam-do\" : 경남\n⑤    \"Gyeongsangbuk-do\" : 경북\n⑥    \"Gwangju\" : 광주\n⑦    \"Daegu\" : 대구\n⑧    \"Daejeon\" : 대전\n⑨    \"Busan\" : 부산\n⑩    \"Sejong\" : 세종\n⑪    \"Ulsan\" : 울산\n⑫    \"Incheon\" : 인천\n⑬    \"Jeollanam-do\" : 전남\n⑭    \"Jeollabuk-do\" : 전북\n⑮    \"Jeju\" : 제주\nⒶ \"Chungcheongnam-do\" : 충남\nⒷ \"Chungcheongbuk-do\": 충북", "get_city_weather_data_exampleCode": "def when_start():\n Entry.print(Weather.get_lowest_temperature(\"today\", \"Seoul\"))", "get_city_weather_data_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 오늘 서울의 최저기온을 말합니다.​", "get_current_city_weather_data_desc": "현재 B지역의 A 날씨 정보값을 의미합니다.", - "get_current_city_weather_data_elements": "A-- 아래 선택지 중 하나
①    \"Seoul\" : 서울
②    \"Gangwon-do\" : 강원
③    \"Gyeonggi-do\" : 경기
④    \"Gyeongsangnam-do\" : 경남
⑤    \"Gyeongsangbuk-do\" : 경북
⑥    \"Gwangju\" : 광주
⑦    \"Daegu\" : 대구
⑧    \"Daejeon\" : 대전
⑨    \"Busan\" : 부산
⑩    \"Sejong\" : 세종
⑪    \"Ulsan\" : 울산
⑫    \"Incheon\" : 인천
⑬    \"Jeollanam-do\" : 전남
⑭    \"Jeollabuk-do\" : 전북
⑮    \"Jeju\" : 제주
Ⓐ \"Chungcheongnam-do\" : 충남
Ⓑ \"Chungcheongbuk-do\": 충북%nextB-- 아래 선택지 중 하나
①    \"temperature\" : 기온
②    \"concentration of fine dust\" : 미세먼지농도", + "get_current_city_weather_data_elements": "A-- 아래 선택지 중 하나\n①    \"Seoul\" : 서울\n②    \"Gangwon-do\" : 강원\n③    \"Gyeonggi-do\" : 경기\n④    \"Gyeongsangnam-do\" : 경남\n⑤    \"Gyeongsangbuk-do\" : 경북\n⑥    \"Gwangju\" : 광주\n⑦    \"Daegu\" : 대구\n⑧    \"Daejeon\" : 대전\n⑨    \"Busan\" : 부산\n⑩    \"Sejong\" : 세종\n⑪    \"Ulsan\" : 울산\n⑫    \"Incheon\" : 인천\n⑬    \"Jeollanam-do\" : 전남\n⑭    \"Jeollabuk-do\" : 전북\n⑮    \"Jeju\" : 제주\nⒶ \"Chungcheongnam-do\" : 충남\nⒷ \"Chungcheongbuk-do\": 충북%nextB-- 아래 선택지 중 하나\n①    \"temperature\" : 기온\n②    \"concentration of fine dust\" : 미세먼지농도", "get_current_city_weather_data_exampleCode": "def when_start():\n Entry.print(Weather.get_current_temperature(\"Seoul\"))", "get_current_city_weather_data_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 현재 서울의 기온을 말합니다.", "get_today_city_temperature_desc": "오늘 A지역의 B 시간대 기온 정보값을 의미합니다.", - "get_today_city_temperature_elements": "A-- 아래 선택지 중 하나
①    \"Seoul\" : 서울
②    \"Gangwon-do\" : 강원
③    \"Gyeonggi-do\" : 경기
④    \"Gyeongsangnam-do\" : 경남
⑤    \"Gyeongsangbuk-do\" : 경북
⑥    \"Gwangju\" : 광주
⑦    \"Daegu\" : 대구
⑧    \"Daejeon\" : 대전
⑨    \"Busan\" : 부산
⑩    \"Sejong\" : 세종
⑪    \"Ulsan\" : 울산
⑫    \"Incheon\" : 인천
⑬    \"Jeollanam-do\" : 전남
⑭    \"Jeollabuk-do\" : 전북
⑮    \"Jeju\" : 제주
Ⓐ \"Chungcheongnam-do\" : 충남
Ⓑ \"Chungcheongbuk-do\": 충북%nextB-- 아래 선택지 중 하나
①    \"00\" : 당일 00시 측정된 기온값
②    \"03\" : 당일 03시 측정된 기온값
③    \"06\" : 당일 06시 측정된 기온값
④    \"09\" : 당일 09시 측정된 기온값
⑤    \"12\" : 당일 12시 측정된 기온값
⑥    \"15\" : 당일 15시 측정된 기온값
⑦    \"18\" : 당일 18시 측정된 기온값
⑧    \"21\" : 당일 21시 측정된 기온값", + "get_today_city_temperature_elements": "A-- 아래 선택지 중 하나\n①    \"Seoul\" : 서울\n②    \"Gangwon-do\" : 강원\n③    \"Gyeonggi-do\" : 경기\n④    \"Gyeongsangnam-do\" : 경남\n⑤    \"Gyeongsangbuk-do\" : 경북\n⑥    \"Gwangju\" : 광주\n⑦    \"Daegu\" : 대구\n⑧    \"Daejeon\" : 대전\n⑨    \"Busan\" : 부산\n⑩    \"Sejong\" : 세종\n⑪    \"Ulsan\" : 울산\n⑫    \"Incheon\" : 인천\n⑬    \"Jeollanam-do\" : 전남\n⑭    \"Jeollabuk-do\" : 전북\n⑮    \"Jeju\" : 제주\nⒶ \"Chungcheongnam-do\" : 충남\nⒷ \"Chungcheongbuk-do\": 충북%nextB-- 아래 선택지 중 하나\n①    \"00\" : 당일 00시 측정된 기온값\n②    \"03\" : 당일 03시 측정된 기온값\n③    \"06\" : 당일 06시 측정된 기온값\n④    \"09\" : 당일 09시 측정된 기온값\n⑤    \"12\" : 당일 12시 측정된 기온값\n⑥    \"15\" : 당일 15시 측정된 기온값\n⑦    \"18\" : 당일 18시 측정된 기온값\n⑧    \"21\" : 당일 21시 측정된 기온값", "get_today_city_temperature_exampleCode": "def when_start():\n Entry.print(Weather.get_today_city_temperature(\"Seoul\", 00))", "get_today_city_temperature_exampleDesc": "[시작하기]버튼을 클릭하면 오브젝트가 오늘 서울의 00시 기온을 말합니다.​" }, diff --git a/yarn.lock b/yarn.lock index 06e5226c7..96d7ee87c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3393,9 +3393,9 @@ enquirer@^2.3.5: dependencies: crypto-js "^4.0.0" -"entry-hw@git+https://github.com/entrylabs/entry-hw.git#dist/v1.9.40": - version "1.9.40" - resolved "git+https://github.com/entrylabs/entry-hw.git#86d6526357e94610a1898c79158775d9e8145ac4" +"entry-hw@git+https://github.com/entrylabs/entry-hw.git#dist/v1.9.41": + version "1.9.41" + resolved "git+https://github.com/entrylabs/entry-hw.git#16f0be4ca1e0f8404e83e6645d2b7bb84d4f63a1" dependencies: cross-spawn "^7.0.0" fs-extra "^8.1.0" @@ -3410,9 +3410,9 @@ enquirer@^2.3.5: winston "^3.2.1" winston-daily-rotate-file "^4.4.2" -"entry-js@git+https://github.com/entrylabs/entryjs.git#dist/offline_v2.1.3": +"entry-js@git+https://github.com/entrylabs/entryjs.git#dist/offline_v2.1.4": version "0.0.0" - resolved "git+https://github.com/entrylabs/entryjs.git#f70baff8c0f4b735050eccb20a122a0b44a2eab7" + resolved "git+https://github.com/entrylabs/entryjs.git#8bf5231a0a7b0b937e0311d1ecd70cdb8916502c" "entry-tool@git+https://github.com/entrylabs/entry-tool.git#dist/20221024": version "0.0.0"