diff --git a/dashboard/config/locales/dsls.en.yml b/dashboard/config/locales/dsls.en.yml index 2abe8e34e9a32..8d50c216a56a7 100644 --- a/dashboard/config/locales/dsls.en.yml +++ b/dashboard/config/locales/dsls.en.yml @@ -7097,7 +7097,10 @@ en: : Incorrect. The `repeat` loops allow Laurel to get all 7 pieces of treasure at the top, and all 6 down the side, but not all 7 along the bottom. Laurel collect all of the treasure.: Laurel collect all of the treasure. Laurel will collect all of the treasure along the top and side, but not along the bottom.: Laurel will collect all of the treasure along the top and side, but not along the bottom. + Laurel will get all of the treasure along the top and side, but not along the bottom.: Laurel will get all of the treasure along the top and side, but not along the bottom. + Laurel will get all of the treasure.: Laurel will get all of the treasure. Laurel will not collect any treasure at all.: Laurel will not collect any treasure at all. + Laurel will not get any treasure at all.: Laurel will not get any treasure at all. ? The `repeat` loops allow Laurel to get all 7 pieces of treasure at the top, and all 6 down the side, but not all 7 along the bottom. : The `repeat` loops allow Laurel to get all 7 pieces of treasure at the top, and all 6 down the side, but not all 7 along the bottom. The code below uses loops. What will happen when you click "Run"?: The code below uses loops. What will happen when you click "Run"? @@ -7107,6 +7110,8 @@ en: Incorrect. The program uses a `repeat` loop to get Laurel to move forward five times.: Incorrect. The program uses a `repeat` loop to get Laurel to move forward five times. Laurel will move forward and collect treasure five times in a row.: Laurel will move forward and collect treasure five times in a row. Laurel will move forward and collect treasure one time.: Laurel will move forward and collect treasure one time. + Laurel will move forward and get treasure five times in a row.: Laurel will move forward and get treasure five times in a row. + Laurel will move forward and get treasure one time.: Laurel will move forward and get treasure one time. Laurel won't move at all.: Laurel won't move at all. Look at the code below. What do you think will happen when you click "Run"?: Look at the code below. What do you think will happen when you click "Run"? The program uses a `repeat` loop to get Laurel to move forward five times.: The program uses a `repeat` loop to get Laurel to move forward five times. @@ -7140,9 +7145,12 @@ en: Correct!: Correct! I don't know.: I don't know. Incorrect. The `repeat` loop only instructs Laurel to move forward and collect treasure three times.: Incorrect. The `repeat` loop only instructs Laurel to move forward and collect treasure three times. + Incorrect. The `repeat` loop only instructs Laurel to move forward and get treasure three times.: Incorrect. The `repeat` loop only instructs Laurel to move forward and get treasure three times. Incorrect. The program uses a `repeat` loop to get Laurel to move forward three times.: Incorrect. The program uses a `repeat` loop to get Laurel to move forward three times. Laurel will move forward and collect all of the treasure.: Laurel will move forward and collect all of the treasure. Laurel will move forward and collect treasure three times in a row.: Laurel will move forward and collect treasure three times in a row. + Laurel will move forward and get all of the treasure.: Laurel will move forward and get all of the treasure. + Laurel will move forward and get treasure three times in a row.: Laurel will move forward and get treasure three times in a row. Laurel won't move at all.: Laurel won't move at all. Look at the code below. What do you think will happen when you click "Run"?: Look at the code below. What do you think will happen when you click "Run"? The program uses a `repeat` loop to get Laurel to move forward three times.: The program uses a `repeat` loop to get Laurel to move forward three times. @@ -7379,6 +7387,10 @@ en: The farmer will harvest the corn.: The farmer will harvest the corn. The farmer will harvest the lettuce.: The farmer will harvest the lettuce. The farmer will harvest two pumpkins.: The farmer will harvest two pumpkins. + courseE_multi_farmer_ramp12: + " ": " " + right answer: right answer + wrong answer: wrong answer courseE_prediction_artistFunction1: Correct! The function is called two times in the program, with a jump in between.: Correct! The function is called two times in the program, with a jump in between. Incorrect. The function is actually called two times in the program.: Incorrect. The function is actually called two times in the program. diff --git a/dashboard/config/locales/scripts.en.yml b/dashboard/config/locales/scripts.en.yml index 5fa0568c96784..df25a0c191054 100644 --- a/dashboard/config/locales/scripts.en.yml +++ b/dashboard/config/locales/scripts.en.yml @@ -2698,6 +2698,7 @@ en: Analog Input: Analog Input Polling Events: Polling Events Sensor Applications: Sensor Applications + 'Project: Prototype an Innovation': 'Project: Prototype an Innovation' title: Draft Unit 6 description_audience: '' description_short: '' @@ -2718,6 +2719,7 @@ en: Interpreting Data: Interpreting Data Data in the Real World: Data in the Real World Combining Representations: Combining Representations + Representing Images: Representing Images title: '' description_audience: '' description_short: '' diff --git a/dashboard/config/scripts/applab-1hour.script b/dashboard/config/scripts/applab-1hour.script index 2a7ca0f8f8df3..d103e49d35e8c 100644 --- a/dashboard/config/scripts/applab-1hour.script +++ b/dashboard/config/scripts/applab-1hour.script @@ -2,6 +2,8 @@ login_required true stage 'Room Escape' named_level 'Escape Room Example' +named_level 'Overview: Design Mode' +named_level 'Optional Video: Design Mode' named_level 'Overview: Images' level 'Room Escape Workshop - 1' level 'Room Escape Workshop - 3' @@ -12,12 +14,11 @@ level 'Room Escape Workshop - 4' named_level 'Overview: If Statements' named_level 'Video: if Statement' level 'Room Escape Workshop - 5' -named_level 'Overview: Design Mode' -named_level 'Optional Video: Design Mode' level 'Room Escape Workshop - 7' level 'Room Escape Workshop - 8' level 'Room Escape Workshop - 9' level 'Room Escape Workshop - 9-2' level 'Room Escape Workshop - 11' level 'Room Escape Workshop - 10' +level 'Room Escape Workshop - 10 - 2' named_level 'Final Room Escape App' diff --git a/dashboard/config/scripts/coursea_multi_collector_loops11_predict2.multi b/dashboard/config/scripts/coursea_multi_collector_loops11_predict2.multi index f5bdf93546a67..749660a53330e 100644 --- a/dashboard/config/scripts/coursea_multi_collector_loops11_predict2.multi +++ b/dashboard/config/scripts/coursea_multi_collector_loops11_predict2.multi @@ -1,6 +1,6 @@ name 'courseA_multi_collector_loops11_predict2' question 'The code below uses loops. What will happen when you click "Run"?' -right 'Laurel will collect all of the treasure along the top and side, but not along the bottom.', feedback: 'Correct.' -wrong 'Laurel will not collect any treasure at all.', feedback: 'Incorrect. The `repeat` loops allow Laurel to get all 7 pieces of treasure at the top, and all 6 down the side, but not all 7 along the bottom.' -wrong 'Laurel collect all of the treasure.', feedback: 'Incorrect. The `repeat` loops allow Laurel to get all 7 pieces of treasure at the top, and all 6 down the side, but not all 7 along the bottom.' +right 'Laurel will get all of the treasure along the top and side, but not along the bottom.', feedback: 'Correct.' +wrong 'Laurel will not get any treasure at all.', feedback: 'Incorrect. The `repeat` loops allow Laurel to get all 7 pieces of treasure at the top, and all 6 down the side, but not all 7 along the bottom.' +wrong 'Laurel will get all of the treasure.', feedback: 'Incorrect. The `repeat` loops allow Laurel to get all 7 pieces of treasure at the top, and all 6 down the side, but not all 7 along the bottom.' wrong 'I don\'t know.', feedback: 'The `repeat` loops allow Laurel to get all 7 pieces of treasure at the top, and all 6 down the side, but not all 7 along the bottom.' \ No newline at end of file diff --git a/dashboard/config/scripts/coursea_multi_collector_loops3_predict1.multi b/dashboard/config/scripts/coursea_multi_collector_loops3_predict1.multi index b151f164db1f7..aee40d561aed0 100644 --- a/dashboard/config/scripts/coursea_multi_collector_loops3_predict1.multi +++ b/dashboard/config/scripts/coursea_multi_collector_loops3_predict1.multi @@ -1,6 +1,6 @@ name 'courseA_multi_collector_loops3_predict1' question 'Look at the code below. What do you think will happen when you click "Run"?' wrong 'Laurel won\'t move at all.', feedback: 'Incorrect. The program uses a `repeat` loop to get Laurel to move forward five times.' -right 'Laurel will move forward and collect treasure five times in a row.', feedback: 'Correct!' -wrong 'Laurel will move forward and collect treasure one time.', feedback: 'Incorrect. The program uses a `repeat` loop to get Laurel to move forward five times.' +right 'Laurel will move forward and get treasure five times in a row.', feedback: 'Correct!' +wrong 'Laurel will move forward and get treasure one time.', feedback: 'Incorrect. The program uses a `repeat` loop to get Laurel to move forward five times.' wrong 'I don\'t know.', feedback: 'The program uses a `repeat` loop to get Laurel to move forward five times.' diff --git a/dashboard/config/scripts/courseb_multi_collector_loops3_predict1.multi b/dashboard/config/scripts/courseb_multi_collector_loops3_predict1.multi index 1793d8173052d..fd7c62631ea6a 100644 --- a/dashboard/config/scripts/courseb_multi_collector_loops3_predict1.multi +++ b/dashboard/config/scripts/courseb_multi_collector_loops3_predict1.multi @@ -1,6 +1,6 @@ name 'courseB_multi_collector_loops3_predict1' question 'Look at the code below. What do you think will happen when you click "Run"?' wrong 'Laurel won\'t move at all.', feedback: 'Incorrect. The program uses a `repeat` loop to get Laurel to move forward three times.' -right 'Laurel will move forward and collect treasure three times in a row.', feedback: 'Correct!' -wrong 'Laurel will move forward and collect all of the treasure.', feedback: 'Incorrect. The `repeat` loop only instructs Laurel to move forward and collect treasure three times.' +right 'Laurel will move forward and get treasure three times in a row.', feedback: 'Correct!' +wrong 'Laurel will move forward and get all of the treasure.', feedback: 'Incorrect. The `repeat` loop only instructs Laurel to move forward and get treasure three times.' wrong 'I don\'t know.', feedback: 'The program uses a `repeat` loop to get Laurel to move forward three times.' diff --git a/dashboard/config/scripts/coursed-ramp.script b/dashboard/config/scripts/coursed-ramp.script index 4746505511082..f5c39a3ebd898 100644 --- a/dashboard/config/scripts/coursed-ramp.script +++ b/dashboard/config/scripts/coursed-ramp.script @@ -7,6 +7,7 @@ level 'courseD_maze_ramp2' level 'courseD_maze_ramp3' level 'courseD_maze_ramp4' level 'courseD_maze_ramp5' +level 'courseA_video_Loops' level 'courseD_maze_ramp6' level 'courseD_maze_ramp7' level 'courseD_collector_ramp8' diff --git a/dashboard/config/scripts/coursee-ramp.script b/dashboard/config/scripts/coursee-ramp.script index d176711994fe3..5ce4943189a28 100644 --- a/dashboard/config/scripts/coursee-ramp.script +++ b/dashboard/config/scripts/coursee-ramp.script @@ -7,10 +7,7 @@ level 'courseE_maze_ramp4' level 'courseE_maze_ramp5' level 'courseE_maze_ramp6' level 'courseE_maze_ramp7' -level 'courseE_collector_ramp8' -level 'courseE_collector_ramp9' -level 'courseE_collector_ramp10' -level 'courseE_artist_ramp11' -level 'courseE_artist_ramp12' -level 'courseE_farmer_ramp13' +level 'courseE_artist_ramp8' +level 'courseE_artist_ramp10' +level 'courseE_farmer_ramp11' assessment 'courseE_farmer_ramp14' diff --git a/dashboard/config/scripts/coursee_multi_farmer_ramp12.multi b/dashboard/config/scripts/coursee_multi_farmer_ramp12.multi new file mode 100644 index 0000000000000..7d3d3e4aef0b5 --- /dev/null +++ b/dashboard/config/scripts/coursee_multi_farmer_ramp12.multi @@ -0,0 +1,12 @@ +name 'courseE_multi_farmer_ramp12' +question ' ' +wrong 'wrong answer' +right 'right answer' + +markdown < +
+
0
@@ -14,6 +15,7 @@ markdown <
+
1
@@ -23,6 +25,7 @@ markdown <
+
2
@@ -32,6 +35,7 @@ markdown <
+
3
@@ -48,4 +52,7 @@ markdown < +
MARKDOWN diff --git a/dashboard/config/scripts/levels/CSD U5 black white images pixelation 2.level b/dashboard/config/scripts/levels/CSD U5 black white images pixelation 2.level new file mode 100644 index 0000000000000..52cf2c07e78f3 --- /dev/null +++ b/dashboard/config/scripts/levels/CSD U5 black white images pixelation 2.level @@ -0,0 +1,22 @@ + + + diff --git a/dashboard/config/scripts/levels/CSD U5 black white images pixelation 3.level b/dashboard/config/scripts/levels/CSD U5 black white images pixelation 3.level new file mode 100644 index 0000000000000..e26e8da85aa78 --- /dev/null +++ b/dashboard/config/scripts/levels/CSD U5 black white images pixelation 3.level @@ -0,0 +1,22 @@ + + + diff --git a/dashboard/config/scripts/levels/CSD U5 black white images pixelation 4.level b/dashboard/config/scripts/levels/CSD U5 black white images pixelation 4.level new file mode 100644 index 0000000000000..b967b5f279d97 --- /dev/null +++ b/dashboard/config/scripts/levels/CSD U5 black white images pixelation 4.level @@ -0,0 +1,22 @@ + + + diff --git a/dashboard/config/scripts/levels/CSD U5 black white images pixelation.level b/dashboard/config/scripts/levels/CSD U5 black white images pixelation.level index 4c8ef0f960105..bc7ca41ed76b1 100644 --- a/dashboard/config/scripts/levels/CSD U5 black white images pixelation.level +++ b/dashboard/config/scripts/levels/CSD U5 black white images pixelation.level @@ -5,14 +5,15 @@ "level_num": "custom", "user_id": 106, "properties": { - "markdown_instructions": "# Do This\r\n\r\nUse the pixelation widget to draw something a smiley face", + "markdown_instructions": "# Do This\r\n\r\nComplete the \"X\" shape by typing 0s and 1s", "instructions_important": "false", "display_name": "Black and White Pixelation Widget", "version": "1", "hex": "false", "skip_dialog": true, "href": "pixelation/pixelation.html", - "data": "1100" + "data": "01110101011101110101", + "instructions": "Complete the X shape by typing 0s and 1s" }, "published": true, "notes": "", diff --git a/dashboard/config/scripts/levels/CSDU2 - Inspector Warm Up.level b/dashboard/config/scripts/levels/CSDU2 - Inspector Warm Up.level index e0960a3974aff..40ab2906dfe0c 100644 --- a/dashboard/config/scripts/levels/CSDU2 - Inspector Warm Up.level +++ b/dashboard/config/scripts/levels/CSDU2 - Inspector Warm Up.level @@ -9,9 +9,6 @@ "start_sources": "{\r\n \"files\": [\r\n {\r\n \"name\": \"index.html\",\r\n \"data\": \" \\n \\n \\n Learn to Program\\n \\n\\n\\n \\n \\n\\n

Learning HTML!

\\n

Don't forget the Problem Solving Process!

\\n
    \\n
  • Define
  • \\n
  • Prepare
  • \\n
  • Try
  • \\n
  • Reflect
  • \\n
\\n
\\n\\n
\\n

Try something out and see what happens!

\\n

Hmmm what does this do?

\\n \\\"baby\\n
\\n\\n
\\n

Peers can be helpful.

\\n \\\"Group\\n
\\n\\n
\\n

What if I click this?

\\n \\\"Boy\\n
\\n\\n
\\n

This is kinda fun!

\\n \\\"Girl\\n
\\n\\n
\\n

It may be challenging at times but try your best

\\n \\\"Confused\\n
\\n\\n
\\n

Because when you figure it out it feels like this.

\\n \\\"Happy\\n
\\n
\\n\\n

\\n Some images found using Google search's \\\"Labeled for noncommercial reuse with modication\\\" feature .\\n

\\n \\n \\n\"\r\n },\r\n {\r\n \"name\": \"style.css\",\r\n \"data\": \"body {\\n background-color: #efefef;\\n font-family: \\\"Comic Sans MS\\\", sans-serif;\\n line-height: 1.2;\\n text-align: center;\\n padding: 40px 0 0 20px;\\n }\\n h1 {\\n text-transform: uppercase;\\n font-size: 40px;\\n color: #d02626;\\n }\\n h2{\\n text-align: left;\\n }\\n ul{\\n text-align: left;\\n }\\n .comic {\\n max-width: 826px;\\n margin: 60px auto 0;\\n }\\n .scene {\\n width: 250px;\\n height: 250px;\\n border: 3px solid black;\\n background: white;\\n margin: 8px;\\n display: inline-block;\\n position: relative;\\n }\\n .scene img {\\n width: 100%;\\n height: 100%;\\n display: block;\\n }\\n .caption {\\n padding: 10px;\\n margin: 0;\\n position: absolute;\\n left: 0;\\n right: 0;\\n background: #e2e971;\\n text-align: left;\\n top: 0;\\n }\\n .caption.bottom {\\n bottom: 0;\\n top:auto;\\n border-top: 2px solid black;\\n }\\n .caption.top {\\n top: 0;\\n border-bottom: 2px solid black;\\n }\\n .speech {\\n width: 40%;\\n border-radius:50%;\\n border: 2px solid black;\\n margin: 0;\\n position: absolute;\\n z-index: 1;\\n background: snow ;\\n padding: 20px;\\n top: -15px;\\n text-align: center;\\n }\\n .speech.left {\\n left:-15px;\\n }\\n .speech.right {\\n right:-15px;\\n }\\n .footer {\\n clear: both;\\n }\"\r\n }\r\n ]\r\n}", "instructions_important": "false", "teacher_markdown": "## HTML Discussion\r\n\r\nOnce students have had time to play with this level and make some discoveries on their own bring students back together.\r\n\r\n \r\n HTML elements student may find in this page:\r\n \r\n * \r\n * \r\n * \r\n * \r\n * <link/>\r\n * <body/>\r\n * <h1/>\r\n * <h2/>\r\n * <h4/>\r\n * <ul/>\r\n * <li/>\r\n * <div/>\r\n * <p/>\r\n * <img/>\r\n \r\n In addition to listing out different elements and tags, students should note there is a way to denote set up of content in `<>` and where that ends `</>`\r\n \r\n Students may notice the CSS style components in this website. Keep students focused on the index.html file as that is where the HTML code is. If they ask about something not on the above list, model lead learner by saying that the class will have to look into that later.\r\n\r\n\r\n**Discuss:** Ask students to start listing some of the rules/symbols that describe HTML. \r\n\r\n**Say:**\r\n\r\n HTML has lots of tags! We will slowly build up our knowledge of all of those tags. Today we will start with just a couple of tags for headers and lists.", - "encrypted_examples": [ - - ], "hide_share_and_remix": "false" }, "published": true, diff --git a/dashboard/config/scripts/levels/CSDU6 - button on off.level b/dashboard/config/scripts/levels/CSDU6 - button on off.level index fd7e765a162e1..8ff4838974230 100644 --- a/dashboard/config/scripts/levels/CSDU6 - button on off.level +++ b/dashboard/config/scripts/levels/CSDU6 - button on off.level @@ -78,7 +78,7 @@ }, "edit_code": true, "embed": "false", - "markdown_instructions": "# On and Off Buttons\r\n\r\n<[pic needed]>\r\n\r\nRight a program that works like the image to the right. The left button should turn on all of the color LEDs, and the right button should turn them off again.", + "markdown_instructions": "# On and Off Buttons\r\n\r\n<[pic needed]>\r\n\r\nWrite a program that works like the image to the right. The left button should turn on all of the color LEDs, and the right button should turn them off again.", "instructions_important": "false", "is_k1": "false", "skip_instructions_popup": "false", @@ -114,7 +114,10 @@ "debugger_disabled": "false", "makerlab_enabled": "true", "expand_debugger": "false", - "contained_level_names": null + "contained_level_names": null, + "encrypted_examples": [ + + ] }, "published": true, "notes": "", diff --git a/dashboard/config/scripts/levels/CSDU6 - final project 1.level b/dashboard/config/scripts/levels/CSDU6 - final project 1.level new file mode 100644 index 0000000000000..7ac68cc538bd0 --- /dev/null +++ b/dashboard/config/scripts/levels/CSDU6 - final project 1.level @@ -0,0 +1,120 @@ +<Applab> + <config><![CDATA[{ + "game_id": 41, + "created_at": "2017-03-24T03:44:36.000Z", + "level_num": "custom", + "user_id": 1, + "properties": { + "skin": "applab", + "code_functions": { + "onEvent": null, + "getText": null, + "setText": null, + "getNumber": null, + "setNumber": null, + "showElement": null, + "hideElement": null, + "setProperty": null, + "getProperty": null, + "setScreen": null, + "rgb": null, + "ifBlock": null, + "ifElseBlock": null, + "addOperator": null, + "subtractOperator": null, + "multiplyOperator": null, + "divideOperator": null, + "equalityOperator": null, + "inequalityOperator": null, + "greaterThanOperator": null, + "greaterThanOrEqualOperator": null, + "lessThanOperator": null, + "lessThanOrEqualOperator": null, + "andOperator": null, + "orOperator": null, + "notOperator": null, + "randomNumber_min_max": null, + "declareAssign_x": null, + "declareNoAssign_x": null, + "assign_x": null, + "console.log": null, + "declareAssign_list_abd": null, + "listLength": null, + "functionParams_none": null, + "callMyFunction": null, + "comment": null, + "on": null, + "off": null, + "toggle": null, + "intensity": null, + "blink": null, + "color": null, + "stop": null, + "led.on": null, + "led.off": null, + "led.toggle": null, + "led.intensity": null, + "led.blink": null, + "led.stop": null, + "buzzer.note": null, + "buzzer.off": null, + "buzzer.frequency": null, + "buzzer.play": null, + "timedLoop": null, + "stopTimedLoop": null, + "forLoop_i_0_4": null, + "onBoardEvent": null, + "toggleSwitch.isOpen": null, + "isPressed": null, + "value": null, + "tempSensor.C": null, + "tempSensor.F": null + }, + "edit_code": true, + "embed": "false", + "instructions_important": "false", + "is_k1": "false", + "skip_instructions_popup": "false", + "never_autoplay_video": "false", + "disable_param_editing": "true", + "disable_variable_editing": "false", + "use_modal_function_editor": "false", + "use_contract_editor": "false", + "contract_highlight": "false", + "contract_collapse": "false", + "examples_highlight": "false", + "examples_collapse": "false", + "examples_required": "false", + "definition_highlight": "false", + "definition_collapse": "false", + "disable_examples": "false", + "hide_share_and_remix": "false", + "droplet_tooltips_disabled": "false", + "lock_zero_param_functions": "false", + "disable_if_else_editing": "false", + "free_play": "true", + "show_turtle_before_run": "false", + "autocomplete_palette_apis_only": "false", + "execute_palette_apis_only": "false", + "text_mode_at_start": "false", + "design_mode_at_start": "true", + "hide_design_mode": "false", + "beginner_mode": "false", + "submittable": "false", + "hide_view_data_button": "true", + "show_debug_watch": "true", + "expand_debugger": "false", + "fail_on_lint_errors": "false", + "debugger_disabled": "false", + "makerlab_enabled": "true", + "project_template_level_name": "CSDU6 - final project template", + "markdown_instructions": "# Designing the User Interface\r\n\r\nBefore worrying about the code for your program, start by laying out the user interface. As you add elements in Design Mode, make sure to give everything a meaningful ID. Even if you don't plan on accessing an element with code, making sure that all of your IDs are descriptive will help make your program more readable and easier to program.", + "contained_level_names": null + }, + "published": true, + "notes": "", + "level_concept_difficulty": { + } +}]]></config> + <blocks/> +</Applab> \ No newline at end of file diff --git a/dashboard/config/scripts/levels/CSDU6 - final project 2.level b/dashboard/config/scripts/levels/CSDU6 - final project 2.level new file mode 100644 index 0000000000000..3453871ce3da4 --- /dev/null +++ b/dashboard/config/scripts/levels/CSDU6 - final project 2.level @@ -0,0 +1,120 @@ +<Applab> + <config><![CDATA[{ + "game_id": 41, + "created_at": "2017-03-24T03:50:15.000Z", + "level_num": "custom", + "user_id": 1, + "properties": { + "skin": "applab", + "code_functions": { + "onEvent": null, + "getText": null, + "setText": null, + "getNumber": null, + "setNumber": null, + "showElement": null, + "hideElement": null, + "setProperty": null, + "getProperty": null, + "setScreen": null, + "rgb": null, + "ifBlock": null, + "ifElseBlock": null, + "addOperator": null, + "subtractOperator": null, + "multiplyOperator": null, + "divideOperator": null, + "equalityOperator": null, + "inequalityOperator": null, + "greaterThanOperator": null, + "greaterThanOrEqualOperator": null, + "lessThanOperator": null, + "lessThanOrEqualOperator": null, + "andOperator": null, + "orOperator": null, + "notOperator": null, + "randomNumber_min_max": null, + "declareAssign_x": null, + "declareNoAssign_x": null, + "assign_x": null, + "console.log": null, + "declareAssign_list_abd": null, + "listLength": null, + "functionParams_none": null, + "callMyFunction": null, + "comment": null, + "on": null, + "off": null, + "toggle": null, + "intensity": null, + "blink": null, + "color": null, + "stop": null, + "led.on": null, + "led.off": null, + "led.toggle": null, + "led.intensity": null, + "led.blink": null, + "led.stop": null, + "buzzer.note": null, + "buzzer.off": null, + "buzzer.frequency": null, + "buzzer.play": null, + "timedLoop": null, + "stopTimedLoop": null, + "forLoop_i_0_4": null, + "onBoardEvent": null, + "toggleSwitch.isOpen": null, + "isPressed": null, + "value": null, + "tempSensor.C": null, + "tempSensor.F": null + }, + "edit_code": true, + "embed": "false", + "instructions_important": "false", + "is_k1": "false", + "skip_instructions_popup": "false", + "never_autoplay_video": "false", + "disable_param_editing": "true", + "disable_variable_editing": "false", + "use_modal_function_editor": "false", + "use_contract_editor": "false", + "contract_highlight": "false", + "contract_collapse": "false", + "examples_highlight": "false", + "examples_collapse": "false", + "examples_required": "false", + "definition_highlight": "false", + "definition_collapse": "false", + "disable_examples": "false", + "hide_share_and_remix": "false", + "droplet_tooltips_disabled": "false", + "lock_zero_param_functions": "false", + "disable_if_else_editing": "false", + "free_play": "true", + "show_turtle_before_run": "false", + "autocomplete_palette_apis_only": "false", + "execute_palette_apis_only": "false", + "text_mode_at_start": "false", + "design_mode_at_start": "false", + "hide_design_mode": "false", + "beginner_mode": "false", + "submittable": "false", + "hide_view_data_button": "true", + "show_debug_watch": "true", + "expand_debugger": "false", + "fail_on_lint_errors": "false", + "debugger_disabled": "false", + "makerlab_enabled": "true", + "project_template_level_name": "CSDU6 - final project template", + "markdown_instructions": "# Wiring Up the UI\r\n\r\nWith your user interface in place, you can now add event handlers for your interface elements. At this point you may want to just include `console.log()` commands to make sure that your events are working as expected - you can add the functional code later one.", + "contained_level_names": null + }, + "published": true, + "notes": "", + "level_concept_difficulty": { + } +}]]></config> + <blocks/> +</Applab> \ No newline at end of file diff --git a/dashboard/config/scripts/levels/CSDU6 - final project 3.level b/dashboard/config/scripts/levels/CSDU6 - final project 3.level new file mode 100644 index 0000000000000..50ab059366fc4 --- /dev/null +++ b/dashboard/config/scripts/levels/CSDU6 - final project 3.level @@ -0,0 +1,120 @@ +<Applab> + <config><![CDATA[{ + "game_id": 41, + "created_at": "2017-03-24T03:55:57.000Z", + "level_num": "custom", + "user_id": 1, + "properties": { + "skin": "applab", + "code_functions": { + "onEvent": null, + "getText": null, + "setText": null, + "getNumber": null, + "setNumber": null, + "showElement": null, + "hideElement": null, + "setProperty": null, + "getProperty": null, + "setScreen": null, + "rgb": null, + "ifBlock": null, + "ifElseBlock": null, + "addOperator": null, + "subtractOperator": null, + "multiplyOperator": null, + "divideOperator": null, + "equalityOperator": null, + "inequalityOperator": null, + "greaterThanOperator": null, + "greaterThanOrEqualOperator": null, + "lessThanOperator": null, + "lessThanOrEqualOperator": null, + "andOperator": null, + "orOperator": null, + "notOperator": null, + "randomNumber_min_max": null, + "declareAssign_x": null, + "declareNoAssign_x": null, + "assign_x": null, + "console.log": null, + "declareAssign_list_abd": null, + "listLength": null, + "functionParams_none": null, + "callMyFunction": null, + "comment": null, + "on": null, + "off": null, + "toggle": null, + "intensity": null, + "blink": null, + "color": null, + "stop": null, + "led.on": null, + "led.off": null, + "led.toggle": null, + "led.intensity": null, + "led.blink": null, + "led.stop": null, + "buzzer.note": null, + "buzzer.off": null, + "buzzer.frequency": null, + "buzzer.play": null, + "timedLoop": null, + "stopTimedLoop": null, + "forLoop_i_0_4": null, + "onBoardEvent": null, + "toggleSwitch.isOpen": null, + "isPressed": null, + "value": null, + "tempSensor.C": null, + "tempSensor.F": null + }, + "edit_code": true, + "embed": "false", + "instructions_important": "false", + "is_k1": "false", + "skip_instructions_popup": "false", + "never_autoplay_video": "false", + "disable_param_editing": "true", + "disable_variable_editing": "false", + "use_modal_function_editor": "false", + "use_contract_editor": "false", + "contract_highlight": "false", + "contract_collapse": "false", + "examples_highlight": "false", + "examples_collapse": "false", + "examples_required": "false", + "definition_highlight": "false", + "definition_collapse": "false", + "disable_examples": "false", + "hide_share_and_remix": "false", + "droplet_tooltips_disabled": "false", + "lock_zero_param_functions": "false", + "disable_if_else_editing": "false", + "free_play": "true", + "show_turtle_before_run": "false", + "autocomplete_palette_apis_only": "false", + "execute_palette_apis_only": "false", + "text_mode_at_start": "false", + "design_mode_at_start": "false", + "hide_design_mode": "false", + "beginner_mode": "false", + "submittable": "false", + "hide_view_data_button": "true", + "show_debug_watch": "true", + "expand_debugger": "false", + "fail_on_lint_errors": "false", + "debugger_disabled": "false", + "makerlab_enabled": "true", + "project_template_level_name": "CSDU6 - final project template", + "markdown_instructions": "# Board Input Events\r\n\r\nNow you can add the events which will take input from the board. Again, feel free to just use `console.log()` statements at this point to ensure that your events are working.", + "contained_level_names": null + }, + "published": true, + "notes": "", + "level_concept_difficulty": { + } +}]]></config> + <blocks/> +</Applab> \ No newline at end of file diff --git a/dashboard/config/scripts/levels/CSDU6 - final project 4.level b/dashboard/config/scripts/levels/CSDU6 - final project 4.level new file mode 100644 index 0000000000000..b5b6f7823d1ab --- /dev/null +++ b/dashboard/config/scripts/levels/CSDU6 - final project 4.level @@ -0,0 +1,120 @@ +<Applab> + <config><![CDATA[{ + "game_id": 41, + "created_at": "2017-03-24T03:59:23.000Z", + "level_num": "custom", + "user_id": 1, + "properties": { + "skin": "applab", + "code_functions": { + "onEvent": null, + "getText": null, + "setText": null, + "getNumber": null, + "setNumber": null, + "showElement": null, + "hideElement": null, + "setProperty": null, + "getProperty": null, + "setScreen": null, + "rgb": null, + "ifBlock": null, + "ifElseBlock": null, + "addOperator": null, + "subtractOperator": null, + "multiplyOperator": null, + "divideOperator": null, + "equalityOperator": null, + "inequalityOperator": null, + "greaterThanOperator": null, + "greaterThanOrEqualOperator": null, + "lessThanOperator": null, + "lessThanOrEqualOperator": null, + "andOperator": null, + "orOperator": null, + "notOperator": null, + "randomNumber_min_max": null, + "declareAssign_x": null, + "declareNoAssign_x": null, + "assign_x": null, + "console.log": null, + "declareAssign_list_abd": null, + "listLength": null, + "functionParams_none": null, + "callMyFunction": null, + "comment": null, + "on": null, + "off": null, + "toggle": null, + "intensity": null, + "blink": null, + "color": null, + "stop": null, + "led.on": null, + "led.off": null, + "led.toggle": null, + "led.intensity": null, + "led.blink": null, + "led.stop": null, + "buzzer.note": null, + "buzzer.off": null, + "buzzer.frequency": null, + "buzzer.play": null, + "timedLoop": null, + "stopTimedLoop": null, + "forLoop_i_0_4": null, + "onBoardEvent": null, + "toggleSwitch.isOpen": null, + "isPressed": null, + "value": null, + "tempSensor.C": null, + "tempSensor.F": null + }, + "edit_code": true, + "embed": "false", + "instructions_important": "false", + "is_k1": "false", + "skip_instructions_popup": "false", + "never_autoplay_video": "false", + "disable_param_editing": "true", + "disable_variable_editing": "false", + "use_modal_function_editor": "false", + "use_contract_editor": "false", + "contract_highlight": "false", + "contract_collapse": "false", + "examples_highlight": "false", + "examples_collapse": "false", + "examples_required": "false", + "definition_highlight": "false", + "definition_collapse": "false", + "disable_examples": "false", + "hide_share_and_remix": "false", + "droplet_tooltips_disabled": "false", + "lock_zero_param_functions": "false", + "disable_if_else_editing": "false", + "free_play": "true", + "show_turtle_before_run": "false", + "autocomplete_palette_apis_only": "false", + "execute_palette_apis_only": "false", + "text_mode_at_start": "false", + "design_mode_at_start": "false", + "hide_design_mode": "false", + "beginner_mode": "false", + "submittable": "false", + "hide_view_data_button": "true", + "show_debug_watch": "true", + "expand_debugger": "false", + "fail_on_lint_errors": "false", + "debugger_disabled": "false", + "makerlab_enabled": "true", + "project_template_level_name": "CSDU6 - final project template", + "markdown_instructions": "# Functions\r\n\r\nCreate functions for each piece of functionality in your program and call them from the event handlers that you created earlier.", + "contained_level_names": null + }, + "published": true, + "notes": "", + "level_concept_difficulty": { + } +}]]></config> + <blocks/> +</Applab> \ No newline at end of file diff --git a/dashboard/config/scripts/levels/CSDU6 - final project 5.level b/dashboard/config/scripts/levels/CSDU6 - final project 5.level new file mode 100644 index 0000000000000..58426a5d8405e --- /dev/null +++ b/dashboard/config/scripts/levels/CSDU6 - final project 5.level @@ -0,0 +1,120 @@ +<Applab> + <config><![CDATA[{ + "game_id": 41, + "created_at": "2017-03-24T04:03:40.000Z", + "level_num": "custom", + "user_id": 1, + "properties": { + "skin": "applab", + "code_functions": { + "onEvent": null, + "getText": null, + "setText": null, + "getNumber": null, + "setNumber": null, + "showElement": null, + "hideElement": null, + "setProperty": null, + "getProperty": null, + "setScreen": null, + "rgb": null, + "ifBlock": null, + "ifElseBlock": null, + "addOperator": null, + "subtractOperator": null, + "multiplyOperator": null, + "divideOperator": null, + "equalityOperator": null, + "inequalityOperator": null, + "greaterThanOperator": null, + "greaterThanOrEqualOperator": null, + "lessThanOperator": null, + "lessThanOrEqualOperator": null, + "andOperator": null, + "orOperator": null, + "notOperator": null, + "randomNumber_min_max": null, + "declareAssign_x": null, + "declareNoAssign_x": null, + "assign_x": null, + "console.log": null, + "declareAssign_list_abd": null, + "listLength": null, + "functionParams_none": null, + "callMyFunction": null, + "comment": null, + "on": null, + "off": null, + "toggle": null, + "intensity": null, + "blink": null, + "color": null, + "stop": null, + "led.on": null, + "led.off": null, + "led.toggle": null, + "led.intensity": null, + "led.blink": null, + "led.stop": null, + "buzzer.note": null, + "buzzer.off": null, + "buzzer.frequency": null, + "buzzer.play": null, + "timedLoop": null, + "stopTimedLoop": null, + "forLoop_i_0_4": null, + "onBoardEvent": null, + "toggleSwitch.isOpen": null, + "isPressed": null, + "value": null, + "tempSensor.C": null, + "tempSensor.F": null + }, + "edit_code": true, + "embed": "false", + "instructions_important": "false", + "is_k1": "false", + "skip_instructions_popup": "false", + "never_autoplay_video": "false", + "disable_param_editing": "true", + "disable_variable_editing": "false", + "use_modal_function_editor": "false", + "use_contract_editor": "false", + "contract_highlight": "false", + "contract_collapse": "false", + "examples_highlight": "false", + "examples_collapse": "false", + "examples_required": "false", + "definition_highlight": "false", + "definition_collapse": "false", + "disable_examples": "false", + "hide_share_and_remix": "false", + "droplet_tooltips_disabled": "false", + "lock_zero_param_functions": "false", + "disable_if_else_editing": "false", + "free_play": "true", + "show_turtle_before_run": "false", + "autocomplete_palette_apis_only": "false", + "execute_palette_apis_only": "false", + "text_mode_at_start": "false", + "design_mode_at_start": "false", + "hide_design_mode": "false", + "beginner_mode": "false", + "submittable": "false", + "hide_view_data_button": "true", + "show_debug_watch": "true", + "expand_debugger": "false", + "fail_on_lint_errors": "false", + "debugger_disabled": "false", + "makerlab_enabled": "true", + "project_template_level_name": "CSDU6 - final project template", + "markdown_instructions": "# Board Output\r\n\r\nIf you haven't already, use some of the output elements on the board to communicate useful information to the user.", + "contained_level_names": null + }, + "published": true, + "notes": "", + "level_concept_difficulty": { + } +}]]></config> + <blocks/> +</Applab> \ No newline at end of file diff --git a/dashboard/config/scripts/levels/CSDU6 - final project 6.level b/dashboard/config/scripts/levels/CSDU6 - final project 6.level new file mode 100644 index 0000000000000..ac08e5b2273e2 --- /dev/null +++ b/dashboard/config/scripts/levels/CSDU6 - final project 6.level @@ -0,0 +1,120 @@ +<Applab> + <config><![CDATA[{ + "game_id": 41, + "created_at": "2017-03-24T04:08:48.000Z", + "level_num": "custom", + "user_id": 1, + "properties": { + "skin": "applab", + "code_functions": { + "onEvent": null, + "getText": null, + "setText": null, + "getNumber": null, + "setNumber": null, + "showElement": null, + "hideElement": null, + "setProperty": null, + "getProperty": null, + "setScreen": null, + "rgb": null, + "ifBlock": null, + "ifElseBlock": null, + "addOperator": null, + "subtractOperator": null, + "multiplyOperator": null, + "divideOperator": null, + "equalityOperator": null, + "inequalityOperator": null, + "greaterThanOperator": null, + "greaterThanOrEqualOperator": null, + "lessThanOperator": null, + "lessThanOrEqualOperator": null, + "andOperator": null, + "orOperator": null, + "notOperator": null, + "randomNumber_min_max": null, + "declareAssign_x": null, + "declareNoAssign_x": null, + "assign_x": null, + "console.log": null, + "declareAssign_list_abd": null, + "listLength": null, + "functionParams_none": null, + "callMyFunction": null, + "comment": null, + "on": null, + "off": null, + "toggle": null, + "intensity": null, + "blink": null, + "color": null, + "stop": null, + "led.on": null, + "led.off": null, + "led.toggle": null, + "led.intensity": null, + "led.blink": null, + "led.stop": null, + "buzzer.note": null, + "buzzer.off": null, + "buzzer.frequency": null, + "buzzer.play": null, + "timedLoop": null, + "stopTimedLoop": null, + "forLoop_i_0_4": null, + "onBoardEvent": null, + "toggleSwitch.isOpen": null, + "isPressed": null, + "value": null, + "tempSensor.C": null, + "tempSensor.F": null + }, + "edit_code": true, + "embed": "false", + "instructions_important": "false", + "is_k1": "false", + "skip_instructions_popup": "false", + "never_autoplay_video": "false", + "disable_param_editing": "true", + "disable_variable_editing": "false", + "use_modal_function_editor": "false", + "use_contract_editor": "false", + "contract_highlight": "false", + "contract_collapse": "false", + "examples_highlight": "false", + "examples_collapse": "false", + "examples_required": "false", + "definition_highlight": "false", + "definition_collapse": "false", + "disable_examples": "false", + "hide_share_and_remix": "false", + "droplet_tooltips_disabled": "false", + "lock_zero_param_functions": "false", + "disable_if_else_editing": "false", + "free_play": "true", + "show_turtle_before_run": "false", + "autocomplete_palette_apis_only": "false", + "execute_palette_apis_only": "false", + "text_mode_at_start": "false", + "design_mode_at_start": "false", + "hide_design_mode": "false", + "beginner_mode": "false", + "submittable": "false", + "hide_view_data_button": "true", + "show_debug_watch": "true", + "expand_debugger": "false", + "fail_on_lint_errors": "false", + "debugger_disabled": "false", + "makerlab_enabled": "true", + "project_template_level_name": "CSDU6 - final project template", + "markdown_instructions": "# Finishing Touches\r\n\r\nAdd any finishing touches still needed to make your program awesome.", + "contained_level_names": null + }, + "published": true, + "notes": "", + "level_concept_difficulty": { + } +}]]></config> + <blocks/> +</Applab> \ No newline at end of file diff --git a/dashboard/config/scripts/levels/CSDU6 - final project template.level b/dashboard/config/scripts/levels/CSDU6 - final project template.level new file mode 100644 index 0000000000000..65f69f5c01c46 --- /dev/null +++ b/dashboard/config/scripts/levels/CSDU6 - final project template.level @@ -0,0 +1,126 @@ +<Applab> + <config><![CDATA[{ + "game_id": 41, + "created_at": "2017-03-24T03:42:29.000Z", + "level_num": "custom", + "user_id": 1, + "properties": { + "skin": "applab", + "code_functions": { + "onEvent": null, + "getText": null, + "setText": null, + "getNumber": null, + "setNumber": null, + "showElement": null, + "hideElement": null, + "setProperty": null, + "getProperty": null, + "setScreen": null, + "rgb": null, + "ifBlock": null, + "ifElseBlock": null, + "addOperator": null, + "subtractOperator": null, + "multiplyOperator": null, + "divideOperator": null, + "equalityOperator": null, + "inequalityOperator": null, + "greaterThanOperator": null, + "greaterThanOrEqualOperator": null, + "lessThanOperator": null, + "lessThanOrEqualOperator": null, + "andOperator": null, + "orOperator": null, + "notOperator": null, + "randomNumber_min_max": null, + "declareAssign_x": null, + "declareNoAssign_x": null, + "assign_x": null, + "console.log": null, + "declareAssign_list_abd": null, + "listLength": null, + "functionParams_none": null, + "callMyFunction": null, + "comment": null, + "on": null, + "off": null, + "toggle": null, + "intensity": null, + "blink": null, + "color": null, + "stop": null, + "led.on": null, + "led.off": null, + "led.toggle": null, + "led.intensity": null, + "led.blink": null, + "led.stop": null, + "buzzer.note": null, + "buzzer.off": null, + "buzzer.frequency": null, + "buzzer.play": null, + "timedLoop": null, + "stopTimedLoop": null, + "forLoop_i_0_4": null, + "onBoardEvent": null, + "toggleSwitch.isOpen": null, + "isPressed": null, + "value": null, + "tempSensor.C": null, + "tempSensor.F": null, + "accelerometer.getOrientation": null, + "accelerometer.getAcceleration": null, + "holdtime": null, + "setScale": null, + "getAveragedValue": null + }, + "edit_code": true, + "embed": "false", + "instructions_important": "false", + "is_k1": "false", + "skip_instructions_popup": "false", + "never_autoplay_video": "false", + "disable_param_editing": "true", + "disable_variable_editing": "false", + "use_modal_function_editor": "false", + "use_contract_editor": "false", + "contract_highlight": "false", + "contract_collapse": "false", + "examples_highlight": "false", + "examples_collapse": "false", + "examples_required": "false", + "definition_highlight": "false", + "definition_collapse": "false", + "disable_examples": "false", + "hide_share_and_remix": "false", + "droplet_tooltips_disabled": "false", + "lock_zero_param_functions": "false", + "disable_if_else_editing": "false", + "free_play": "true", + "show_turtle_before_run": "false", + "autocomplete_palette_apis_only": "false", + "execute_palette_apis_only": "false", + "text_mode_at_start": "false", + "design_mode_at_start": "false", + "hide_design_mode": "false", + "beginner_mode": "false", + "submittable": "false", + "hide_view_data_button": "true", + "show_debug_watch": "true", + "expand_debugger": "false", + "fail_on_lint_errors": "false", + "debugger_disabled": "false", + "makerlab_enabled": "true", + "contained_level_names": null, + "encrypted_examples": [ + + ] + }, + "published": true, + "notes": "", + "level_concept_difficulty": { + } +}]]></config> + <blocks/> +</Applab> \ No newline at end of file diff --git a/dashboard/config/scripts/levels/CSPU5_U3 - Return Values - debuggingMaxVal.level b/dashboard/config/scripts/levels/CSPU5_U3 - Return Values - debuggingMaxVal.level index ef6a19526745d..335266b7cff63 100644 --- a/dashboard/config/scripts/levels/CSPU5_U3 - Return Values - debuggingMaxVal.level +++ b/dashboard/config/scripts/levels/CSPU5_U3 - Return Values - debuggingMaxVal.level @@ -36,7 +36,7 @@ "edit_code": true, "embed": "false", "instructions": "Correct the error in maxVal so that it correctly reports the maximum value. (Click to see full instructions)", - "markdown_instructions": "# Debugging and Multiple Return Statements\r\n\r\n**Having multiple `return` statements in a program can lead to tricky situations**. You may use multiple return statements, but it makes it easier to introduce logical errors into your program. We're going to look at some examples of functions with return values that include logical errors and debug them. The goal is to **recognize common errors with return values now so you can avoid them when writing your own programs**.\r\n\r\nThere is a logical error somewhere in the version of `maxVal` you are about to see which uses multiple return statements. As a result the function works correctly for some inputs but not all. You'll need to inspect the code to understand what the issue is and make changes accordingly.\r\n\r\n# Do This:\r\n\r\n* **Run the program** and identify the errors generated in the output.\r\n* **Inspect the logic of `maxVal`** to identify the logical error.\r\n* **Correct the logical error** so that the function returns the correct value for all inputs.", + "markdown_instructions": "# Debugging and Multiple Return Statements\r\n\r\n**Having multiple `return` statements in a program can lead to tricky situations**. You may use multiple return statements, but it makes it easier to introduce logical errors into your program. We're going to look at some examples of functions with return values that include logical errors and debug them. The goal is to **recognize common errors with return values now so you can avoid them when writing your own programs**.\r\n\r\nThere is a logical error somewhere in the version of `maxVal` you are about to see which uses multiple return statements. As a result, the function works correctly for some inputs but not all. You'll need to inspect the code to understand what the issue is and make changes accordingly. In particular, look closely for conditions that are *not* currently handled by the program.\r\n\r\n# Do This:\r\n\r\n* **Run the program** and identify the errors generated in the output.\r\n* **Inspect the logic of `maxVal`** to identify the logical error.\r\n* **Correct the logical error** so that the function returns the correct value for all inputs.", "is_k1": "false", "skip_instructions_popup": "false", "never_autoplay_video": "false", @@ -68,9 +68,19 @@ "debugger_disabled": "false", "start_blocks": "console.log(\"The maximum of 2 and 3 is \" + maxVal(2,3));\r\nconsole.log(\"The maximum of 5 and 1 is \" + maxVal(5,1));\r\nconsole.log(\"The maximum of 8 and 8 is \" + maxVal(8,8));\r\n\r\nfunction maxVal(num1, num2){\r\n if (num1 > num2) {\r\n return num1;\r\n }\r\n else if (num1 < num2) {\r\n return num2;\r\n }\r\n}", "encrypted_examples": "LI5cWH5JzxxIpV7R9ZrAET+Q9yAI1hTI0Tmp84Ct6grKTvEet2iNAfR+y6gM\nMWn3\n", - "contained_level_names": null + "contained_level_names": null, + "instructions_important": "false", + "hide_share_and_remix": "false", + "disable_if_else_editing": "false", + "show_debug_watch": "false", + "expand_debugger": "false", + "fail_on_lint_errors": "false", + "makerlab_enabled": "false" }, - "published": true + "published": true, + "notes": "", + "level_concept_difficulty": { + } }]]></config> <blocks/> </Applab> \ No newline at end of file diff --git a/dashboard/config/scripts/levels/Escape Room Example.level b/dashboard/config/scripts/levels/Escape Room Example.level index 93b9380c82551..8b788c93b8d82 100644 --- a/dashboard/config/scripts/levels/Escape Room Example.level +++ b/dashboard/config/scripts/levels/Escape Room Example.level @@ -212,7 +212,10 @@ "debugger_disabled": "false", "makerlab_enabled": "false", "markdown_instructions": "# Room Escape\r\n\r\nIn today's workshop you are going to be working on making a room escape app! This level has an example app that you should play around with to get the feel for what you will be creating.\r\n\r\n# Do This\r\n\r\n* Click RUN to start the app\r\n* Try to find the key that will open the door.", - "contained_level_names": null + "contained_level_names": null, + "encrypted_examples": [ + + ] }, "published": true, "notes": "", diff --git a/dashboard/config/scripts/levels/Room Escape Workshop - 1.level b/dashboard/config/scripts/levels/Room Escape Workshop - 1.level index f507d0a52477c..47dc00df911ba 100644 --- a/dashboard/config/scripts/levels/Room Escape Workshop - 1.level +++ b/dashboard/config/scripts/levels/Room Escape Workshop - 1.level @@ -45,8 +45,11 @@ "fail_on_lint_errors": "false", "debugger_disabled": "false", "makerlab_enabled": "false", - "markdown_instructions": "# Setting Up Rooms\r\n\r\n<img src=\"https://images.code.org/b396cab3cc82356d040aca5f5d55df6d-image-1489603205329.39.21 PM.png\" style=\"width:200px; float:right\">\r\n\r\nIn order to make your room escape you will need to set up the room the user will be able to adventure around in. Some of the work has already been done for you. You just need to decide what the different parts of the room will look like by picking pictures!\r\n\r\n# Do This\r\n\r\n* The level starts in design mode\r\n* For each image element that is blank add an appropriate image. For example you will need a door image for the image element labeled door.\r\n* An example of what the room might look like are on the right.", - "contained_level_names": null + "markdown_instructions": "# Setting Up Rooms\r\n\r\n<img src=\"https://images.code.org/9d103d74f7c2da05aeccd5fc317e6ab6-image-1490368234432.08.44 AM.png\" style=\"width:200px; float:right\">\r\n\r\nIn order to make your room escape you will need to set up the room the user will be able to adventure around in. Some of the work has already been done for you. You just need to decide what the different parts of the room will look like by picking pictures!\r\n\r\n# Do This\r\n\r\n* The level starts in Design Mode\r\n* For each image element that is blank (gray rectangle) add an appropriate image. For example you will need a door image for the image element labeled door.\r\n* An example of what the room might look like are on the right.", + "contained_level_names": null, + "encrypted_examples": [ + + ] }, "published": true, "notes": "", diff --git a/dashboard/config/scripts/levels/Room Escape Workshop - 10 - 2.level b/dashboard/config/scripts/levels/Room Escape Workshop - 10 - 2.level new file mode 100644 index 0000000000000..5f6cf3c2c5921 --- /dev/null +++ b/dashboard/config/scripts/levels/Room Escape Workshop - 10 - 2.level @@ -0,0 +1,68 @@ +<Applab> + <config><![CDATA[{ + "game_id": 41, + "created_at": "2017-03-24T16:07:28.000Z", + "level_num": "custom", + "user_id": 155, + "properties": { + "skin": "applab", + "code_functions": { + "onEvent": null, + "ifBlock": null, + "equalityOperator": null, + "randomNumber_min_max": null, + "declareAssign_x": null, + "declareAssign_x_promptNum": null, + "hideElement": null, + "showElement": null, + "assign_x": null + }, + "edit_code": true, + "embed": "false", + "instructions_important": "false", + "is_k1": "false", + "skip_instructions_popup": "false", + "never_autoplay_video": "false", + "disable_param_editing": "true", + "disable_variable_editing": "false", + "use_modal_function_editor": "false", + "use_contract_editor": "false", + "contract_highlight": "false", + "contract_collapse": "false", + "examples_highlight": "false", + "examples_collapse": "false", + "examples_required": "false", + "definition_highlight": "false", + "definition_collapse": "false", + "disable_examples": "false", + "project_template_level_name": "Room Escape Template", + "hide_share_and_remix": "false", + "droplet_tooltips_disabled": "false", + "lock_zero_param_functions": "false", + "disable_if_else_editing": "false", + "free_play": "false", + "show_turtle_before_run": "false", + "autocomplete_palette_apis_only": "false", + "execute_palette_apis_only": "false", + "text_mode_at_start": "false", + "design_mode_at_start": "false", + "hide_design_mode": "false", + "beginner_mode": "false", + "start_html": "<div id=\"designModeViz\" class=\"appModern withCrosshair clip-content\" data-radium=\"true\" style=\"width: 320px; height: 450px; display: block;\"><div class=\"screen\" tabindex=\"1\" id=\"room1\" style=\"display: block; height: 450px; width: 320px; left: 0px; top: 0px; position: absolute; z-index: 0; background-color: rgb(241, 228, 202);\"><div contenteditable=\"false\" class=\"textArea\" id=\"secretCode\" style=\"width: 115px; height: 75px; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); position: absolute; left: 175px; top: 160px; margin: 0px; font-size: 20px; text-align: center;\">CODE</div><button id=\"rightButton\" style=\"padding: 0px; margin: 0px; height: 45px; width: 70px; font-size: 14px; color: rgb(255, 255, 255); background-color: rgba(26, 188, 156, 0); position: absolute; left: 250px; top: 290px; background-size: contain; background-position: 50% 50%; background-repeat: no-repeat;\" data-canonical-image-url=\"icon://fa-arrow-circle-right\"></button><img src=\"/blockly/media/1x1.gif\" data-canonical-image-url=\"\" id=\"floorRoom1\" style=\"height: 115px; width: 320px; position: absolute; left: 0px; top: 335px; margin: 0px;\"><img src=\"/blockly/media/1x1.gif\" data-canonical-image-url=\"\" id=\"door\" style=\"height: 185px; width: 105px; position: absolute; left: 40px; top: 150px; margin: 0px;\"><img src=\"/blockly/media/1x1.gif\" data-canonical-image-url=\"\" id=\"picture\" style=\"height: 115px; width: 170px; position: absolute; left: 135px; top: 20px; margin: 0px;\"></div><div class=\"screen\" tabindex=\"1\" id=\"room2\" style=\"display: none; height: 450px; width: 320px; left: 0px; top: 0px; position: absolute; z-index: 0; background-color: rgb(138, 100, 100);\"><img src=\"/blockly/media/1x1.gif\" data-canonical-image-url=\"\" id=\"window\" style=\"height: 155px; width: 190px; position: absolute; left: 115px; top: 70px; margin: 0px;\"><img src=\"/blockly/media/1x1.gif\" data-canonical-image-url=\"\" id=\"floorRoom2\" style=\"height: 115px; width: 319px; position: absolute; left: 1.11022e-16px; top: 335px; margin: 0px;\"><img src=\"/blockly/media/1x1.gif\" data-canonical-image-url=\"\" id=\"safe\" style=\"height: 100px; width: 100px; position: absolute; left: 25px; top: 265px; margin: 0px;\"><button id=\"leftButton\" style=\"padding: 0px; margin: 0px; height: 45px; width: 80px; font-size: 14px; color: rgb(255, 255, 255); background-color: rgba(26, 188, 156, 0); position: absolute; left: -10px; top: 130px; background-size: contain; background-position: 50% 50%; background-repeat: no-repeat;\" data-canonical-image-url=\"icon://fa-arrow-circle-left\"></button></div></div>", + "submittable": "false", + "hide_view_data_button": "false", + "show_debug_watch": "false", + "expand_debugger": "false", + "fail_on_lint_errors": "false", + "debugger_disabled": "false", + "makerlab_enabled": "false", + "markdown_instructions": "# Door Open\r\n\r\n<img src=\"https://images.code.org/71be23f252752b52d69f2771bd744afe-image-1490371601633.05.53 PM.png\" style=\"width:200px;float:right\">\r\n\r\nOpen the door if they have the key!\r\n\r\n# Do This\r\n\r\n* Add an `onEvent` block for clicking on the door\r\n* Add an `if` statement inside the `onEvent` to check if gotKey is true\r\n![](https://images.code.org/9cd2e3a088a857040cc0b842bcb09d85-image-1490371700058.08.02 PM.png)\r\n\r\n* Inside the `if` statement use `showElement` to show the hidden outdoors image if they got the key", + "contained_level_names": null + }, + "published": true, + "notes": "", + "level_concept_difficulty": { + } +}]]></config> + <blocks/> +</Applab> \ No newline at end of file diff --git a/dashboard/config/scripts/levels/Room Escape Workshop - 10.level b/dashboard/config/scripts/levels/Room Escape Workshop - 10.level index 59fd6df62077c..da5cd5347c2d5 100644 --- a/dashboard/config/scripts/levels/Room Escape Workshop - 10.level +++ b/dashboard/config/scripts/levels/Room Escape Workshop - 10.level @@ -56,8 +56,11 @@ "fail_on_lint_errors": "false", "debugger_disabled": "false", "makerlab_enabled": "false", - "markdown_instructions": "# Door Open\r\n\r\nGetting close! Lets set up the door to get ready for opening it.\r\n\r\n# Do This\r\n\r\n* Add image for the outdoors that is hidden. It will be shown when door opens\r\n* Add an `onEvent` block for clicking on the door\r\n* Add an `if` statement inside the `onEvent` to check if gotKey is true\r\n* Inside the `if` statement use `showElement` to show the hidden outdoors image if they got the key", - "contained_level_names": null + "markdown_instructions": "# Door Open\r\n\r\n<img src=\"https://images.code.org/71be23f252752b52d69f2771bd744afe-image-1490371601633.05.53 PM.png\" style=\"width:200px;float:right\">\r\n\r\nGetting close! Lets set up the door to get ready for opening it.\r\n\r\n# Do This\r\n\r\n* Add image for the outdoors that is hidden. It will be shown when door opens", + "contained_level_names": null, + "encrypted_examples": [ + + ] }, "published": true, "notes": "", diff --git a/dashboard/config/scripts/levels/Room Escape Workshop - 11.level b/dashboard/config/scripts/levels/Room Escape Workshop - 11.level index cccf51d64f2b3..f99df8eb8af17 100644 --- a/dashboard/config/scripts/levels/Room Escape Workshop - 11.level +++ b/dashboard/config/scripts/levels/Room Escape Workshop - 11.level @@ -56,8 +56,11 @@ "fail_on_lint_errors": "false", "debugger_disabled": "false", "makerlab_enabled": "false", - "markdown_instructions": "# Got Key\r\n\r\nIn order to make sure the user got the key before trying to open the door we will need a variable to keep track of if they got the key.\r\n\r\n# Do This\r\n\r\n* Add a variable at the top of the program called gotKey\r\n* Set the right side of the gotKey variable to the word false\r\n* Inside the `onEvent` command for the key in the safe set gotKey to true to indicate they got the key.\r\n* You will use this to set up the door on the next level", - "contained_level_names": null + "markdown_instructions": "# Got Key\r\n\r\nIn order to make sure the user got the key before trying to open the door we will need a variable to keep track of if they got the key.\r\n\r\n# Do This\r\n\r\n* Add a variable at the top of the program called gotKey and set the right side of the gotKey variable to the word false\r\n<img src=\"https://images.code.org/58e88b028ee9190b0288c7fcbabe389f-image-1490371419468.02.50 PM.png\" style=\"width:300px\">\r\n\r\n* Inside the `onEvent` command for the key in the safe set gotKey to true to indicate they got the key.\r\n\r\n<img src=\"https://images.code.org/def02108cabc85383129c5bb29b3af4f-image-1490371463514.04.10 PM.png\" style=\"width:400px\">\r\n\r\n* You will use this to set up the door on the next level", + "contained_level_names": null, + "encrypted_examples": [ + + ] }, "published": true, "notes": "", diff --git a/dashboard/config/scripts/levels/Room Escape Workshop - 3-2.level b/dashboard/config/scripts/levels/Room Escape Workshop - 3-2.level index f3d7197e95cbf..3e86701a213cb 100644 --- a/dashboard/config/scripts/levels/Room Escape Workshop - 3-2.level +++ b/dashboard/config/scripts/levels/Room Escape Workshop - 3-2.level @@ -60,8 +60,11 @@ "fail_on_lint_errors": "false", "debugger_disabled": "false", "makerlab_enabled": "false", - "markdown_instructions": "# Hide the Code\r\n\r\n<img src=\"https://images.code.org/11fc50efd77b7245198dddc2f11c2e6f-image-1489606362106.32.21 PM.png\" style=\"width:200px;float:right\">\r\n\r\n<img src=\"https://images.code.org/b957534ed691290bdba5f2e1b9dd4e23-image-1489606362105.32.02 PM.png\" style=\"width:200px;float:right\">\r\n\r\nNow make it so the user can find the secret code by clicking the picture. When they click the picture it should move up and out of the way.\r\n\r\n# Do This\r\n\r\n* Pull out an `onEvent` block\r\n* Change the id spot in the `onEvent` block to picture (which is the ID of the picture element)\r\n* Inside the `onEvent` block add the `setPosition` block with the following inputs\r\n\t* ID: picture\r\n * The next two inputs are x and y values - test out some numbers to try to get the picture to move like in the pictures on the right", - "contained_level_names": null + "markdown_instructions": "# Move Picture\r\n\r\nNow make it so the user can find the secret code by clicking the picture. When they click the picture it should move up and out of the way.\r\n\r\n# Do This\r\n\r\n* Pull out an `onEvent` block\r\n* Change the id spot in the `onEvent` block to picture (which is the ID of the picture element)\r\n* Inside the `onEvent` block add the `setPosition` block with the following inputs\r\n\t* ID: picture\r\n * The next two inputs are x and y values - test out some numbers to try to get the picture to move like in the pictures on the right", + "contained_level_names": null, + "encrypted_examples": [ + + ] }, "published": true, "notes": "", diff --git a/dashboard/config/scripts/levels/Room Escape Workshop - 3.level b/dashboard/config/scripts/levels/Room Escape Workshop - 3.level index f5e29545778af..1e4ba30012fa2 100644 --- a/dashboard/config/scripts/levels/Room Escape Workshop - 3.level +++ b/dashboard/config/scripts/levels/Room Escape Workshop - 3.level @@ -45,8 +45,11 @@ "fail_on_lint_errors": "false", "debugger_disabled": "false", "makerlab_enabled": "false", - "markdown_instructions": "# Hide the Code\r\n\r\n<img src=\"https://images.code.org/11fc50efd77b7245198dddc2f11c2e6f-image-1489606362106.32.21 PM.png\" style=\"width:200px;float:right\">\r\n\r\n<img src=\"https://images.code.org/b957534ed691290bdba5f2e1b9dd4e23-image-1489606362105.32.02 PM.png\" style=\"width:200px;float:right\">\r\n\r\nIts too easy to find the secret code right now. Put the picture in front of the secret code to hide it. \r\n\r\n# Do This\r\n\r\n* Move the picture in Design Mode to cover the secret code", - "contained_level_names": null + "markdown_instructions": "# Hide the Code\r\n\r\n<img src=\"https://images.code.org/6fa80456a39d9b6417545f5f66ec83a5-image-1490368827625.png\" style=\"width:400px;float:right\">\r\n\r\n1. In Design Mode Click on the white square where it says \"CODE\". Change it to show a secret code of your choice\r\n2. Drag the picture down to cover the secret code\r\n\r\n![]()", + "contained_level_names": null, + "encrypted_examples": [ + + ] }, "published": true, "notes": "", diff --git a/dashboard/config/scripts/levels/Room Escape Workshop - 4.level b/dashboard/config/scripts/levels/Room Escape Workshop - 4.level index 69a68dcf9715f..a20810e79a26e 100644 --- a/dashboard/config/scripts/levels/Room Escape Workshop - 4.level +++ b/dashboard/config/scripts/levels/Room Escape Workshop - 4.level @@ -50,8 +50,11 @@ "fail_on_lint_errors": "false", "debugger_disabled": "false", "makerlab_enabled": "false", - "markdown_instructions": "# Setting Up the Safe\r\n\r\nYou have generated a secret code and made it so users can navigate to the second room. Lets give the user the ability to enter the secret code when they click on the sage\r\n\r\n# Do This\r\n\r\n* Add an `onEvent` block for the safe image\r\n* Inside the `onEvent` block add a `prompt` block\r\n\t* On the left set the name of the variable to something like guess \r\n * On the right change the prompt to ask the user to enter the code", - "contained_level_names": null + "markdown_instructions": "# Setting Up the Safe\r\n\r\nYou have generated a secret code and made it so users can navigate to the second room. Lets give the user the ability to enter the secret code when they click on the safe\r\n\r\n# Do This\r\n\r\n* Add an `onEvent` block\r\n\t* Pick the ID for the safe\r\n* Inside the `onEvent` block add a `prompt` block\r\n\t* On the left set the name of the variable to be *guess* \r\n * On the right change the prompt to ask the user to *Enter the code*", + "contained_level_names": null, + "encrypted_examples": [ + + ] }, "published": true, "notes": "", diff --git a/dashboard/config/scripts/levels/Room Escape Workshop - 5.level b/dashboard/config/scripts/levels/Room Escape Workshop - 5.level index 617fbe457f981..fde3c6d60c464 100644 --- a/dashboard/config/scripts/levels/Room Escape Workshop - 5.level +++ b/dashboard/config/scripts/levels/Room Escape Workshop - 5.level @@ -51,8 +51,11 @@ "fail_on_lint_errors": "false", "debugger_disabled": "false", "makerlab_enabled": "false", - "markdown_instructions": "# Checking the Secret Code\r\n\r\nNow that you are collecting the secret code from the user you will need to check if it is correct! We can do this using an if statement. An if statement checks if a condition is true, in this case it will check if the number the user entered is equal to the secret code\r\n\r\n# Do This\r\n\r\n* Add an if statement inside the `onEvent` block for the safe, below the prompt command\r\n* Create the condition by pulling out the `==` block which will check if two things are equal\r\n* On one side of `==` put the name of the value you used to save the user guess\r\n* On the other side put the value for your secret code", - "contained_level_names": null + "markdown_instructions": "# Checking the Secret Code\r\n\r\nNow that you have collected a guess of the secret code from the user you will need to check if it is correct! We can do this using an `if` statement. An if statement checks if a condition is true, in this case it will check if the number the user entered is equal to the secret code\r\n\r\n# Do This\r\n\r\n* Inside the `onEvent` block for the safe below the prompt command add an `if` statement \r\n* Create the condition by pulling out the `==` block which will check if two things are equal\r\n* On one side of `==` put *guess* (the name of the value we used to store the users guess)\r\n* On the other side put the value for your secret code", + "contained_level_names": null, + "encrypted_examples": [ + + ] }, "published": true, "notes": "", diff --git a/dashboard/config/scripts/levels/Room Escape Workshop - 7.level b/dashboard/config/scripts/levels/Room Escape Workshop - 7.level index 5e18e39951395..709a9609e278b 100644 --- a/dashboard/config/scripts/levels/Room Escape Workshop - 7.level +++ b/dashboard/config/scripts/levels/Room Escape Workshop - 7.level @@ -51,8 +51,11 @@ "fail_on_lint_errors": "false", "debugger_disabled": "false", "makerlab_enabled": "false", - "markdown_instructions": "# Showing inside the safe\r\n\r\n<img src=\"https://images.code.org/d7a699d955f20b3815e576dcde05055d-image-1489605526793.16.34 PM.png\" style=\"width:200px;float:right\">\r\n\r\nOnce you have the program working to check the secret code you are going to want to \"open\" the safe and show the key inside. First you will need to create these elements in design mode.\r\n\r\n# Do This\r\n\r\n* Add a gray square which will act as the inside of the safe as it will hide the front of the safe when shown\r\n* Add a key \r\n* Click the hidden property in design mode for the gray square and key. When they are hidden it will look something like below in Design Mode\r\n\r\n<img src=\"https://images.code.org/2c2c7e9996515f2b30d416b558fd1360-image-1489605526794.17.55 PM.png\" style=\"width:200px\">", - "contained_level_names": null + "markdown_instructions": "# Showing inside the safe\r\n\r\n<img src=\"https://images.code.org/71e74305187a46d0badeb29a9a69ac56-image-1490371014841.55.37 AM.png\" style=\"width:200px;float:right\">\r\n\r\nOnce you have the program working to check the secret code you are going to want to \"open\" the safe and show the key inside. First you will need to create these elements in design mode.\r\n\r\n# Do This\r\n\r\n* Add a gray square image \r\n\t* This will act as the inside of the safe as it will hide the front of the safe when shown\r\n* Add a key image\r\n* Click the hidden property in Design Mode for the gray square and key. When they are hidden it will look something like below in Design Mode\r\n\r\n<img src=\"https://images.code.org/2c2c7e9996515f2b30d416b558fd1360-image-1489605526794.17.55 PM.png\" style=\"width:200px\">", + "contained_level_names": null, + "encrypted_examples": [ + + ] }, "published": true, "notes": "", diff --git a/dashboard/config/scripts/levels/Room Escape Workshop - 8.level b/dashboard/config/scripts/levels/Room Escape Workshop - 8.level index 8f90b7a68644e..b092004b9396c 100644 --- a/dashboard/config/scripts/levels/Room Escape Workshop - 8.level +++ b/dashboard/config/scripts/levels/Room Escape Workshop - 8.level @@ -54,8 +54,11 @@ "fail_on_lint_errors": "false", "debugger_disabled": "false", "makerlab_enabled": "false", - "markdown_instructions": "# Showing inside the safe\r\n\r\nNow set up the code to show the key and the gray square when the user inputs the correct code.\r\n\r\n# Do This\r\n\r\n* Inside the if statement you created in the `onEvent` command for the safe add:\r\n * The `showElement` block to show the gray square\r\n * The `showElement` block to show the key", - "contained_level_names": null + "markdown_instructions": "# Showing inside the safe\r\n\r\nNow set up the code to show the key and the gray square when the user inputs the correct code.\r\n\r\n# Do This\r\n\r\n* Inside the `if` statement you created in the `onEvent` command for the safe add:\r\n * The `showElement` block to show the gray square\r\n * The `showElement` block to show the key", + "contained_level_names": null, + "encrypted_examples": [ + + ] }, "published": true, "notes": "", diff --git a/dashboard/config/scripts/levels/Room Escape Workshop - 9-2.level b/dashboard/config/scripts/levels/Room Escape Workshop - 9-2.level index 20191e743012e..87cbcb84bf2b7 100644 --- a/dashboard/config/scripts/levels/Room Escape Workshop - 9-2.level +++ b/dashboard/config/scripts/levels/Room Escape Workshop - 9-2.level @@ -55,8 +55,11 @@ "fail_on_lint_errors": "false", "debugger_disabled": "false", "makerlab_enabled": "false", - "markdown_instructions": "# Click Key\r\n\r\n<img src=\"https://images.code.org/da714cccb8271f4a38c584255db7a3a1-image-1489632782603.52.18 PM.png\" style=\"width:200px;float:right\">\r\n\r\nOnce a user clicks the key you will want to show they are holding it. You can do this by adding a key at the bottom corner of the room. \r\n\r\n# Do This\r\n\r\n* Add an `onEvent` block for when the user clicks the key in the safe. \r\n* Inside the `onEvent` block:\r\n\t* Use `hideElement` to hide the key in the safe\r\n * Use `showElement` to show the keys in each room.", - "contained_level_names": null + "markdown_instructions": "# Click Key\r\n\r\n<img src=\"https://images.code.org/da714cccb8271f4a38c584255db7a3a1-image-1489632782603.52.18 PM.png\" style=\"width:200px;float:right\">\r\n\r\nOnce a user clicks the key you will want to show they are holding it. You can do this by adding a key at the bottom corner of the room. \r\n\r\n# Do This\r\n\r\n* Add an `onEvent` block for when the user clicks the key in the safe. \r\n* Inside the `onEvent` block:\r\n\t* Use `hideElement` to hide the key in the safe\r\n * Use `showElement` to show the key at the bottom of the room", + "contained_level_names": null, + "encrypted_examples": [ + + ] }, "published": true, "notes": "", diff --git a/dashboard/config/scripts/levels/Room Escape Workshop - 9.level b/dashboard/config/scripts/levels/Room Escape Workshop - 9.level index bd02628f00b97..578d73e952373 100644 --- a/dashboard/config/scripts/levels/Room Escape Workshop - 9.level +++ b/dashboard/config/scripts/levels/Room Escape Workshop - 9.level @@ -55,8 +55,11 @@ "fail_on_lint_errors": "false", "debugger_disabled": "false", "makerlab_enabled": "false", - "markdown_instructions": "# Click Key\r\n\r\n<img src=\"https://images.code.org/5723dda4d7d0b0cf5011dd23879dd216-image-1489632782602.52.05 PM.png\" style=\"width:200px;float:right\">\r\n\r\nOnce a user clicks the key you will want to show they are holding it. You can do this by adding a key at the bottom corner of the room. \r\n\r\n# Do This\r\n\r\n* Add a key image at the bottom right corner of each room\r\n* Set the keys to hidden in Design Mode", - "contained_level_names": null + "markdown_instructions": "# Click Key\r\n\r\n<img src=\"https://images.code.org/349cff555af4337118791d84acf1a5b2-image-1490371172781.59.08 AM.png\" style=\"width:200px;float:right\">\r\n\r\nOnce a user clicks the key you will want to show they are holding it. You can do this by adding a key at the bottom corner of the room. \r\n\r\n# Do This\r\n\r\n* Add a key image at the bottom right corner of the room\r\n* Set the key to hidden in Design Mode", + "contained_level_names": null, + "encrypted_examples": [ + + ] }, "published": true, "notes": "", diff --git a/dashboard/config/scripts/levels/courseA_collector_loops12.level b/dashboard/config/scripts/levels/courseA_collector_loops12.level index b7f377c3bafca..392f59c64e6ca 100644 --- a/dashboard/config/scripts/levels/courseA_collector_loops12.level +++ b/dashboard/config/scripts/levels/courseA_collector_loops12.level @@ -26,7 +26,7 @@ "step_mode": "1", "flower_type": "redWithNectar", "fast_get_nectar_animation": "false", - "instructions": "Eureka! Collect as much treasure as you can!", + "instructions": "Eureka! Get as much treasure as you can!", "instructions_important": "false", "step_speed": "2", "hide_share_and_remix": "false", diff --git a/dashboard/config/scripts/levels/courseA_collector_loops2.level b/dashboard/config/scripts/levels/courseA_collector_loops2.level index d85ba7f0cc2eb..cbffa90ec230c 100644 --- a/dashboard/config/scripts/levels/courseA_collector_loops2.level +++ b/dashboard/config/scripts/levels/courseA_collector_loops2.level @@ -26,12 +26,12 @@ "step_mode": "1", "flower_type": "redWithNectar", "fast_get_nectar_animation": "false", - "instructions": "Collect all three piles to pass this level.", + "instructions": "Get all three piles to pass this level.", "instructions_important": "false", "min_collected": "3", "hide_share_and_remix": "false", "disable_if_else_editing": "false", - "markdown_instructions": "Move Laurel to the treasure, then use `collect` to pick it up.\r\n\r\nCollect all three piles to pass this level.", + "markdown_instructions": "Move Laurel to the treasure, then use <xml><block type=\"collector_collect\"/></xml> to pick it up.\r\n\r\nGet all three piles to pass this level.", "contained_level_names": null }, "published": true, diff --git a/dashboard/config/scripts/levels/courseA_collector_loops3.level b/dashboard/config/scripts/levels/courseA_collector_loops3.level index 47b6eb40ddcbe..13fc21fa153a5 100644 --- a/dashboard/config/scripts/levels/courseA_collector_loops3.level +++ b/dashboard/config/scripts/levels/courseA_collector_loops3.level @@ -26,7 +26,7 @@ "step_mode": "1", "flower_type": "redWithNectar", "fast_get_nectar_animation": "false", - "instructions": "How can Laurel collect all five piles of treasure using only one `[E-->]` block?", + "instructions": "How can Laurel get all five piles of treasure using only one `[E-->]` block?", "ideal": "4", "callout_json": "[\r\n {\r\n \"localization_key\": \"gradek_adventurer_loops2_1\",\r\n \"callout_text\": \"This number tells you how many of these blocks you can use in this puzzle.\",\r\n \"element_id\": \"#callMe\",\r\n \"on\": \"\",\r\n \"qtip_config\": {\r\n \"codeStudio\": {\r\n \"canReappear\": false,\r\n \"dropletPaletteCategory\": \"\"\r\n },\r\n \"style\": {\r\n \"classes\": \"\"\r\n },\r\n \"position\": {\r\n \"my\": \"top right\",\r\n \"at\": \"top left\",\r\n \"adjust\": {\r\n \"x\": 10,\r\n \"y\": 15\r\n }\r\n }\r\n }\r\n }\r\n]", "instructions_important": "false", diff --git a/dashboard/config/scripts/levels/courseA_collector_loops3_predict1.level b/dashboard/config/scripts/levels/courseA_collector_loops3_predict1.level index ea972b08d752e..3f51301cc2579 100644 --- a/dashboard/config/scripts/levels/courseA_collector_loops3_predict1.level +++ b/dashboard/config/scripts/levels/courseA_collector_loops3_predict1.level @@ -29,7 +29,7 @@ "ideal": "4", "callout_json": "[]", "instructions_important": "false", - "video_key": "C1_zuck_repeat_loop", + "video_key": "CSF_zuck_loops_short", "min_collected": "5", "authored_hints": "[]", "contained_level_names": [ diff --git a/dashboard/config/scripts/levels/courseA_collector_loops6.level b/dashboard/config/scripts/levels/courseA_collector_loops6.level index d1737a1d6b1c1..272bdc54d88bf 100644 --- a/dashboard/config/scripts/levels/courseA_collector_loops6.level +++ b/dashboard/config/scripts/levels/courseA_collector_loops6.level @@ -26,7 +26,7 @@ "step_mode": "1", "flower_type": "redWithNectar", "fast_get_nectar_animation": "false", - "instructions": "Add blocks to this code to collect all of the treasure.", + "instructions": "Add blocks to this code to get all of the treasure.", "ideal": "7", "authored_hints": "[{\"hint_class\":\"pointer\",\"hint_markdown\":\"Can't figure out what's wrong? Try running the code a couple of times to see what happens.\",\"hint_id\":\"courseA_collector_loops6_a\",\"hint_type\":\"general\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/788f7c187d8a4cb486a3616f73ced6c9/courseA_collector_loops6.mp3\"}]", "instructions_important": "false", diff --git a/dashboard/config/scripts/levels/courseA_collector_loops9.level b/dashboard/config/scripts/levels/courseA_collector_loops9.level index 0a96d440a6159..a6287e2825d3c 100644 --- a/dashboard/config/scripts/levels/courseA_collector_loops9.level +++ b/dashboard/config/scripts/levels/courseA_collector_loops9.level @@ -27,7 +27,7 @@ "flower_type": "redWithNectar", "fast_get_nectar_animation": "false", "instructions": "**Challenge:** The treasure goes all the way up these stairs! Write the code to help Laurel get it all.", - "authored_hints": "[{\"hint_class\":\"pointer\",\"hint_markdown\":\"If you can't spot the best places to use loops, try coding it out step-by-step and look for a pattern. \",\"hint_id\":\"courseA_collector_loops9_a\",\"hint_type\":\"general\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/9761876eae82d3a74e6d00f0fa2c771a/courseA_collector_loops9.mp3\"},{\"hint_class\":\"content\",\"hint_markdown\":\"Does the code feel really long? Try putting two of your `repeat` loops inside of another loop to make it much shorter!\",\"hint_id\":\"courseA_collector_loops9_a\",\"hint_type\":\"general\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/cd6366be866cafd5322cc1d79da4f0d0/courseA_collector_loops9.mp3\"}]", + "authored_hints": "[{\"hint_class\":\"pointer\",\"hint_markdown\":\"If you can't spot the best places to use loops, try coding it out step-by-step and look for a pattern. \",\"hint_id\":\"courseA_collector_loops9_a\",\"hint_type\":\"general\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/9761876eae82d3a74e6d00f0fa2c771a/courseA_collector_loops9.mp3\"},{\"hint_class\":\"content\",\"hint_markdown\":\"Does the code feel really long? Try putting two of your `repeat` loops inside of another loop to make it much shorter!\",\"hint_id\":\"courseA_collector_loops9_b\",\"hint_type\":\"general\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/cd6366be866cafd5322cc1d79da4f0d0/courseA_collector_loops9.mp3\"}]", "instructions_important": "false", "min_collected": "12", "ideal": "19", diff --git a/dashboard/config/scripts/levels/courseA_video_Stevie.level b/dashboard/config/scripts/levels/courseA_video_Stevie.level index 6f9033dbe8e4a..df56d925208f2 100644 --- a/dashboard/config/scripts/levels/courseA_video_Stevie.level +++ b/dashboard/config/scripts/levels/courseA_video_Stevie.level @@ -13,6 +13,8 @@ "skip_sound": true }, "published": true, - "notes": "" + "notes": "", + "level_concept_difficulty": { + } }]]></config> </StandaloneVideo> diff --git a/dashboard/config/scripts/levels/courseB_collector_loops11.level b/dashboard/config/scripts/levels/courseB_collector_loops11.level index 8efac7a8f7658..0dc13d6599f72 100644 --- a/dashboard/config/scripts/levels/courseB_collector_loops11.level +++ b/dashboard/config/scripts/levels/courseB_collector_loops11.level @@ -26,7 +26,7 @@ "step_mode": "1", "flower_type": "redWithNectar", "fast_get_nectar_animation": "false", - "instructions": "Eureka! Collect as much treasure as you can!", + "instructions": "Eureka! Get as much treasure as you can!", "instructions_important": "false", "hide_share_and_remix": "false", "disable_if_else_editing": "false", diff --git a/dashboard/config/scripts/levels/courseB_collector_loops2.level b/dashboard/config/scripts/levels/courseB_collector_loops2.level index 856e6f7d8234b..e753939adde44 100644 --- a/dashboard/config/scripts/levels/courseB_collector_loops2.level +++ b/dashboard/config/scripts/levels/courseB_collector_loops2.level @@ -26,10 +26,10 @@ "step_mode": "1", "flower_type": "redWithNectar", "fast_get_nectar_animation": "false", - "instructions": "Collect all four piles to pass this level.", + "instructions": "Get all four piles to pass this level.", "instructions_important": "false", "min_collected": "4", - "markdown_instructions": "Move Laurel to the treasure, then use `collect` to pick it up.\r\n\r\nCollect all four piles to pass this level.", + "markdown_instructions": "Move Laurel to the treasure, then use the<xml><block type=\"collector_collect\"/></xml>block to pick it up.\r\n\r\nGet all four piles to pass this level.", "hide_share_and_remix": "false", "disable_if_else_editing": "false", "contained_level_names": null diff --git a/dashboard/config/scripts/levels/courseB_collector_loops3.level b/dashboard/config/scripts/levels/courseB_collector_loops3.level index 270cea2354e0b..755559ece2fd5 100644 --- a/dashboard/config/scripts/levels/courseB_collector_loops3.level +++ b/dashboard/config/scripts/levels/courseB_collector_loops3.level @@ -26,10 +26,10 @@ "step_mode": "1", "flower_type": "redWithNectar", "fast_get_nectar_animation": "false", - "instructions": "How can Laurel collect all five piles of treasure using only one `E -->` block?", + "instructions": "How can Laurel get all five piles of treasure using only one `E -->` block?", "authored_hints": "[{\"hint_class\":\"content\",\"hint_markdown\":\"Try using a `repeat` block to collect your treasure.\",\"hint_id\":\"courseB_collector_prog3_a\",\"hint_type\":\"general\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/fb515cba1f6ca1023a05a1f72d069497/courseB_collector_loops3.mp3\"}]", "ideal": "4", - "markdown_instructions": "How can Laurel collect all five piles of treasure using only one `E -->` block?", + "markdown_instructions": "How can Laurel get all five piles of treasure using only one `E -->` block?", "instructions_important": "false", "video_key": "C1_zuck_repeat_loop", "min_collected": "5", diff --git a/dashboard/config/scripts/levels/courseB_playlab_events7.level b/dashboard/config/scripts/levels/courseB_playlab_events7.level index 028bf521d1986..4510705ad96a5 100644 --- a/dashboard/config/scripts/levels/courseB_playlab_events7.level +++ b/dashboard/config/scripts/levels/courseB_playlab_events7.level @@ -11,7 +11,7 @@ "timeout_after_when_run": "true", "maze": "[[{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":1},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0}],[{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0}],[{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0,\"size\":0.75,\"emotion\":1,\"sprite\":15},{\"tileType\":0},{\"tileType\":0}],[{\"tileType\":0},{\"tileType\":16,\"speed\":3,\"size\":0.5,\"sprite\":8},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":16,\"size\":0.5,\"sprite\":17},{\"tileType\":0}],[{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0,\"emotion\":1,\"sprite\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0}],[{\"tileType\":0},{\"tileType\":1},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0}],[{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":1},{\"tileType\":0}],[{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0}]]", "embed": "false", - "instructions": "Make this game fun by setting the knight to vanish when he runs into the dragon! Play a sound when they collide to make it feel more real.", + "instructions": "Make this game fun by setting the knight to vanish when he runs into the dragon on his way to get the flags! Play a sound when they collide to make it feel more real.", "is_k1": "true", "skip_instructions_popup": "false", "never_autoplay_video": "false", @@ -41,7 +41,7 @@ "protaganist_sprite_index": "1", "authored_hints": "[\r\n {\r\n \"hint_class\": \"content\",\r\n \"hint_markdown\": \"This is the event block that you will need:\\n\\n![](https://images.code.org/2ed42b3a3108c6affdfc866de57f2eec-image-1475624565390.42.18.png)\",\r\n \"hint_id\": \"courseB_playlab_events7_a\",\r\n \"hint_type\": \"general\"\r\n },\r\n {\r\n \"hint_class\": \"content\",\r\n \"hint_markdown\": \"This is the block you need to play a sound.\\n\\n![](https://images.code.org/58e9b9a146a4ca3a8eee25845110b805-image-1475624550269.42.00.png)\",\r\n \"hint_id\": \"courseB_playlab_events7_b\",\r\n \"hint_type\": \"general\"\r\n },\r\n {\r\n \"hint_class\": \"content\",\r\n \"hint_markdown\": \"This is the block you need to make the knight vanish:\\n\\n![](https://images.code.org/f468611cbe51e1cb35531334f625395a-image-1475624478204.41.02.png)\",\r\n \"hint_id\": \"courseB_playlab_events7_c\",\r\n \"hint_type\": \"general\"\r\n }\r\n]", "project_template_level_name": "courseB_playlab_eventsTemplate", - "markdown_instructions": "Make this game fun by setting the knight to vanish when he runs into the dragon! \r\n\r\nPlay a sound when they collide to make it feel more real.", + "markdown_instructions": "Make this game fun by setting the knight to vanish when he runs into the dragon on his way to get the flags! \r\n\r\nPlay a sound when they collide to make it feel more real.", "soft_buttons": [ "leftButton", "rightButton", @@ -49,6 +49,8 @@ "upButton" ], "instructions_important": "false", + "hide_share_and_remix": "false", + "disable_if_else_editing": "false", "contained_level_names": null }, "published": true, @@ -58,30 +60,35 @@ }]]></config> <blocks> <initialization_blocks> - <block type="controls_repeat_ext" inline="true" uservisible="false"> - <value name="TIMES"> - <block type="math_number" uservisible="false"> - <title name="NUM">200 - - - - - 0 - random - - - "dragon" - - - 1000 - - - - - - - + + + + + 200 + + + + + 0 + random + + + "dragon" + + + 1000 + + + + + + + + + + + @@ -131,12 +138,12 @@ 0 1 - - ??? - 1 + + ??? + diff --git a/dashboard/config/scripts/levels/courseB_playlab_eventsTemplate.level b/dashboard/config/scripts/levels/courseB_playlab_eventsTemplate.level index 7dc3b4d2d16db..a1612162c78be 100644 --- a/dashboard/config/scripts/levels/courseB_playlab_eventsTemplate.level +++ b/dashboard/config/scripts/levels/courseB_playlab_eventsTemplate.level @@ -47,5 +47,24 @@ "level_concept_difficulty": { } }]]> - + + + + + 0 + 1 + + + 1000 + + + lose + + + + + + + + \ No newline at end of file diff --git a/dashboard/config/scripts/levels/courseB_video_Unspotted.level b/dashboard/config/scripts/levels/courseB_video_Unspotted.level index a6acd54b277d7..bb7c6d6ce38c2 100644 --- a/dashboard/config/scripts/levels/courseB_video_Unspotted.level +++ b/dashboard/config/scripts/levels/courseB_video_Unspotted.level @@ -13,6 +13,8 @@ "skip_sound": true }, "published": true, - "notes": "" + "notes": "", + "level_concept_difficulty": { + } }]]> diff --git a/dashboard/config/scripts/levels/courseD_artist_ramp11.level b/dashboard/config/scripts/levels/courseD_artist_ramp11.level index 47c09417fa069..825147af85718 100644 --- a/dashboard/config/scripts/levels/courseD_artist_ramp11.level +++ b/dashboard/config/scripts/levels/courseD_artist_ramp11.level @@ -36,8 +36,8 @@ "disable_sharing": "false", "callout_json": "[\r\n {\r\n \"localization_key\": \"courseD_artist_ramp11_1\",\r\n \"callout_text\": \"You can change this number.\",\r\n \"element_id\": \"#callMe\",\r\n \"on\": \"\",\r\n \"qtip_config\": {\r\n \"codeStudio\": {\r\n \"canReappear\": false,\r\n \"dropletPaletteCategory\": \"\"\r\n },\r\n \"style\": {\r\n \"classes\": \"\"\r\n },\r\n \"position\": {\r\n \"my\": \"bottom left\",\r\n \"at\": \"top right\",\r\n \"adjust\": {\r\n \"x\": -90,\r\n \"y\": 30\r\n }\r\n }\r\n }\r\n },\r\n {\r\n \"localization_key\": \"courseD_artist_ramp11_2\",\r\n \"callout_text\": \"Click here to type in the number of times to repeat your code.\",\r\n \"element_id\": \"#callMe2\",\r\n \"on\": \"\",\r\n \"qtip_config\": {\r\n \"codeStudio\": {\r\n \"canReappear\": false,\r\n \"dropletPaletteCategory\": \"\"\r\n },\r\n \"style\": {\r\n \"classes\": \"\"\r\n },\r\n \"position\": {\r\n \"my\": \"left top\",\r\n \"at\": \"top right\",\r\n \"adjust\": {\r\n \"x\": -52,\r\n \"y\": 20\r\n }\r\n }\r\n }\r\n }\r\n]", "ideal": "4", - "contained_level_names": null, - "authored_hints": "[{\"hint_class\":\"content\",\"hint_markdown\":\"To draw a side, use the `move forward by 100 pixels` block, and change the 100 to a 200.\",\"hint_id\":\"courseD_artist_ramp11a\",\"hint_type\":\"general\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/f7dee4f33e72fd361059694051cd2495/courseD_artist_ramp11.mp3\"},{\"hint_class\":\"content\",\"hint_markdown\":\"To draw 4 sides, put the `move forward by 100 pixels` block inside of a repeat loop and make sure the loop is set to draw 4 times.\\n\\nDon't forget to turn afterward!\",\"hint_id\":\"courseD_artist_ramp11b\",\"hint_type\":\"general\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/e71bf27a2e0709a51b0c52ab66f32850/courseD_artist_ramp11.mp3\"}]" + "authored_hints": "[{\"hint_class\":\"content\",\"hint_markdown\":\"To draw a side, use the `move forward by 100 pixels` block, and change the 100 to a 200.\",\"hint_id\":\"courseD_artist_ramp11a\",\"hint_type\":\"general\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/f7dee4f33e72fd361059694051cd2495/courseD_artist_ramp11.mp3\"},{\"hint_class\":\"content\",\"hint_markdown\":\"To draw 4 sides, put the `move forward by 100 pixels` block inside of a repeat loop and make sure the loop is set to draw 4 times.\\n\\nDon't forget to turn afterward!\",\"hint_id\":\"courseD_artist_ramp11b\",\"hint_type\":\"general\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/e71bf27a2e0709a51b0c52ab66f32850/courseD_artist_ramp11.mp3\"}]", + "contained_level_names": null }, "published": true, "notes": "", diff --git a/dashboard/config/scripts/levels/courseD_artist_ramp13.level b/dashboard/config/scripts/levels/courseD_artist_ramp13.level index 9bc41115731f8..6260523283f0f 100644 --- a/dashboard/config/scripts/levels/courseD_artist_ramp13.level +++ b/dashboard/config/scripts/levels/courseD_artist_ramp13.level @@ -6,9 +6,8 @@ "user_id": 63, "properties": { "skin": "farmer", - "maze_data": null, - "contained_level_names": null, - "serialized_maze": "[[{\"tileType\":2},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0}],[{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0}],[{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0}],[{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0}],[{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0}],[{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0}],[{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0}],[{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0}]]" + "serialized_maze": "[[{\"tileType\":2},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0}],[{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0}],[{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0}],[{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0}],[{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0}],[{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0}],[{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0}],[{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0},{\"tileType\":0}]]", + "contained_level_names": null }, "published": true }]]> diff --git a/dashboard/config/scripts/levels/courseD_maze_ramp2.level b/dashboard/config/scripts/levels/courseD_maze_ramp2.level index 9b16d62f7f42d..186400bdf6385 100644 --- a/dashboard/config/scripts/levels/courseD_maze_ramp2.level +++ b/dashboard/config/scripts/levels/courseD_maze_ramp2.level @@ -7,7 +7,7 @@ "properties": { "maze": "[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,4,0,0,0,0,0],[0,2,1,1,3,4,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]]", "skin": "birds", - "instructions": "Drag an extra `move forward` block out of the toolbox to finish your code.", + "instructions": "Drag an extra `move forward` block out of the toolbox, then attach all blocks to `when run` to finish your code.", "start_direction": "1", "step_mode": "1", "is_k1": "false", @@ -28,12 +28,13 @@ "definition_collapse": "false", "disable_examples": "false", "authored_hints": "[{\"hint_class\":\"pointer\",\"hint_markdown\":\"To use a `move forward` block, drag it from the toolbox out into the workspace and connect it to the `when run` block.\",\"hint_id\":\"courseC_maze_programming2_a\",\"hint_type\":\"general\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/05df2a28a83595398cf3c2a1c2a2ec9f/courseC_maze_programming2.mp3\"}]", - "markdown_instructions": "Drag an extra `move forward` block out of the toolbox to finish your code.", + "markdown_instructions": "Drag an extra `move forward` block out of the toolbox, then attach all blocks to `when run` to finish your code.", "callout_json": "[\r\n {\r\n \"localization_key\": \"courseC_maze_programming2_1\",\r\n \"callout_text\": \"This is the toolbox. It’s where you’ll find extra blocks to complete your puzzles.\",\r\n \"element_id\": \"#toolbox-header\",\r\n \"on\": \"\",\r\n \"qtip_config\": {\r\n \"codeStudio\": {\r\n \"canReappear\": false,\r\n \"dropletPaletteCategory\": \"\"\r\n },\r\n \"style\": {\r\n \"classes\": \"\"\r\n },\r\n \"position\": {\r\n \"my\": \"left center\",\r\n \"at\": \"right center\",\r\n \"adjust\": {\r\n \"x\": 0,\r\n \"y\": 100\r\n }\r\n }\r\n }\r\n }\r\n]", "instructions_important": "false", "hide_share_and_remix": "false", "disable_if_else_editing": "false", - "contained_level_names": null + "contained_level_names": null, + "maze_data": null }, "published": true, "notes": "", diff --git a/dashboard/config/scripts/levels/courseE_artist_ramp10.level b/dashboard/config/scripts/levels/courseE_artist_ramp10.level new file mode 100644 index 0000000000000..85b69cedebe61 --- /dev/null +++ b/dashboard/config/scripts/levels/courseE_artist_ramp10.level @@ -0,0 +1,128 @@ + + \r\n\r\nDrag the code for the last triangle into a new loop to spin it around and make a snowflake!\r\n\r\n*(You will need to spin it 6 times at 60 degrees to get this pattern.)*", + "instructions_important": "true", + "is_k1": "false", + "skip_instructions_popup": "false", + "never_autoplay_video": "false", + "disable_param_editing": "true", + "disable_variable_editing": "false", + "use_modal_function_editor": "false", + "use_contract_editor": "false", + "contract_highlight": "false", + "contract_collapse": "false", + "examples_highlight": "false", + "examples_collapse": "false", + "examples_required": "false", + "definition_highlight": "false", + "definition_collapse": "false", + "disable_examples": "false", + "hide_share_and_remix": "false", + "disable_if_else_editing": "false", + "start_direction": "90", + "x": "200", + "y": "200", + "free_play": "false", + "impressive": "false", + "discard_background": "false", + "disable_sharing": "false", + "callout_json": "[]", + "ideal": "9", + "authored_hints": "[{\"hint_class\":\"pointer\",\"hint_markdown\":\"Don't forget to turn by 60 degrees after each triangle. Which loop do you need to put that instruction inside?\",\"hint_id\":\"courseD_artist_ramp10_a\",\"hint_type\":\"general\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/cb1f252c9933d6028e55386a5a63e0e3/courseE_artist_ramp10.mp3\"}]", + "contained_level_names": null + }, + "published": true, + "notes": "", + "level_concept_difficulty": { + } +}]]> + + + + + + + 3 + + + moveForward + 100 + + + turnRight + 120 + + + + + + + + + + + + + moveForward + 100 + + + turnRight + 60 + + + 6 + + + + + #843179 + + + + + + + + + + + 6 + + + 3 + + + moveForward + 100 + + + turnRight + 120 + + + + + + + turnRight + 60 + + + + + + + + + + + \ No newline at end of file diff --git a/dashboard/config/scripts/levels/courseE_artist_ramp8.level b/dashboard/config/scripts/levels/courseE_artist_ramp8.level new file mode 100644 index 0000000000000..49f56c4cb3c59 --- /dev/null +++ b/dashboard/config/scripts/levels/courseE_artist_ramp8.level @@ -0,0 +1,95 @@ + + \r\nEach side of the square has a length of 200 pixels, and you will need to turn 90 degrees to make each angle.", + "instructions_important": "true", + "is_k1": "false", + "skip_instructions_popup": "false", + "never_autoplay_video": "false", + "disable_param_editing": "true", + "disable_variable_editing": "false", + "use_modal_function_editor": "false", + "use_contract_editor": "false", + "contract_highlight": "false", + "contract_collapse": "false", + "examples_highlight": "false", + "examples_collapse": "false", + "examples_required": "false", + "definition_highlight": "false", + "definition_collapse": "false", + "disable_examples": "false", + "hide_share_and_remix": "false", + "disable_if_else_editing": "false", + "start_direction": "90", + "x": "100", + "y": "100", + "free_play": "false", + "impressive": "false", + "discard_background": "false", + "disable_sharing": "false", + "callout_json": "[\r\n {\r\n \"localization_key\": \"courseE_artist_ramp8_1\",\r\n \"callout_text\": \"You can change this number.\",\r\n \"element_id\": \"#callMe\",\r\n \"on\": \"\",\r\n \"qtip_config\": {\r\n \"codeStudio\": {\r\n \"canReappear\": false,\r\n \"dropletPaletteCategory\": \"\"\r\n },\r\n \"style\": {\r\n \"classes\": \"\"\r\n },\r\n \"position\": {\r\n \"my\": \"bottom left\",\r\n \"at\": \"top right\",\r\n \"adjust\": {\r\n \"x\": -90,\r\n \"y\": 30\r\n }\r\n }\r\n }\r\n },\r\n {\r\n \"localization_key\": \"courseE_artist_ramp8_2\",\r\n \"callout_text\": \"Click here to type in the number of times to repeat your code.\",\r\n \"element_id\": \"#callMe2\",\r\n \"on\": \"\",\r\n \"qtip_config\": {\r\n \"codeStudio\": {\r\n \"canReappear\": false,\r\n \"dropletPaletteCategory\": \"\"\r\n },\r\n \"style\": {\r\n \"classes\": \"\"\r\n },\r\n \"position\": {\r\n \"my\": \"left top\",\r\n \"at\": \"top right\",\r\n \"adjust\": {\r\n \"x\": -52,\r\n \"y\": 20\r\n }\r\n }\r\n }\r\n }\r\n]", + "ideal": "4", + "authored_hints": "[{\"hint_class\":\"content\",\"hint_markdown\":\"To draw a side, use the `move forward by 100 pixels` block, and change the 100 to a 200.\",\"hint_id\":\"courseE_artist_ramp8_a\",\"hint_type\":\"general\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/f7dee4f33e72fd361059694051cd2495/courseE_artist_ramp8.mp3\"},{\"hint_class\":\"content\",\"hint_markdown\":\"To draw 4 sides, put the `move forward by 100 pixels` block inside of a repeat loop and make sure the loop is set to draw 4 times.\\n\\nDon't forget to turn afterward!\",\"hint_id\":\"courseE_artist_ramp8_b\",\"hint_type\":\"general\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/e71bf27a2e0709a51b0c52ab66f32850/courseE_artist_ramp8.mp3\"}]", + "contained_level_names": null, + "video_key": "C2_artist_loops" + }, + "published": true, + "notes": "", + "level_concept_difficulty": { + } +}]]> + + + + + moveForward + 100 + + + turnRight + 90 + + + 3 + + + + + #843179 + + + + + + + + + + + 4 + + + moveForward + 200 + + + turnRight + 90 + + + + + + + + + + + \ No newline at end of file diff --git a/dashboard/config/scripts/levels/courseE_artist_ramp9.level b/dashboard/config/scripts/levels/courseE_artist_ramp9.level new file mode 100644 index 0000000000000..e5a3af3fa6530 --- /dev/null +++ b/dashboard/config/scripts/levels/courseE_artist_ramp9.level @@ -0,0 +1,94 @@ + + \r\nThe sides are each 100 pixels long. You will need to turn 120 degrees at each corner.", + "instructions_important": "true", + "is_k1": "false", + "skip_instructions_popup": "false", + "never_autoplay_video": "false", + "disable_param_editing": "true", + "disable_variable_editing": "false", + "use_modal_function_editor": "false", + "use_contract_editor": "false", + "contract_highlight": "false", + "contract_collapse": "false", + "examples_highlight": "false", + "examples_collapse": "false", + "examples_required": "false", + "definition_highlight": "false", + "definition_collapse": "false", + "disable_examples": "false", + "hide_share_and_remix": "false", + "disable_if_else_editing": "false", + "start_direction": "90", + "x": "150", + "y": "150", + "free_play": "false", + "impressive": "false", + "discard_background": "false", + "disable_sharing": "false", + "callout_json": "[]", + "ideal": "7", + "authored_hints": "[{\"hint_class\":\"pointer\",\"hint_markdown\":\"How is this similar to a square? How is it different?\",\"hint_id\":\"courseD_artist_ramp12_a\",\"hint_type\":\"general\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/89f1d45a6f7b107fd8a2bf6648c50237/courseE_artist_ramp9.mp3\"}]", + "contained_level_names": null + }, + "published": true, + "notes": "", + "level_concept_difficulty": { + } +}]]> + + + + + moveForward + 100 + + + turnRight + 90 + + + 3 + + + + + #843179 + + + + + + + + + + + 3 + + + moveForward + 100 + + + turnRight + 120 + + + + + + + + + + + \ No newline at end of file diff --git a/dashboard/config/scripts/levels/courseE_farmer_ramp11.level b/dashboard/config/scripts/levels/courseE_farmer_ramp11.level new file mode 100644 index 0000000000000..b7898528e5481 --- /dev/null +++ b/dashboard/config/scripts/levels/courseE_farmer_ramp11.level @@ -0,0 +1,88 @@ + + + + + + + + + + + + + turnRight + + + turnLeft + + + 5 + + + + + + + + + + 5 + + + + + 5 + + + + + + + + + + + + + + \ No newline at end of file diff --git a/dashboard/config/scripts/levels/courseE_farmer_ramp12.level b/dashboard/config/scripts/levels/courseE_farmer_ramp12.level new file mode 100644 index 0000000000000..508833cbc362e --- /dev/null +++ b/dashboard/config/scripts/levels/courseE_farmer_ramp12.level @@ -0,0 +1,86 @@ + + + + + + + + + + + + + turnRight + + + turnLeft + + + 5 + + + + + + + + + + 5 + + + + + 5 + + + + + + + + + + + + + + \ No newline at end of file diff --git a/dashboard/config/scripts/levels/courseE_farmer_ramp13.level b/dashboard/config/scripts/levels/courseE_farmer_ramp13.level index db31bdd99a841..61c245a0e3228 100644 --- a/dashboard/config/scripts/levels/courseE_farmer_ramp13.level +++ b/dashboard/config/scripts/levels/courseE_farmer_ramp13.level @@ -34,7 +34,9 @@ ] }, "published": true, - "notes": "" + "notes": "", + "level_concept_difficulty": { + } }]]> diff --git a/dashboard/config/scripts/levels/courseE_farmer_ramp14.level b/dashboard/config/scripts/levels/courseE_farmer_ramp14.level index 70fb909a1cc93..0be2c7778c867 100644 --- a/dashboard/config/scripts/levels/courseE_farmer_ramp14.level +++ b/dashboard/config/scripts/levels/courseE_farmer_ramp14.level @@ -34,7 +34,9 @@ ] }, "published": true, - "notes": "" + "notes": "", + "level_concept_difficulty": { + } }]]> diff --git a/dashboard/config/scripts/levels/courseE_maze_ramp2.level b/dashboard/config/scripts/levels/courseE_maze_ramp2.level index edb48111d4508..49eda946deaf9 100644 --- a/dashboard/config/scripts/levels/courseE_maze_ramp2.level +++ b/dashboard/config/scripts/levels/courseE_maze_ramp2.level @@ -7,7 +7,7 @@ "properties": { "maze": "[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,4,0,0,0,0,0],[0,2,1,1,3,4,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]]", "skin": "birds", - "instructions": "Drag an extra `move forward` block out of the toolbox to finish your code.", + "instructions": "Drag an extra `move forward` block out of the toolbox, then attach all blocks to `when run` to finish your code.", "start_direction": "1", "step_mode": "1", "is_k1": "false", @@ -28,12 +28,13 @@ "definition_collapse": "false", "disable_examples": "false", "authored_hints": "[{\"hint_class\":\"pointer\",\"hint_markdown\":\"To use a `move forward` block, drag it from the toolbox out into the workspace and connect it to the `when run` block.\",\"hint_id\":\"courseC_maze_programming2_a\",\"hint_type\":\"general\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/05df2a28a83595398cf3c2a1c2a2ec9f/courseC_maze_programming2.mp3\"}]", - "markdown_instructions": "Drag an extra `move forward` block out of the toolbox to finish your code.", + "markdown_instructions": "Drag an extra `move forward` block out of the toolbox, then attach all blocks to `when run` to finish your code.", "callout_json": "[\r\n {\r\n \"localization_key\": \"courseC_maze_programming2_1\",\r\n \"callout_text\": \"This is the toolbox. It’s where you’ll find extra blocks to complete your puzzles.\",\r\n \"element_id\": \"#toolbox-header\",\r\n \"on\": \"\",\r\n \"qtip_config\": {\r\n \"codeStudio\": {\r\n \"canReappear\": false,\r\n \"dropletPaletteCategory\": \"\"\r\n },\r\n \"style\": {\r\n \"classes\": \"\"\r\n },\r\n \"position\": {\r\n \"my\": \"left center\",\r\n \"at\": \"right center\",\r\n \"adjust\": {\r\n \"x\": 0,\r\n \"y\": 100\r\n }\r\n }\r\n }\r\n }\r\n]", "instructions_important": "false", "hide_share_and_remix": "false", "disable_if_else_editing": "false", - "contained_level_names": null + "contained_level_names": null, + "maze_data": null }, "published": true, "notes": "", diff --git a/dashboard/config/scripts/levels/courseE_maze_ramp4.level b/dashboard/config/scripts/levels/courseE_maze_ramp4.level index 787f23dc3886e..5b4c16dec4392 100644 --- a/dashboard/config/scripts/levels/courseE_maze_ramp4.level +++ b/dashboard/config/scripts/levels/courseE_maze_ramp4.level @@ -28,11 +28,12 @@ "disable_examples": "false", "authored_hints": "[{\"hint_class\":\"content\",\"hint_markdown\":\"You can turn right or left from the bird's point of view. If you are facing right, turning right will make you point downwards.\",\"hint_id\":\"courseC_maze_programming4_a\",\"hint_type\":\"general\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/78f7a5de9d06cfee703e11b4f0f4ce93/courseC_maze_programming4.mp3\"},{\"hint_class\":\"bottom-out\",\"hint_markdown\":\"To follow the path, move forward and turn one way, then move again and turn the opposite way. Move forward one more time to reach the pig.\",\"hint_id\":\"courseC_maze_programming4_b\",\"hint_type\":\"general\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/e8cc4873858c816b8c2a97391d372a78/courseC_maze_programming4.mp3\"}]", "markdown_instructions": "*\"Trace the path and lead me to the silly pig.\"* \r\n\r\nAvoid TNT or feathers will fly!", - "callout_json": "[\r\n {\r\n \"localization_key\": \"courseC_maze_programming4_1\",\r\n \"callout_text\": \"This is your block limit. It tells you how many of these blocks you have left to use.\",\r\n \"element_id\": \"#callMe\",\r\n \"on\": \"\",\r\n \"qtip_config\": {\r\n \"codeStudio\": {\r\n \"canReappear\": false,\r\n \"dropletPaletteCategory\": \"\"\r\n },\r\n \"style\": {\r\n \"classes\": \"\"\r\n },\r\n \"position\": {\r\n \"my\": \"top right\",\r\n \"at\": \"top left\",\r\n \"adjust\": {\r\n \"x\": 7,\r\n \"y\": 15\r\n }\r\n }\r\n }\r\n }\r\n]", + "callout_json": "[\r\n {\r\n \"localization_key\": \"courseC_maze_programming4_1\",\r\n \"callout_text\": \"This is your block limit. It tells you how many of these blocks you have left to use.\",\r\n \"element_id\": \"#callMe\",\r\n \"on\": \"\",\r\n \"qtip_config\": {\r\n \"codeStudio\": {\r\n \"canReappear\": false,\r\n \"dropletPaletteCategory\": \"\"\r\n },\r\n \"style\": {\r\n \"classes\": \"\"\r\n },\r\n \"position\": {\r\n \"my\": \"top center\",\r\n \"at\": \"top left\",\r\n \"adjust\": {\r\n \"x\": 7,\r\n \"y\": 15\r\n }\r\n }\r\n }\r\n }\r\n]", "instructions_important": "false", "hide_share_and_remix": "false", "disable_if_else_editing": "false", - "contained_level_names": null + "contained_level_names": null, + "maze_data": null }, "published": true, "notes": "", diff --git a/dashboard/config/scripts/levels/courseE_maze_ramp7.level b/dashboard/config/scripts/levels/courseE_maze_ramp7.level index 56bfde6180a8c..bbfc947e06d13 100644 --- a/dashboard/config/scripts/levels/courseE_maze_ramp7.level +++ b/dashboard/config/scripts/levels/courseE_maze_ramp7.level @@ -11,7 +11,7 @@ "step_mode": "1", "is_k1": "false", "skip_instructions_popup": "false", - "instructions": "**Challenge:** Get the bird to the pig!", + "instructions": "Use what you've learned to get the bird to the pig!", "ideal": "12", "never_autoplay_video": "false", "disable_param_editing": "true", @@ -26,7 +26,7 @@ "definition_highlight": "false", "definition_collapse": "false", "disable_examples": "false", - "authored_hints": "[{\"hint_class\":\"content\",\"hint_markdown\":\"Don't forget to use the \\\"Step\\\" button to go through block by block and look for errors.\",\"hint_id\":\"courseD_maze_ramp7_b\",\"hint_type\":\"general\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/c38b1ee74ef68dd1a5ce2efb5d1c1f46/courseD_maze_ramp7.mp3\"},{\"hint_class\":\"content\",\"hint_markdown\":\"Use repeat blocks to run either a single block or a chunk of code over and over.\",\"hint_id\":\"courseD_maze_ramp7_a\",\"hint_type\":\"general\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/7078b030e0e4326975a53a8b7ae7039f/courseD_maze_ramp7.mp3\"}]", + "authored_hints": "[{\"hint_class\":\"content\",\"hint_markdown\":\"Don't forget to use the \\\"Step\\\" button to go through block by block and look for errors.\",\"hint_id\":\"courseD_maze_ramp7_b\",\"hint_type\":\"general\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/c38b1ee74ef68dd1a5ce2efb5d1c1f46/courseE_maze_ramp7.mp3\"},{\"hint_class\":\"content\",\"hint_markdown\":\"Use repeat blocks to run either a single block or a chunk of code over and over.\",\"hint_id\":\"courseD_maze_ramp7_a\",\"hint_type\":\"general\",\"tts_url\":\"https://tts.code.org/sharon22k/180/100/7078b030e0e4326975a53a8b7ae7039f/courseE_maze_ramp7.mp3\"}]", "markdown_instructions": "*\"It's time to get angry!\"*\r\n\r\n**Challenge:** Use what you've learned to get the bird to the pig!", "callout_json": "[\r\n {\r\n \"localization_key\": \"courseD_maze_ramp7_1\",\r\n \"callout_text\": \"This is your first challenge puzzle! These are meant to be hard and may take several tries.\",\r\n \"element_id\": \"#prompt\",\r\n \"on\": \"\",\r\n \"qtip_config\": {\r\n \"codeStudio\": {\r\n \"canReappear\": false,\r\n \"dropletPaletteCategory\": \"\"\r\n },\r\n \"style\": {\r\n \"classes\": \"\"\r\n },\r\n \"position\": {\r\n \"my\": \"bottom center\",\r\n \"at\": \"top center\",\r\n \"adjust\": {\r\n \"x\": 0,\r\n \"y\": 0\r\n }\r\n }\r\n }\r\n }\r\n]", "instructions_important": "false", diff --git a/dashboard/config/scripts/levels/courseE_video_ramp1.level b/dashboard/config/scripts/levels/courseE_video_ramp1.level index c459082c2d2b7..6a5a75640b93a 100644 --- a/dashboard/config/scripts/levels/courseE_video_ramp1.level +++ b/dashboard/config/scripts/levels/courseE_video_ramp1.level @@ -11,6 +11,8 @@ "instructions_important": "false" }, "published": true, - "notes": "" + "notes": "", + "level_concept_difficulty": { + } }]]> diff --git a/dashboard/config/scripts/overview_design_mode.external b/dashboard/config/scripts/overview_design_mode.external index 6fcd0edc7f5bc..281ea57c23598 100644 --- a/dashboard/config/scripts/overview_design_mode.external +++ b/dashboard/config/scripts/overview_design_mode.external @@ -4,14 +4,10 @@ markdown < diff --git a/dashboard/config/scripts/overview_if_statements.external b/dashboard/config/scripts/overview_if_statements.external index b839847c33212..86fa6770cfaa3 100644 --- a/dashboard/config/scripts/overview_if_statements.external +++ b/dashboard/config/scripts/overview_if_statements.external @@ -1,28 +1,12 @@ name 'Overview: If Statements' markdown < - -A flow chart is a common visual that's used to represent the various paths of execution that your program might take. Many people use them to help plan. - -1. -This flow chart depicts a program executing one line after another until it gets to a point where it needs to make a decision. - -2. -In order to determine which path to take you state some **condition**. It should be a **Boolean expression** - something that evaluates to **true** or **false**. Here we have a simple **comparsion** of two values: the person's age and the number 18. - -3. The program does one thing if the condition is true, and something else if the condition is false. - -4. The program can continue a single thread of execution after the condition as well. - +# If Statement ## How If-statements work -`if` statements are the lines of code you need to change the flow while you're program is running. You can write code that *makes a decision that determines which lines of code should be run next.* +If statements allow you to *make a decision that determines which lines of code should be run next.* At the right is a diagram showing the elements of a basic `if` statement in JavaScript. diff --git a/dashboard/config/scripts/overview_onevent.external b/dashboard/config/scripts/overview_onevent.external index a2876d5f5f9b7..b097ac8161aa1 100644 --- a/dashboard/config/scripts/overview_onevent.external +++ b/dashboard/config/scripts/overview_onevent.external @@ -3,11 +3,9 @@ name 'Overview: onEvent' markdown <
@@ -30,27 +28,4 @@ Add code inside the function that you want to run when the user trigger ![](https://images.code.org/9b506faaaadf61338dc738a4eafb66b2-image-1476740205599.png) - -### Changing Screens with a "Click" - -It's important to understand in Event-Driven programming that: - -* **Users trigger events** - Events occur when users click a button, tap the screen, move the mouse, type a key on the keyboard, etc. -* **Events trigger code** - When an event occurs or "fires" it can be used to trigger a particular javascript function. - -App Lab's `onEvent` block is a type of event-handling function called an **Event Listener**. It wraps all of the setup up you need to do event handling into one command that has several parts. Here is an example with everything labeled: - - - -
- -

1. -Code to execute when callback function is triggered when the user clicks button1. In this case, simply move the turtle forward 25 pixels. Event handling code will typically be more than one line. This is just a simple example to start.

- -

2. -Notice that this function, unlike others we’ve seen, does not have a name. It is also called a callback function which is an odd term. A callback function is only different from a normal function in that you don't call it directly from your code. Instead a callback function is called by the system at the time the specified event occurs. Callback functions are a common pattern in a lot of event-driven programming.

-
- - -### You'll try this next! MARKDOWN diff --git a/dashboard/config/scripts/overview_setposition.external b/dashboard/config/scripts/overview_setposition.external index dd0118f63e360..501d1bfd18024 100644 --- a/dashboard/config/scripts/overview_setposition.external +++ b/dashboard/config/scripts/overview_setposition.external @@ -2,17 +2,13 @@ name 'Overview: setPosition' markdown < + -The little arrow on the right side mean that some of the parameters are optional. You can click the arrows to collapse or expand the available parameters. +You (perhaps obviously) need to plug actual numbers into these parameters of `setPosition` for it to have any effect. The numbers for setPosition **x and y coordinates of the screen**. - - -You (perhaps obviously) need to plug actual numbers into these parameters of `setPosition` for it to have any effect. The numbers for setPosition **x and y coordinates of the screen**. This is similar to the turtle's `moveTo(x,y)` command. - -**Remember:** +**Hints:** * 0,0 is the top left corner. * Specify a location by how many pixels from the **left and down** from the top of the screen it is. @@ -24,5 +20,4 @@ You (perhaps obviously) need to plug actual numbers into these parameters of `se - MARKDOWN