diff --git a/content/adventures/ta.yaml b/content/adventures/ta.yaml
new file mode 100644
index 00000000000..7245bfbbf30
--- /dev/null
+++ b/content/adventures/ta.yaml
@@ -0,0 +1,1094 @@
+adventures:
+ story:
+ name: கதை
+ description: கதை
+ levels:
+ 3:
+ example_code_2: "```\n{print} They hear a sound\nanimals {is} 🐿, 🦔, 🦇, 🦉\nanimal {is} {ask} What do you think it is?\n{add} animal {to_list} animals\n{print} it was an animals {at} {random}\n```\n"
+ example_code: "```\nanimals {is} 🦔, 🐿, 🦉, 🦇\n{print} They now hear the sound of an animals {at} {random}\n```\n"
+ example_code_3: "```\n{print} His backpack got way too heavy.\n{print} Inside were a bottle of water, a flashlight and a brick.\nbag {is} water, flashlight, brick\ndump {is} {ask} Which item should he dump?\n{remove} dump {from} bag\n```\n"
+ story_text: "In level 3 you can make your story more fun. You can use randomness for any monster, animal or other obstacle, like this:\n"
+ story_text_2: "The command `{add}` can also come in handy in your story.\n"
+ story_text_3: "This is an example of the `{remove}` command in your story\n\n### Exercise\nCopy your story from the previous levels into this level.\nIn this level you've learned 3 new commands `{at} {random}` , `{add} {to_list}` and `{remove} {from}`.\nAdd new lines of code to your story, so that all of the new commands are featured at least once in your story.\n"
+ 5:
+ example_code: "```\nname {is} {ask} 'Who is walking in the forest?'\n{print} name ' walks through the forest'\n{print} name ' encounters a monster'\nend {is} {ask} 'Would you like a good or a bad ending?'\n{if} end {is} good {print} name ' takes the sword and the monster quickly runs away'\n{else} {print} 'The monster eats ' name\n```\n"
+ story_text: "In this level you can program different endings, which will make your story even more fun.\nIn the example code you can see how to make 2 different endings.\n\n### Exercise 1\nWrite a new short story of at least 6 lines of code about a topic of your choosing.\nNo inspiration? Choose one of these topics: a superhero, a boring school day, stranded on a desert island.\n\nNow give the player a change to choose a happy or a bad end, just like in the example code.\nProgram both the endings.\n\n### Exercise 2\nCopy the story you've created in your own story adventure in the previous levels.\nFind a way to add at least 2 `{if}` and `{else}` commands to your story.\nThis can be with a happy or bad ending, but you can also try to find other ways to incoporate the commands.\n"
+ 10:
+ example_code: "```\nanimals = _ , _ , _ \n{print} 'Brown bear, Brown bear'\n{print} 'What do you see?'\n```\n"
+ story_text: "In this level you can use the {for} command in your story. In this way you could easily program the children's book 'Brown bear, Brown bear, what do you see'.\n\n### Exercise\n\nLook at the story if you do not know it, and make sure it is printed as in the book.\n"
+ 12:
+ example_code: "```\nname = 'The Queen of England'\n{print} name ' was eating a piece of cake, when suddenly…'\n```\n"
+ story_text: "In this level quotation marks will be needed to save multiple words in a variable.\n\n### Exercise\n\nFind a story from a previous level, any level is ok. Now make sure quotation marks are added in the right places."
+ 18:
+ story_text: "We are going to print another story, but now we have to use brackets with `{print}`.\n\n### Exercise 1\nCreate a story of at least 5 sentences. You don't have to use 'name' just yet.\n"
+ story_text_2: "### Exercise 2\nWe have already prepared an `{input}` for you. First, use the `name` variable in your story.\nThen add a second `{ask}` and use that variable as well.\nTip: Remember the commas in a `{print}` between text and variables!\n"
+ example_code: "```\n{print}('Welcome to this story!')\n```\n"
+ example_code_2: "```\nnaam = {input}(\"What's your name?\")\n{print}('Welcome to this story!')\n```\n"
+ 2:
+ story_text: "In level 2 you can make your story more fun. Your main character's name can now be anywhere in the sentence.\n\nYou do have to program a little bit extra for that. You must now name your main character first.\n\nYou can then put that name anywhere in a sentence.\n"
+ story_text_2: "### Exercise\nNow it's time to add variables to your own story that you've made in the previous level.\nGo to 'My programs', look for your level 1 story adventure and copy the code. Paste the code in your input screen in this level.\n\nThis code won't work in this level, because you have not used variables yet.\nChange the `{ask}` commands and `{echo}` commands in your code to the correct form that you've learned in this level.\n\n**Extra** Add a `{sleep}` command to your code to build up tension in your story.\n"
+ example_code: "```\nname {is} {ask} What is the name of the main character?\n{print} name is now going to run in the woods\n{print} name is a bit scared\n{print} Suddenly she hears a crazy noise...\n{sleep}\n{print} name is afraid this is a haunted forest\n```"
+ 9:
+ story_text: "In this level you can use `{if}` and `{repeat}` commands inside other `{if}` and `{repeat}` commands. \nThis gives you many options and really helps you to make your story interactive.\n\n### Exercise 1\nFinish the code so the `{if}` works correctly.\n\n### Exercise 2\nAdd an `{if}` and `{else}` for the part of the story where Robin goes home too.\n\n### Exercise 3\nGo back to your level 8 story and use at least two `{if}`s inside another `{if}`.\n"
+ example_code: "```\n{print} 'Robin is walking downtown'\nlocation = {ask} 'Is Robin going into a shop, or does she go home?'\n{if} location {is} shop\n {print} 'She enters the shop.'\n {print} 'Robin sees an interesting looking book'\n book = {ask} 'Does Robin buy the book?'\n {if} book {is} yes\n _ {print} 'Robin buys the book and goes home'\n _ {else}\n _ {print} 'Robin leaves the shop and goes home'\n{else}\n {print} 'Robin goes home'\n```\n"
+ 1:
+ story_text: "நிலை 1-இல், நீங்களே உருவாக்கிய வேறொரு முக்கிய கதாபாத்திரத்தைக் கொண்டு கதையை உருவாக்கலாம்.\n\nமுதல் வரியில், `{ask}` என்கிற கட்டளையைப் பயன்படுத்தி, கதையின் முக்கிய கதாபாத்திரம் யார் என்று கேட்கவும்.\n\nஅந்த முதல் வரிக்குப்பின், வாக்கியத்தை அச்சிட வேண்டுமானால் `{print}` என்ற \nகட்டளையைக் கொண்டு தொடங்கவும்.\nஉங்கள் முக்கிய கதாபாத்திரம் வாக்கியத்தின் முடிவில் இருக்க வேண்டுமெனில் `{echo}` என்ற கட்டளையைப் பயன்படுத்தவும்.\n"
+ example_code: "```\n{ask} The main character of this story is\n{print} The main character is now going to walk in the forest\n{echo} They're a bit scared,\n{print} They hear crazy noises everywhere\n{print} They're afraid this is a haunted forest\n```\n"
+ story_text_2: "### Exercise\nNow create your own story of at least 6 lines of code.\nThis story cannot be the same as the example code.\nUse at least one `{ask}` and one `{echo}` command.\nYou can make it about any topic you like.\nIf you can't think of a topic, use one of our choices: going to the movies, a sports match or a day at the zoo.\n"
+ 8:
+ story_text: "In this level you can use multiple lines in your `{if}` commands, this way you can upgrade your happy or sad ending!\n\n### Exercise 1\nThe example code shows two different endings; one where the characters jump in a time machine and one where they do not.\nComplete the blanks with at least one sentence per ending.\n**Extra** Make the story longer. What happens in the story? You can also add a second `{ask}` with different options.\n\n### Exercise 2\nGo back to your saved programs, choose your story program from level 5. Now write a good and a bad ending of at least three lines long each!\n"
+ example_code: "```\n{print} 'OH NO! The T-rex is closing in!'\nend = {ask} 'Do you want a happy or a sad ending?'\n{if} end {is} happy\n {print} 'Just in time Richard jumps back into the time machine!'\n {print} _\n{else}\n {print} 'Oh no! Richard is too slow...'\n {print} _\n```\n"
+ 4:
+ example_code: "```\nname {is} {ask} _ What is your name? _\n{print} _ The main character is called _ name\n_\n_\n{print} name _ is now going to walk in the woods _\n{print} name _ is a bit scared _\nanimals {is} 🦔, 🐿, 🦉, 🦇\n{print} _ He hears the sound of a _ animals {at} {random}\n{print} name _ is afraid this is a haunted forest _\n```\n"
+ story_text: "### Exercise\nCopy the example code and finish it by adding quotation marks on the blanks in lines 1 and 2.\nThe blanks in line 3 and 4 should not be replaced by quotation marks, but a `{sleep}` and a `{clear}` command. Can you make it work?\n\n### Exercise 2\nGo back to the previous level and copy your story code. Make the code work in this level by adding quotation marks in the right spots.\nMind: The variables in your own story should be outside of the quotation marks. Just like the second line of the example code. In that line the variable name is placed outside of the quotation marks.\n"
+ 7:
+ story_text: "In a story, someone says words several times. For example, when someone calls for help or sings a song.\nYou can put such repetitions in your story, in this level with `{repeat}`.\n\n### Exercise\nAdd repetition to your own story. Go back to your saved programs, choose your story program from a previous level and\nfind a line containing `{print}` and repeat it!\n"
+ example_code: "```\n{print} 'The prince kept calling for help'\n{repeat} 5 {times} {print} 'Help!'\n{print} 'Why is nobody helping me?'\n```\n"
+ 13:
+ story_text: "By using the `{and}` and `{or}` commands, you can make your stories more versatile. You can ask two questions and respond to the combination of answers.\n\n### Exercise 1\nLook at the example code and finish it. Then add at least 2 more `{if}` codes with `{and}` or `{or}`.\n\n### Exercise 2\nFind a story from a previous level, and add one `{and}` or `{or}`.\n"
+ example_code: "```\n{print} 'Our hero is walking through the forest'\n{print} 'The path splits two ways'\npath = {ask} 'Which path should she choose?'\nweapon = {ask} 'What weapon does she draw?'\n{if} path {is} 'left' {and} weapon {is} 'sword'\n _\n```\n"
+ 15:
+ story_text: "Using the `{while}` loop can make your stories more interesting. For example, you can use `{while} game == 'on'` so you can play until the game is over.\nOr you can use `{while} sword == 'lost'` so the player can't continue the game until they have found something.\n\n### Exercise\nThe example code shows you how to use the `{while}` loop in a story. Now **think of your own scenario** in which the player has to find something before they can continue.\n"
+ example_code: "```\nkeys = 'lost'\n{print} 'You are standing in your garden and you have lost your keys.'\n{print} 'Where do you want to look for them?'\n{print} 'You can choose: tree, flowerbed, rock, postbox'\n{while} keys == 'lost'\n location = {ask} 'Where do you want to look?'\n {if} location == 'flowerbed'\n {print} 'Here they are!'\n keys = 'found'\n {else}\n {print} 'Nope they are not at the ' location\n{print} 'Now you can enter the house!'\n```\n"
+ default_save_name: கதை
+ ask_command:
+ levels:
+ 1:
+ story_text: "## The ask command\nNow that you can use the `{print}` command, you are ready to learn the next command: `{ask}`. With the `{ask}` command, you can ask a question. Check it out:\n"
+ example_code_2: "```\n{print} Hello!\n{ask} What is your name?\n{echo} hello\n```\n"
+ story_text_3: "### Exercise\nTry out the `{ask}` and `{echo}` commands. Firstly, fill in the blanks to make this program work.\nThen ask 2 more questions using the `{ask}` command, after each `{ask}` use an `{echo}` to print the answer on the screen.\n"
+ example_code_3: "```\n_ How are you doing?\n_\n```\n"
+ example_code: "```\n{print} Hello!\n{ask} What is your name?\n```\n"
+ story_text_2: "## The `{echo}` command\nIf you want the computer to repeat the answer back to you, you can use the `{echo}` command. The answer will be echoed back at the end of the sentence, so in this example after hello.\n"
+ 2:
+ example_code_2: "```\nfavorite_animal {is} {ask} What is your favorite animal?\n{print} I like favorite_animal\n```\n"
+ story_text_2: "### Exercise\nIn the previous tab you have practised with setting variables with the `{is}` command.\nYou have created at least 3 variables and used them with a print command.\nNow, instead of setting the variables we want you to make the variables interactive, like we did in our example.\n\nCopy your code from the previous tab and make the variables interactive by using `{ask}` commands.\n"
+ example_code: "```\nname {is} {ask} What is your name?\n{print} Hello name\nage {is} {ask} How old are you?\n{print} name is age years old.\n```\n"
+ story_text: "## The ask command\nNow that we can use **variables** in our codes, we no longer need the `{echo}` command.\nWe can use variables to store the answers to our questions and this way we can use the answer to multiple questions in our codes.\nCheck it out:\n\nThis way your code is becoming interactive!\n"
+ 18:
+ story_text: The final change we will need to make to get Python code is changing `{ask}` into `{input}`.
+ example_code: "```\n{print}('My name is Hedy!')\nname = {input}('What is your name?')\n{print}('So your name is ', name)\n```\n"
+ description: Introduction {ask} command
+ name: '{ask}'
+ default_save_name: ask_command
+ and_or_command:
+ default_save_name: and or
+ name: '{and} & {or}'
+ levels:
+ 13:
+ example_code: "```\nname = {ask} 'what is your name?'\nage = {ask} 'what is your age?'\n{if} name {is} 'Hedy' {and} age {is} 2\n {print} 'You are the real Hedy!'\n```\n"
+ story_text: "We are now going to learn `{and}` and `{or}`! If you want to check two statements, you don't have to use two `{if}`s but can use `{and}` and `{or}`.\n\nIf you use `{and}`, both statements, left and right of the `{and}` need to be true. We can also use `{or}`. Then only one statement needs to be correct."
+ description: introducing {and} & {or}
+ blackjack:
+ description: Try to get as close to 21 as you can
+ default_save_name: Blackjack
+ levels:
+ 17:
+ story_text: "Blackjack is a simple game of cards in which you have to get as close to 21 points as possible. You get two cards. Each card is worth their numeral value, and the face cards (Jack, Queen and King) are worth 10 points.\nThe Ace is worth either 1 or 11 points (you can choose). The dealer, your opponent, also gets two cards.\nIf you want, you can get another card, and its points will be added to your total. The dealer can also choose to take another card.\nBut be careful not to get more than 21 points, because if you do, you lose!\nThe player who gets closest to 21, without going over it, wins!\n\n### Exercise\nIn this adventure we code the first part of our Blackjack game. We'll create a function to calculate how many points a card is worth.\n\n***Set the variables***\nStart by making a list of all the cards, from 2 to Ace. Next make a list of the face cards, so Jack, Queen and King. Then pick a random card from the list of cards to be card_1.\n\n***Create a function to calculate the points***\nCreate a function that calculates how many points a card is worth.\nAll the face cards are worth 10 points, the Ace is worth 11 and all the other cards are worth their numeral.\nReturn the variable `points` at the end of the function.\n\n***Test the function***\nTest if your function is working properly. Finish the first print command by filling in which card you've drawn. Then finish the second line by calling the function with card_1.\nRun the code a couple of times. Are you happy with the results? Great! Then you can remove the testing part and move on the the next tab!\n"
+ example_code: "```\n{print} 'BLACKJACK'\n\n# Set these variables\ncards = _\nface_cards = _\ncard_1 =\n\n# Create a function to calculate the points\n{define} calculate_points {with} card:\n {if} card {in} face_cards:\n points = _\n {elif} _\n _\n {else}:\n _\n _ points\n\n# Test your function\n{print} 'Your card is a ' _\n{print} 'That is worth ' _ ' points'.\n```\n"
+ name: Blackjack
+ blackjack_2:
+ description: Blackjack part 2
+ default_save_name: Blackjack_2
+ name: Blackjack 2
+ levels:
+ 17:
+ story_text: "### Exercise\nIn this adventure we code the second part of our Blackjack game.\n\n***Paste your code from the previous adventure***\nIn the previous adventure you've started a list of variables and created a function to calculate how many points a card is worth. Copy your code and paste it here. Mind that you don't need the testing part, so if you haven't removed that yet, please do so now.\n\n***Add more variables***\nYou have already set the lists `cards` and `face_cards` and the variable `card_1`. Underneath those variables create 3 more variables: `card_2`, dealer_card_1` and `dealer_card_2`. These variables are all set to a random card from the list of cards.\n\n***Add up points***\nTo calculate how many points you have scored we call the function with card 1 and we do it again for card 2. Then we add both these scores together to get your total.\nDo the same thing for the dealers points, but be sure to use the dealer's cards and not your own!\n\n***2 Aces***\nYou're doing great! Almost all scores can be calculated now. There is only one exception: 2 Aces. If you get 2 Aces, your total is 12 points and not 22 (because 22 points would be losing!). This of course also goes for the dealer.\n\n***Show the score***\nLastly, you want to tell the program to tell you which cards you have drawn and how many points that is. Then show which cards the dealer has and how many points they have.\n\n***Continue in the next tab***\nGreat! You have finished this part of the game! Copy your code and go to the next tab to learn how to ask for an extra card and to declare a winner.\n"
+ example_code: "```\n# Paste your code from the previous adventure here\n\n# Add these variables to the list of variables\ncard_2 = _\ndealer_card_1 = _\ndealer_card_2 = _\n\n# Add up your points\nyour_points_1 = {call} _ {with} card_1\nyour_points_2 = _\nyour_total = _\n\n# Add up the dealers points\ndealer_points_1 = _\n_\n_\n\n# 2 Aces\n{if} card_1 == 'Ace' {and} _\n your_total = 12\n{if} dealer_card_1 _\n dealer_total = _\n\n# Show the score\n{print} 'You have drawn a ' _ ' and a ' _ '. That is ' _ ' points'\n{print} 'The dealer has drawn a ' _ ' and a ' _ '. That is ' _ ' points'\n```\n"
+ blackjack_3:
+ description: Blackjack part 3
+ default_save_name: Blackjack_3
+ name: Blackjack 3
+ levels:
+ 17:
+ story_text: "In the previous tabs you have learned how to draw 2 random cards for yourself and for the dealer and to calculate how many points you both got.\nIn this adventure we add the option to ask for an extra card for both you and the dealer.\n\n### Exercise\n***Paste your code from the previous adventure*** Firstly, copy your code from the previous tab and paste it here.\n\n***Extra card for you*** If you want, you can get an extra card to get your total as close to 21 as possible. First ask the player if they want an extra card.\nIf they do, pick a random card and print what they have drawn. If the card is not an Ace, you can call the function and add the points to your total.\nIn case the card is an Ace, you can't use the function, because the Ace can be either 1 point or 11 points, depending on how many points you already have earned.\nIf your total is less than 11, you want the ace to be 11 points (because this is closest to 21). So you add 11 points to your total.\nIf the total is more than or equal to 11, you want the ace to be 1 point (because you don't want more than 21 points). So you add 1 point to your total.\nLastly, print your new total of points.\n\n***Extra card for the dealer*** The dealer can also get an extra card. The dealer doesn't need to be asked, because they always get an extra card if their total is less than 17.\nCopy the 'Extra card for you code' and paste it in the dealers section. Then change it to fit the dealer picking an extra card and getting points added to their total.\n"
+ example_code: "```\n# Paste your code from the previous adventure here\n\n# Extra card for you\nhit = {ask} _\n{if} hit == 'yes':\n card_3 = _\n {print} _\n {if} card_3 _ 'Ace':\n your_points_3 = _\n your_total = _\n {else}:\n {if} your_total _\n _\n {else}:\n _\n {print} _\n\n# Extra card for the dealer\n{if} dealer_total < 17\n_\n```\n"
+ calculator:
+ name: Calculator
+ levels:
+ 6:
+ story_text_3: "**Extra** You can also let the computer do random products on its own using `{random}`.\n"
+ example_code_3: "```\nnumbers = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10\nnumber_1 = _\nnumber_2 = _\ncorrect_answer = number_1 * number_2\ngiven_answer = {ask} 'What is ' number_1 ' times ' number_2 '?'\n{if} _\n{else} _\n```"
+ story_text_2: "### Exercise\nThe calculator above will calculate the answer for you, but you can also make a program to test your own maths skills, like this:\nFill in the blanks to make it complete!\n"
+ story_text: "Now that you can do maths, you can make a calculator yourself!\n"
+ example_code: "```\nnumber_1 = {ask} 'Fill in the first number:'\nnumber_2 = {ask} 'Fill in the second number:'\ncorrect_answer = number_1 * number_2\n{print} number_1 ' times ' number_2 ' is ' correct_answer\n```\n"
+ example_code_2: "```\ncorrect_answer = 11 * 27\nanswer = {ask} 'How much is 11 times 27?'\n{if} answer {is} _ {print} 'good job!'\n{else} {print} 'Wrong! It was ' _\n```\n"
+ 10:
+ example_code: "```\nnumbers = 1, 2, 3\n{for} _\n {for} _\n answer = {ask} _\n correct = number_1 * number_2\n {if} answer {is} correct\n {print} 'Great job!'\n {else}\n {print} 'That is wrong. The right answer is ' correct\n```\n"
+ story_text: "This calculator game helps you practise your tables of multiplication!\n### Exercise\nFill in the blanks. We want this program to ask the player these questions:\n```\nHow much is 1 times 1?\nHow much is 1 times 2?\nHow much is 1 times 3?\nHow much is 2 times 1?\nHow much is 2 times 2?\nHow much is 2 times 3?\nHow much is 3 times 1?\nHow much is 3 times 2?\nHow much is 3 times 3?\n_\n```\n"
+ 13:
+ example_code: "```\nanswer1 = {ask} 'What is 10 times 7?'\nanswer2 = {ask} 'What is 6 times 7?'\n{if} _ _ _ _ _ _ _\n {print} _\n```\n"
+ story_text: "### Exercise 1\nLet's make the practice program a bit harder. The player now has to answers two questions correctly. Fill out the blanks to complete the program.\n\n### Exercise 2\nSometimes, calculations have multiple correct answers. For example, 10 can be divided by 5 and by 2. So the question 'What number divides 10?' can be answered by 2 and by 5.\nAsk for a calculation that has multiple correct answers, ask the player to answer it, and determine if it is correct using `{or}`.\nEmpty the programming field and create your own solution.\n"
+ 14:
+ example_code: "```\n{define} calculate_mean_grade\n total = 0\n {for} i {in} {range} 1 {to} 4\n grade = {ask} _\n total = total + _\n {return} _ / 4\n\nmean_grade = {call} _\n{print} 'Your mean grade is ' mean_grade\n```\n"
+ story_text: "In this adventure you will build a calculator that calculates your mean grade for you. If you get your calculator to work, you can move on to the next adventure, which allows you to add two extra features.\n\n### Exercise 1\nFill in the blanks to get the calculator to work.\n* Start with the fourth line, add a question to figure out what grade the student got.\n* In the fifth line you'll want to calculate the total of all grades, so the total = total + grade.\n* Then we get to set the return value. We want to return the mean, so the total devided by the amount of tests (4).\n* Lastly we finish the code by calling the function in line 8.\n\nDid you get it? Awesome! Would you like to add even more to your calculator? **This adventure continues in the next tab!**\n"
+ 9:
+ story_text: "In a previous level, you've created a calculator. In this level, you can expand that code so it asks multiple questions.\n\n### Exercise 1\nCan you finish line 10 to get the code to work?\n\n### Exercise 2\nGive the player feedback when they enter an answer, like `{print} 'Correct!'` or `{print} 'Wrong! The correct answer is ' correct_answer`.\n"
+ example_code: "```\nscore = 0\n{repeat} 10 {times}\n numbers = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10\n number_1 = numbers {at} {random}\n number_2 = numbers {at} {random}\n correct_answer = number_1 * number_2\n {print} 'What is ' number_1 ' times ' number_2 '?'\n answer = {ask} 'Type your answer here...'\n {print} 'Your answer is ' answer\n {if} _ {is} _\n score = score + 1\n{print} 'Great job! Your score is... ' score ' out of 10!'\n```\n"
+ 12:
+ story_text: "In this level, you can make a calculator that works for decimal numbers.\n\n### Exercise 1\nFill out the blanks to complete the calculator. Remember to use a period and not a comma for decimal numbers.\n\n### Exercise 2\nCreate a new mathematics practice program, but now use decimal numbers.\nCreate a list of numbers, choose two to multiple and let the player answer.\nAnd of course you have to validate the answer! **Extra** Increase the difficulty by adding lives: A player loses a life for a wrong answer and after three wrong answers the game ends.\n"
+ example_code: "```\nnumber1 = {ask} 'What is the first number?'\nnumber2 = {ask} 'What is the second number?'\nanswer = _\n{print} number1 ' plus ' number2 ' is ' _\n```\n"
+ 15:
+ example_code: "```\n{define} new_question\n numbers = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10\n number_1 = numbers {at} {random}\n number_2 = numbers {at} {random}\n correct = number_1 * number_2\n answer = 0\n _\n _\n _\n {print} 'Well done!'\n\n{print} 'Give 10 correct answers to win!'\n{for} i {in} {range} 1 {to} 10\n _\n{print} 'You win!'\n```\n"
+ story_text: "You can add the `{while}` loop to the calculator game you've learned to make in a previous level.\nThis makes sure the player can't continue to the next question if they answer incorrectly.\n\n### Exercise\nAdd the `{while}` loop in the function, ask the player what number_1 times number_2 is and print their answer.\nThen `{call}` the function.\n"
+ 11:
+ story_text: "With a `{for}` you can simplify tables of multiplication practise program.\n\n### Exercise 1\nImprove the example code such that it prints a nice multiplication table:
\"1 times 10 is 10\", \"2 times 10 is 20\", etc.\n\n### Exercise 2\nGo back to your level 10 multiplication code, and modify it so that it uses a `{for}` and `{range}`.\n"
+ example_code: "```\nnumber = 10\n{for} i {in} {range} 1 {to} 10\n {print} i * number\n```\n"
+ default_save_name: Calculator
+ description: Create a calculator
+ calculator_2:
+ name: Calculator 2
+ levels:
+ 14:
+ story_text: "### Exercise 2\n**This is the second part of this adventure.** The adventure starts in the previous tab.\nOf course, you don't always want to calculate the mean of 4 tests. You might want to calculate the mean of 10 tests or only 2...\nWe can fix this problem by adding the argument and variable 'amount_of_tests'.\n* Start a new line on line 3. Set the amount_of_tests argument by asking the student how many tests they have made.\n* Change the 4 in line 4 to the new argument amount_of_tests.\n* Lastly, change the 4 in line 6 to amount_of_tests\n\nTry out your new program. Does it work?\n\n### Exercise 3\nDid you want to make your program even better? Great! In the previous program you could only calculate the mean grade of 1 subject, but it would be better if you could calculate the mean grade for all subjects you want!\nWe won't tell you how to do it, but we will give you one tip: Start your code in line 1 with: define calculate_mean_grade with subject.\n"
+ example_code: "```\n# Use your own code from the previous adventure.\n```\n"
+ default_save_name: Calculator 2
+ description: Calculator 2
+ clear_command:
+ default_save_name: clear_command
+ description: '{clear} command'
+ levels:
+ 4:
+ example_code: "```\n{print} '3'\n{clear}\n{print} '2'\n{clear}\n{print} '1'\n{clear}\n{print} 'wait for it...'\n{sleep} 3\n{clear}\n{print} 'SURPRISE!'\n```\n"
+ story_text: "Time for a new command! With `{clear}` you can clear all the text form your output screen. This way you can prevent your screen getting too full of text.\nBeware! If you are using a `{clear}` command, you might need to use a `{sleep}` above it. Otherwise Hedy will clear your screen without giving you the time to read as you can see in the example!\n"
+ name: '{clear}'
+ debugging:
+ name: debugging
+ default_save_name: debugging
+ levels:
+ 2:
+ example_code: "**Warning! This code needs to be debugged!**\n```\ndestination {ask} Where are you going on holidays?\n{print} The flight to dstination leaves at 3 pm.\n{ask} Did you check in your luggage yet?\n{echo}\n{print} Let me print your boarding pass for you.\n{sleep}\nHere you go! Have a nice trip!\n```\n"
+ story_text: "Welcome to a debugging adventure. Debugging a code means getting rid of mistakes in the code.\nThat means that in these debugging adventures, we will give you a code that does not work yet.\nYou will have to figure out what's wrong and correct the mistakes.\n\n### Exercise\nDebug this code. Good luck!"
+ 3:
+ story_text: "Welcome to a debugging adventure. Debugging a code means getting rid of mistakes in the code.\nThat means that in these debugging adventures, we will give you a code that does not work yet.\nYou will have to figure out what's wrong and correct the mistakes.\n\n### Exercise\nDebug this code. Good luck!"
+ example_code: "**Warning! This code needs to be debugged!**\n```\nmovie_choices {is} dracula, fast and furious, home alone, barbie\nchosen_movie {is} movies {at} {random}\n{print} Tonight we will watch chosen _movies\nlike {ask} Do you like that movie?\n{print} Tomorrow we will watch something else.\n{add} chosen_movie {to_list} movie_choices\n{print} Tomorrow we will watch tomorrows_movie\ntomorrows_movie {is} movie_choices {at} {random}\nI'll go get the popcorn! {print}\n```\n"
+ 4:
+ story_text: "### Exercise\nDebug this code. Good luck!"
+ example_code: "**Warning! This code needs to be debugged!**\n```\n{print} 'Welcome to the online library!\n{ask} What genre of books do you like?\n{print} You like genre\nauthor {is} {ask} 'Who's your favorite author?'\n{print} 'author is your favorite author'\n{print} Hmmm... i think you should try... books {at} {random}\n```\n"
+ 5:
+ story_text: "### Exercise\nDebug this code. Good luck!"
+ example_code: "**Warning! This code needs to be debugged!**\n```\n{print} Welcome to Swimming Pool Hedy!\nclass {is} {ask} 'Are you here to join a class today?'\n{if} class yes\n{print} 'Great! You're joining a class!\n{print} {else} 'You will not be joining a class'\ndiscount {is} 'Do you have a discount code?'\n{if} discount {is} yes\ndiscount_answer {is} {ask} 'What's your discount code?'\ndiscount_codes = Senior4231, Student8786, NewMember6709\n{if} discount_answer {is} {in} discount_cods\n{print} 'That will be $3,50'\n'That will be $5,50'\n{print} 'Have a nice swim!'\n```\n"
+ 6:
+ story_text: "### Exercise\nDebug this code. Good luck!"
+ example_code: "**Warning! This code needs to be debugged!**\n```\n{print} 'Vending machine'\nchosen_product = {ask} 'Please select a product'\n1_dollar_products = coke orange juice water\n2_dollar_products = chocolate, cookie, museli bar\n3dollar_prodcuts = potato chips, beef jerky, banana bread\n{if} chosen {is} {in} 1_dollar_products\nprice = 1\n{if} chosen_product {is} 2_dollar_products\nprice = 2\n{else} chosen_product {in} 3_dollar_products\nprice = 3\namount_of_products = '{ask} How many of ' chosen_product would you like to have?'\ntotal = price + amount_of_product\n{print} 'That will be $' price 'please'\n```\n"
+ 8:
+ story_text: "### Exercise\nDebug this code. Good luck!"
+ example_code: "**Warning! This code needs to be debugged!**\n```\n{print} 'Welcome to Manicures and Pedicures by Hedy'\nbodypart = {ask} 'Are you getting your fingernails or toenails done today? Or both?'\n{if} bodyparts {is} both\n {print} That will be $25'\n price = 25\n {else}\n {print} That will be $18'\n price = 18\ncolor = {ask} What color would you like?\nsparkles = {ask} 'Would you like some sparkles with that?'\n{if} sparkles {is} yes\n {print} 'We charge $3 extra for that'\nprice = price + 3\n{else} {print} 'No sparkles' {print} 'So no extra charge'\n{sleep} 5\n{print} 'All done! That will be $' price ' please!'\n{print} 'Thank you! Byebye!'\n```"
+ 12:
+ story_text: "### Exercise\nDebug this code. Good luck!"
+ example_code: "**Warning! This code needs to be debugged!**\n```\n{define} greet\ngreetings = 'Hello', 'Hi there', 'Goodevening'\n {print} greetings {at} {random}\n\n{define} take_order\n food = {ask} 'What would you like to eat?'\n {print} 'One food'\n drink = 'What would you like to drink?'\n {print} 'One ' drink\n more = {ask} 'Would you like anything else?'\n {if} more {is} 'no'\n {print} 'Alright'\n {else}\n {print} 'And ' more\n{print} 'Thank you'\n\n{print} 'Welcome to our restaurant'\npeople = {ask} 'How many people are in your party tonight?'\n{for} i {in} {range} 0 {to} people\n {call} greet_costumer\n```\n"
+ 13:
+ story_text: "### Exercise\nDebug this code. Good luck!"
+ example_code: "**Warning! This code needs to be debugged!**\n```\n{define}movie_recommendation {with} name\n action_movies == 'Die Hard', 'Fast and Furious', 'Inglorious Bastards'\n romance_movies = 'Love Actually', 'The Notebook', 'Titanic'\n comedy_movies = 'Mr Bean' 'Barbie''Deadpool'\n kids_movies = 'Minions', 'Paddington', 'Encanto'\n {if} name {is} 'Camila' {or} name {is} 'Manuel'\n recommended_movie = kids_movie {at} {random}\n {if} name {is} 'Pedro' {or} 'Gabriella'\n mood = {ask} 'What you in the mood for?'\n {if} mood {is} 'action'\n recommended_movie = comedy_movies {at} {random}\n {if} mood {is} 'romance'\n recommended_movie = romance_movies\n {if} mood {is} 'comedy'\n recommended_movie = comedy_movies {at} {random}\n\n{print} 'I would recommend ' recommended_movie ' for ' name\n\nname = {ask} 'Who is watching?'\nrecommendation = {ask} 'Would you like a recommendation?'\n{if} recommendaion {is} 'yes'\n{print} movie_recommendation {with} name\n{else}\n{print} 'No problem!'\n```\n"
+ 15:
+ story_text: "### Exercise\nDebug this random children's story. Good luck!"
+ example_code: "**Warning! This code needs to be debugged!**\n```\nnames = 'Tanya', 'Romy', 'Kayla', 'Aldrin', 'Ali'\nverbs='walking', 'skipping', 'cycling', 'driving', 'running'\nlocations = 'on a mountaintop', 'in the supermarket', 'to the swimming pool'\nhiding_spots = 'behind a tree', under a table', in a box'\nsounds = 'a trumpet', 'a car crash', 'thunder'\ncauses_of_noise = 'a television', 'a kid with firecrackers', 'a magic elephant', 'a dream'\n\nchosen_ name = names {at} {random}\nchosen_verb = verbs {at} {random}\nchosen_location = 'locations {at} {random}'\nchosen_sounds = noises {at} {random}\nchosen_spot = hiding_spots {random}\nchosen_causes = causes_of_noise {at} {random}\n\n{print} chosen_name ' was ' chosen_verb ' ' chosen_location\n{print} 'when they suddenly heard a sound like ' sounds {at} {random}\n{print} chosen_name ' looked around, but they couldn't discover where the noise came from'\n{print} chosen_name ' hid ' chosen_spot'\n{print} 'They tried to look around, but couldn't see anything from there'\nhidden = 'yes'\n{while} hidden = 'yes'\n {print} chosen_name 'still didn't see anything'\nanswer = {ask} 'does ' chosen_name ' move from their hiding spot?'\n {if} answer = 'yes'\n hidden == 'no'\n{print} 'chosen_name moved from' chosen_spot\n{print} 'And then they saw it was just' chosen_cause\n{print} chosen_name 'laughed and went on with their day'\n{print} The End\n```\n"
+ 17:
+ story_text: "### Exercise\nDebug this code. Good luck!"
+ example_code: "**Warning! This code needs to be debugged!**\n```\n{define} food_order\n toppings = {ask} 'pepperoni, tuna, veggie or cheese?'\n size = {ask} 'big, medium or small?'\n number_of_pizza = {ask} 'How many these pizzas would you like?'\n\n {print} 'YOU ORDERED'\n {print} number_of_pizzas ' size ' topping ' pizza'\n\n{define} drinks_order\n drink = {ask} 'water, coke, icetea, lemonade or coffee?'\n number_of_drinks = {ask} 'How many of these drinks would you like?'\n\n {print} 'YOU ORDERED'\n {print} number_of_drinks ' ' drink\n\n'Welcome to Hedy pizza'\nmore_food = {ask} 'Would you like to order a pizza?'\n{while} more_food = 'yes'\n {return} food_order\n more_food = {ask} 'Would you like to order a pizza?'\nmore_drinks = {ask} 'Would you like to order some drinks?'\n{while} more_drinks == 'yes'\n {call} drink_order\n more_drinks == {ask} 'Would you like to order more drinks?'\n\n\n{print} 'Thanks for ordering!'\n```\n"
+ 11:
+ story_text: "### Exercise\nDebug this calendar program. The output of this program is supposed to look like a list of dates.\nFor example:\n\n```\nHedy calendar\nHere are all the days of November\nNovember 1\nNovember 2\nNovember 3\n```\nAnd so on.\n\nMind that you have to test your code extra carefully for the month February, because the amount of days in this month changes in leap years."
+ example_code: "**Warning! This code needs to be debugged!**\n```\n{print} 'Hedy calendar'\nmonths_with_31 days = January, March, May, July, September, October, December\nmonths_with_30_days = April, June, August, November\nmonth = {ask} 'Which month would you like to see?'\n{if} month {in} months_with_31_days\n days = 31\n {if} month {in} months_with30_days\n days = 30\n{if} month = February\n leap_years = 2020, 2024, 2028, 2036, 2040, 2044, 2028\n year = {ask} 'What year is it?'\n{if} year {in} leap_years\n days = 29\n{else}\n days = 28\n\n{print} 'Here are all the days of ' moth\n{for} i {in} {range} 1 {to} days\n {print} month i\n```\n"
+ 10:
+ story_text: "### Exercise\nDebug this code. Good luck!"
+ example_code: "**Warning! This code needs to be debugged!**\n```\nnames = Muad Hasan Samira Noura\nactivities = fly a kite, go swimming, go hiking, catch tan in the sun\n{for} name {is} names\n{print} At the beach name loves to activity {at} {random}\n```\n"
+ 14:
+ example_code: "**Warning! This code needs to be debugged!**\n```\n{define} calculate_heartbeat\n {print} 'Press your fingertips gently against the side of your neck'\n {print} '(just under your jawline)'\n {print} 'Count the number of beats you feel for 15 seconds'\n beats == {ask} 'How many beats do you feel in 15 seconds?'\n heartbeat = beats*4\n {print} 'Your heartbeat is ' heartbeat\n {if} heartbeat >= 60 {or} heartbeat <= 100\n {print} 'Your heartbeat seems fine'\n {else}\n {if} heartbeat > 60\n {print} 'Your heartbeat seems to be too low'\n {if} heartbeat < 100\n {print} 'Your heartbeat seems to be too high'\n {print} 'You might want to contact a medical professional'\n\nmeasure_heartbeat = {ask} 'Would you like to measure your heartbeat?'\n{if} measure_heartbeat = 'yes'\n {call} measure_heartbeat\n{else}\n 'no problem'\n```\n"
+ story_text: "### Exercise\nDebug this code. Good luck!"
+ 1:
+ story_text: "Welcome to a debugging adventure. Debugging a code means getting rid of mistakes in the code.\nThat means that in these debugging adventures, we will show you code that does not work yet.\nYou will have to figure out what's wrong and correct the mistakes.\n\n### Exercise\nDebug this code. Good luck!"
+ example_code: "**Warning! This code needs to be debugged!**\n```\n{print} I love programming\nDo you love programming too?\n{echo}\n{print} What are your hobbies?\n{echo} Your hobbies are\n```\n"
+ 18:
+ story_text: "### Exercise\nDebug this Old MacDonald program from level 16. Good luck!"
+ example_code: "**Warning! This code needs to be debugged!**\n```\nanimals = ['pig', 'dog', 'cow']\nsounds = ['oink', 'woof', 'moo']\n{for} i {in} {range} 1 {to} 3\n animal = animals[i]\n sound = sounds[i]\n {print} 'Old MacDonald had a farm'\n {print} 'E I E I O!'\n {print} 'and on that farm he had a ' animal\n {print} 'E I E I O!'\n {print} 'with a ' sound sound ' here'\n {print} 'and a ' sound sound ' there'\n {print} 'here a ' sound\n {print} 'there a ' sound\n {print} 'everywhere a ' sound sound\n```\n"
+ 7:
+ example_code: "**Warning! This code needs to be debugged!**\n```\nAre you sleeping?\nBrother John!\nMorning bells are ringing!\nDing, dang, dong!\n```\n"
+ story_text: "### Exercise\nSurprise! This program looks more like an output than a code. And yet, we don't want you to just add `{print}` commands in front of each line.\nFix this program to turn it into the nursery rhyme 'Brother John (Frère Jacques)' by using the {repeat} command of course!"
+ 16:
+ story_text: "### Exercise\nDebug this code. Good luck!\nTip: Make sure that you only see your score once in the end."
+ example_code: "**Warning! This code needs to be debugged!**\n```\ncountry = ['The Netherlands', 'Poland', 'Turkey', 'Zimbabwe', 'Thailand', 'Brasil', 'Peru', 'Australia', 'India', 'Romania' ]\ncapitals = 'Amsterdam', 'Warshaw' 'Istanbul', 'Harare', 'Bangkok', 'Brasilia', 'Lima', 'Canberra', 'New Delhi', 'Bucharest'\nscore = 0\n{for} i {in} {range} 0 {to} 10\n answer = {ask} 'What's the capital of ' countries[i]\n correct = capital[i]\n {if} answer = correct\n {print} 'Correct!'\n score = score + 1\n {else}\n {print} 'Wrong,' capitals[i] 'in the capital of' countries[i]\n {print} 'You scored ' score ' out of 10'\n\n```\n"
+ 9:
+ story_text: "### Exercise\nDebug this code. Good luck!"
+ example_code: "**Warning! This code needs to be debugged!**\n```\n{print} 'Welcome to our sandwich shop'\namount 'How many sandwiches would you like to buy?'\n{repeat} amount {times}\n{ask} {is} {ask} 'What kind or bread would you like your sandwich to be?'\ntypes_of_bread {is} white, wheat, rye, garlic, gluten free\n{if} chosen_bread in types_of_bread\n{print} 'Lovely!'\n{else}\n'I'm sorry we don't sell that'\ntopping {is} {ask} 'What kind of topping would you like?'\nsauce {is} {ask} 'What kind of sauce would you like?'\n{print} One chosen_bread with topping and sauce.\nprice = amount * 6\n{print} 'That will be 'price dollar' please'\n```\n"
+ description: debugging adventure
+ default:
+ default_save_name: intro
+ levels:
+ 1:
+ example_code: "```\n{print} Hello world!\n```\n"
+ story_text: "Welcome to Hedy! Here you can learn how to program step by step.\n\nTry the code yourself! The yellow button copies the example code to your programming field.\nThen push the green 'Run code' button under the programming field to run the code.\n\nReady? Then go to the next tab to learn how to make your own codes!\n"
+ 4:
+ example_code: "```\nname {is} Sophie\n{print} My name is name\n```\n"
+ story_text: "In the previous levels you've been practising with variables, but you may have come across this problem.\nYou might have tried to run a code like this:\n\nOf course you wanted to print\n\n`My name is Sophie`\n\nbut Hedy prints\n\n`My Sophie is Sophie`.\n\nIn this level this problem is fixed by using quotation marks.\n"
+ 8:
+ example_code: "```\n{repeat} 5 {times} {print} 'In the next tab you can repeat multiple lines of code at once!'\n```\n"
+ story_text: "Now you've learned how to repeat one single line of code. This comes in handy, but it's not always enough. Sometimes you want to repeat multiple lines at once.\nThis level allows you to group a couple of lines of code, and repeat that little group of lines all at once!\n"
+ 9:
+ story_text: "Great job! You've reached another new level! In the previous level you've learned to use multiple lines of code in an {if} or {repeat} command. But you can't yet combine the two...\nGood news! In this level you will be allowed to put an {if} inside an {if}, or inside a {repeat} command. Putting a block of code inside another block of code is called nesting. ``` Putting a block of code inside another block of code is called nesting.\n"
+ example_code: "```\nanswer = {ask} 'Are you ready to learn something new?'\n{if} answer {is} yes\n {print} 'Great! You can learn to use the repeat command in the if command!'\n {print} 'Hooray!'\n {print} 'Hooray!'\n {print} 'Hooray!'\n{else}\n {print} 'Maybe you should practice some more in the previous level'\n"
+ 15:
+ story_text: "In this game below a code has been made to make sure the player can play on as long as they want...\nBut the code is ineffective and way too long. Also, what if the player wants to play 101 games instead of 100?\nYou can't play to infinity?\nIn this level you will learn a command that makes all of this a lot easier!\n"
+ example_code: "```\ngame = 'on'\n{for} i {in} {range} 1 {to} 100\n {if} game == 'on'\n answer = {ask} 'Do you want to continue?'\n {if} answer == 'no'\n game = 'over'\n {if} answer == 'yes'\n {print} 'Ok we will continue'\n```\n"
+ 16:
+ example_code: "```\nanimals = 'chicken', 'horse', 'cow'\nsounds = 'cluck', 'neigh', 'moo'\n{for} animal {in} animals\n {print} 'A ' animal ' says ' sounds {at} {random}\n```\nYou could also try to make it work this way, but....\n```\nanimals = 'chicken', 'horse', 'cow'\nsounds = 'cluck', 'neigh', 'moo'\n{for} animal {in} animals\n {for} sound {in} sounds\n {print} 'A ' animal ' says ' sound\n```\nNote: These codes will not work like this in this level. Head to the next tab to see which parts you need to correct."
+ story_text: "In this level we will grow a bit more towards real Python code. You will also learn how to match two lists together.\nThis way you can program a code in which the correct animal is matched to the right sound.\nBecause the two codes below... Are obviously nonsense!\n"
+ 17:
+ story_text: "Now we are going to change indentation a little bit. Every time that we need an indentation, we need `:` at the line before the indentation.\n\nIn this level you can also use a new command: `{elif}`. `{elif}` is short for ``{else} {if}`` and you need it when you want to make 3 (or more!) options.\nCheck it out!\n"
+ 10:
+ example_code: "```\n{repeat} 2 {times}\n {print} 'if youre happy and you know it clap your hands'\n{print} 'if youre happy and you know it and you really want to show it'\n{print} 'if youre happy and you know it clap your hands'\n```\n"
+ story_text: "You're doing great! In the previous levels we still faced a small problem. You have learned to repeat lines, but what if you'd want to slightly change the line.\nFor example if you want to sing the song 'if you're happy and you know it'. It would look like this:\n\nIf you'd also want the next verse 'stomp your feet', and the next one, and the next one, you'd have to change the code completely.\nIn this level you'll learn the `{for}` command, which allows you to make a list of actions and repeat the code with another action each time!\nPlease take a look!\n"
+ 12:
+ story_text: "Maybe you have tried using decimal numbers in your restaurant adventure. If you did, you probably noticed that Hedy didn't understand them yet and always rounded off.\nFrom this level on you can use decimal numbers.\n"
+ example_code: "```\nburger = 5\ndrink = 2\ntotal = burger + drink\nprint 'You have ordered a burger and a drink'\nprint 'That costs ' total ' dollars please'\n```\n"
+ 6:
+ example_code: "```\nfood_price {is} 0\ndrink_price {is} 0\ntotal_price {is} 0\n{print} 'Welcome to McHedy'\norder {is} {ask} 'What would you like to eat?'\n{if} order {is} hamburger food_price {is} 5\n{if} order {is} fries food_price {is} 2\ndrink {is} {ask} 'What would you like to drink?'\n{if} drink {is} water drink_price {is} 0\n{else} drink_price {is} 3\ntotal_price {is} food_price + drink_price\n{print} 'That will be ' total_price ' dollars, please'\n```\n"
+ story_text: "In the previous level you have practiced with `{ask}` and `{if}`. For example you can ask guests what they would like to eat.\nWhat you can't yet do though, is calculate the price for everyone's dinner.\n\nThis level makes it possible to use addition, subtraction and multiplication in your programs. This way you can calculate the prices in your restaurant, but you could also add a secret code to give your friends and family a discount.\nAnother option in this level is programming your own maths game, for your little brother or sister to practice their multiplications.\nGo see for yourself!\n"
+ 7:
+ story_text: "Great job! You've reached the next level, which means you have practiced with `{if}` and `{else}`. You have probably noticed that your codes are getting longer and longer.\nFor example if you want to program 'Happy Birthday'.\n\nThat's a lot of code for mainly the same words over and over again. Luckily in the next tab you'll learn a solution with the `{repeat}` command, that allows you to repeat a line of code multiple times.\n"
+ example_code: "```\n{print} 'happy birthday to you'\n{print} 'happy birthday to you'\n{print} 'happy birthday dear Hedy'\n{print} 'happy birthday to you'\n```\n"
+ 13:
+ example_code: "```\nusername = {ask} 'What is your username?'\npassword = {ask} 'What is your password?'\n{if} username {is} 'Hedy'\n {if} password {is} 'secret'\n {print} 'Welcome Hedy!'\n {else}\n {print} 'Access denied'\n{else}\n {print} 'Access denied!'\n```\n"
+ story_text: "In the previous levels you've learned how to put two `{if}`commands inside each other. This works fine, but it does give you very long and unhandy codes like this one:\n\nIn this system you have to give both the correct username and the correct password.\nIn this level you will learn the `{and}` command that will make this code a lot shorter and more understandable!\nCheck it out!\n"
+ 11:
+ story_text: "You have reached level 11, you're doing great! In the higher levels, Hedy is focussing more and more on teaching you the programming language Python.\nIn Python there is no `{repeat}` command, but there is a command that works like {repeat}. Are you curious to find out how to say `{repeat}` in Python language? Quickly go on to find out!\n"
+ 3:
+ story_text: "In the previous level you've learned what a variable is and how you can use it to make your adventures more interactive.\nBut... that's not the only thing you can do with variables! You can also use variables to make lists.\nAnd you can even let Hedy pick a random word out of a list, which allows you to make real games!\nTake a quick look at the next tab!\n"
+ 2:
+ story_text: "Congratulations! You've reached level 2. Hopefully you've already made some awesome codes!\nIn the first level you might've notice that the `{echo}` command can only save one bit of information at a time.\nFor example in the restaurant adventure, you could echo what the costumer wanted to eat, or what they wanted to drink, but not both in one sentence.\n\nThat changes in level 2. In level 2 you'll learn to work with variables, that allow you to save multiple pieces of information and print them in any place you want.\nSo let's go to the next tab!\n"
+ example_code: "**Warning! This code does not work!**\nIn Hedy commands will change sometimes. `{echo}` for example only works in level 1. In this level you'll learn a better way to echo answers back.\n```\n{print} Welcome at Hedy's\n{ask} What would you like to eat?\n{echo} So you want\n{ask} what would you like to drink?\n{echo} So you want\n```\n"
+ 14:
+ story_text: "With the example code you can calculate if you've passed a subject at school (so, a grade of six or higher).\nYou can see this code is extremely inefficient, due to the very long code in line 5.\nAll the different grades from 1 to 5 had to be programmed separately. Lucky for you, in this level you'll learn how to do this without this extremely long code!\n"
+ example_code: "```\nfirst_grade = {ask} 'What score did you get on your first test?'\nsecond_grade = {ask} 'What score did you get on your second test?'\nadded = first_grade + second_grade\nmean_grade = added / 2\n{if} mean_grade = 1 {or} mean_grade = 2 {or} mean_grade = 3 {or} mean_grade = 4 {or} mean_grade = 5\n {print} 'Oh no! You have failed the subject...'\n{else}\n {print} 'Great! You have passed the subject!'\n```\n"
+ 5:
+ example_code: "```\npassword {is} {ask} 'What is the correct password?'\n```\n"
+ story_text: "In the previous levels you've already learned to use `{at} {random}` which made your games different every time you ran the code.\nBut it's not really interactive, the player doesn't have any influence on what happens in the game.\n\nIn this level you'll learn the `{if}` command, that allows you to give different responses in your program. This way you can program a secret password for your computer for example.\nSo let's go to next tab for the new command!\n"
+ 18:
+ story_text: "Congratulations! You have reached the last level of Hedy! The code you have created here can be copied to real Python environments like replit or PyCharm, and you can continue learning there!\nNote however that Python can only read English commands, so if you have been using other languages, you will need to switch to English now.\n"
+ name: Introduction
+ description: Level explanation
+ dice:
+ default_save_name: Dice
+ name: Dice
+ levels:
+ 3:
+ example_code_2: "```\nchoices {is} _\n```\n"
+ story_text_2: "### Exercise\nThe dice in the example above are dice for a specific game. Can you make normal dice?\nOr other special dice from a different game?\n"
+ example_code: "```\nchoices {is} 1, 2, 3, 4, 5, earthworm\n{print} You threw _ {at} {random} !\n```\n"
+ story_text: "In this level we can choose from a list. With that we can let the computer choose one side of the die.\nTake a look at the games you have in your closet at home.\nAre there games with a (special) die? You can also copy it with this code.\nFor example, the dice of the game Earthworms with the numbers 1 to 5 and an earthworm on it.\n\n![Die of earthworms with 1 to 5 and an earthworm on it](https://cdn.jsdelivr.net/gh/felienne/hedy@24f19e9ac16c981517e7243120bc714912407eb5/coursedata/img/dobbelsteen.jpeg)\n"
+ 7:
+ example_code: "```\nchoices = 1, 2, 3, 4, 5, 6\n_ _ _ _ _ _ _\n```\n"
+ story_text: "You can also make a dice again in this level. With the `{repeat}` code you can easily roll a whole hand of dice.\n\n### Exercise\nTry to finish the sample code! **Extra** Think of a game you know that involves a dice and program that using a `{repeat}`.\n"
+ 6:
+ story_text: "You can also make an Earthworm die again in this, but now you can also calculate how many points have been rolled.\nYou may know that the worm counts 5 points for Earthworms. Now after a roll you can immediately calculate how many points you have thrown.\nThis is the code to calculate points for one die:\n\n### Exercise\nCan you make the code so that you get the total score for 8 dice? To do that, you have to copy and paste some lines of the code.\n"
+ example_code: "```\nchoices = 1, 2, 3, 4, 5, earthworm\npoints = 0\nthrow = choices {at} {random}\n{print} 'you threw ' throw\n{if} throw {is} earthworm points = points + 5 {else} points = points + throw\n{print} 'those are ' points ' points'\n```\n"
+ example_code_2: "Did you manage to calculate the score for 8 dice? That required a lot of copy and pasting, right? We are going to make that easier in level 7!\n"
+ 15:
+ example_code: "```\noptions = 1, 2, 3, 4, 5, 6\n{print} 'Throw 6 as fast as you can!'\nthrown = 0\ntries = 0\n_\n_\n_\n_\n_\n{print} 'Yes! You have thrown 6 in ' tries ' tries.'\n```\n"
+ story_text: "### Exercise\nIn this level you can create a little game in which you'll have to throw 6 as fast as possible.\nWe have started the code, it's up to you to get the game to work!\n\nFirstly, add a `{while}` loop that checks if 6 has been thrown or not.\nAs long as you haven't thrown 6 already, throw the dice on a random number.\nPrint what the player has thrown.\nAdd a try to the amount of tries\nWait a second before you throw again, or - in case you've thrown a 6 - before the game ends.\n"
+ 10:
+ story_text: "### Exercise\nIs everybody taking too long throwing the dice? In this level you can let Hedy throw all the dice at once!\nChange the names into names of your friends or family, and finish the code.\n"
+ example_code: "```\nplayers = Ann, John, Jesse\nchoices = 1, 2, 3, 4, 5, 6\n_ _ _ _\n {print} player ' throws ' choices {at} {random}\n {sleep}\n```\n"
+ 4:
+ story_text: "In this level you can also create dice. But this time you can try it yourself, without an example code!\n\n### Exercise\nMake your own dice in this level.\nTip: If you have no idea how to make dice. Take a peek at your dice from the previous level, but don't forget to add quotation marks.\n"
+ 5:
+ example_code: "```\nchoices {is} 1, 2, 3, 4, 5, earthworm\nthrow {is} choices {at} {random}\n{print} 'you have thrown ' throw\n_ throw {is} earthworm {print} 'You can stop throwing.'\n_ {print} 'You have to throw it again!'\n```\n"
+ story_text: "We are going to add the `{if}` and `{else}` commands to our dice!\n\n### Exercise\nComplete the sample code so that the code says \"You can stop throwing\" once you have thrown an earthworm. It should say \"You have to throw again\" if you've thrown anything else.\n**Extra** Maybe you want to recreate a die from a completely different game. That's fine too! Then make up your own reaction, e.g. 'yes' for 6 and 'pity' for something else.\n"
+ description: Make your own dice
+ dishes:
+ description: Use the computer to see who does the dishes
+ levels:
+ 3:
+ story_text: "Do you always disagree at home about who should wash the dishes or change the litter box today?\nThen you can let the computer choose very fairly. You can program that in this level!\n"
+ story_text_2: "### Exercise\nMake your own version of the dishwasher program. Firstly make a list of your family members.\nThen think of a task that needs to be done, and let the computer decide who has to do the task with the `{at} {random}` command.\n\n**Extra** Don't feel like doing the dishes yourself? Hack the program by removing your name from the list with the `{remove}` `{from}` command.\n"
+ example_code: "```\npeople {is} mom, dad, Emma, Sophie\n{print} people {at} {random} has to do the dishes\n```\n"
+ 4:
+ example_code: "```\npeople {is} mom, dad, Emma, Sophie\n{print} _ the dishes are done by _\n{sleep}\n{print} people {at} _\n```\n"
+ story_text: "With quotation marks you can make your dishwashing program even better.\n\n### Exercise\nFirst, fill in right symbols or commands on the blanks to make this example program work.\nDid you get it? Great! Now copy your own code from the previous level and make it work in this level by adding quotation marks in the right spots.\n"
+ 10:
+ example_code: "```\ndays = Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday\nnames = mom, dad, Emma, Sophie\n{for} day {in} days\n {print} names {at} {random} ' does the dishes on ' day\n```\n"
+ story_text: "In this level you can make a schedule for the whole week in an easy way!\n\n### Exercise\nAdd a second chore, such as vacuuming or tidying up, and make sure it is also divided for the whole week.\n
**Extra** The program is not fair, you can be unlucky and wash up all week. How could you make the program more fair?\n"
+ 5:
+ story_text: "With the `{if}` you can now have more fun with choice in the program. You can have your program respond to the choice that the computer has made.\n### Exercise\nCan you finish the code so that it prints 'too bad' when it is your turn and otherwise 'yes!'?\nDon't forget the quotes!\n"
+ example_code: "```\npeople {is} mom, dad, Emma, Sophie\ndishwasher {is} people {at} {random}\n_ dishwasher {is} Sophie {print} _ too bad I have to do the dishes _\n_ {print} 'luckily no dishes because ' _ ' is already washing up'\n```\n"
+ 6:
+ example_code_2: "```\npeople = mom, dad, Emma, Sophie\ndishwasher = people {at} {random}\n{print} 'Monday the dishes are done by: ' dishwasher\n{remove} dishwasher {from} people\ndishwasher = people {at} {random}\n{print} 'Tuesday the dishes are done by: ' dishwasher\n{remove} dishwasher {from} people\n```\n"
+ example_code: "```\npeople = mom, dad, Emma, Sophie\nemma_washes = 0\ndishwasher = people {at} {random}\n{print} 'The dishwasher is' dishwasher\n{if} dishwasher {is} Emma emma_washes = emma_washes + 1\n{print} 'Emma will do the dishes this week' emma_washes 'times'\n```\n\nNow you can copy lines 3 to 5 a few times (e.g. 7 times for a whole week) to calculate for a whole week again.\nDo you make the code for the whole week?\n"
+ story_text_2: "If you are extremely unlucky the previous program might choose you to do the dishes for the whole week! That's not fair!\nTo create a fairer system you can use the `{remove}` command to remove the chosen person from the list. This way you don't have to do the dishes again until everybody has had a turn.\n\nMonday and Tuesday are ready for you! Can you add the rest of the week?\nAnd… can you come up with a solution for when your list is empty?\n"
+ story_text: "How often is everyone going to do the dishes? Is that fair? You can count it in this level.\n"
+ 7:
+ story_text: "With the `{repeat}` you can repeat pieces of code. You can use this to calculate who will be washing dishes for multiple days!\n### Exercise\nUse the `{repeat}` command to decide on who needs to wash the dishes for an entire week. Each blank needs to be filled with one command or number!\n**Extra** Can you think of other tasks in the house? Adapt the code so it decides on three household chores. Do not forget to print what tasks it concerns!\n"
+ example_code: "```\npeople = mom, dad, Emma, Sophie\n{repeat} _ _ {print} 'Dishwashing will be done by ' _ _ _\n```\n"
+ name: Dishes?
+ default_save_name: Dishes
+ elif_command:
+ description: '{elif}'
+ levels:
+ 17:
+ story_text: "In this level you can also use a new command: `{elif}`. `{elif}` is a combination of the keywords `{else}` and `{if}` and you need it when you want to make 3 (or more!) options.\nCheck it out!\n"
+ example_code: "```\nprizes = ['1 million dollars', 'an apple pie', 'nothing']\nyour_prize = prizes[{random}]\n{print} 'You win ' your_prize\n{if} your_prize == '1 million dollars' :\n {print} 'Yeah! You are rich!'\n{elif} your_prize == 'an apple pie' :\n {print} 'Lovely, an apple pie!'\n{else}:\n {print} 'Better luck next time..'\n```\n"
+ name: '{elif}'
+ default_save_name: elif
+ for_command:
+ levels:
+ 11:
+ example_code: "```\n{for} counter {in} {range} 1 {to} 10\n {print} counter\n{print} 'Ready or not. Here I come!'\n```\n"
+ story_text: "In this level, we add a new form of the `{for}`. In earlier levels, we used `{for}` with a list, but we can also use `{for}` with numbers.\nWe do that by adding a variable name, followed by `{in}` `{range}`. We then write the number to start at, `{to}` and the number to end at.\n\nTry the example to see what happens! In this level again, you will need to use indentations in lines below the `{for}` statements."
+ 18:
+ story_text: "Lastly, we'll turn `{for} i {in} {range} 1 to 5` into real Python code, like this:\n"
+ example_code: "```\n{for} i {in} {range}(1,5):\n {print} (i)\n```\n"
+ 10:
+ story_text_2: "### Exercise\nFinish this code by adding `{for} action {in} actions` to line 2.\n"
+ example_code_2: "```\nactions = clap your hands, stomp your feet, shout Hurray!\n_\n {repeat} 2 {times}\n {print} 'If youre happy and you know it, ' action\n {sleep} 2\n {print} 'If youre happy and you know it, and you really want to show it'\n {print} 'If youre happy and you know it, ' action\n {sleep} 3\n```\n"
+ example_code: "```\nanimals = dog, cat, blobfish\n{for} animal {in} animals\n {print} 'I love ' animal\n```\n"
+ story_text: "## For\nIn this level we learn a new code called `{for}`. With `{for}` you can make a list and use all elements.\n`{for}` creates a block, like `{repeat}` and `{if}` so all lines in the block need to start with 4 spaces."
+ 17:
+ story_text: "Now we are going to change indentation a little bit. Every time that we need an indentation, we need `:` at the line before the indentation.\n"
+ example_code: "```\n{for} i {in} {range} 1 {to} 10:\n {print} i\n{print} 'Ready or not, here I come!'\n```\n"
+ default_save_name: for
+ name: '{for}'
+ description: '{for} command'
+ fortune:
+ levels:
+ 1:
+ story_text: "Have you ever been to a carnival and had your future predicted by a fortune teller? Or have you ever played with a magic eight ball?\nThen you probably know that they can't really predict your future, but it's still fun to play!\n\nIn the upcoming levels you can learn how to create your own fortune telling machine!\nIn level 1 you can start off easy by letting Hedy introduce herself as a fortune teller and let her `{echo}` the players' answers.\nLike this:\n"
+ example_code: "```\n_ Hello, I'm Hedy the fortune teller!\n_ Who are you?\n_ Let me take a look in my crystal ball\n_ I see... I see...\n_ Your name is\n```\n"
+ story_text_2: "### Exercise\nCopy the example code into your input screen and fill in the blanks to make the code work.\n**Extra** Change the code and let the fortune teller not only predict your name, but also your age, your favorite sports team or something else about yourself.\n"
+ 10:
+ story_text: "In this level you'll learn how to program the game MASH (mansion, apartment, shack, house). In this game you can predict for all the players at once, what their future will look like.\n\n### Exercise\nFil in the blanks by using the new command that you've learned this level.\n"
+ example_code: "```\nhouses = mansion, apartment, shack, house\nloves = nobody, a royal, their neighbour, their true love\npets = dog, cat, elephant\nnames = Jenna, Ryan, Jim\n_\n {print} name ' lives in a ' houses {at} {random}\n {print} name ' will marry ' loves {at} {random}\n {print} name ' will get a ' pets {at} {random} ' as their pet.'\n {sleep}\n```\n"
+ 6:
+ example_code: "```\n{print} 'I am Hedy the fortune teller!'\n{print} 'I can predict how many kids youll get when you grow up!'\nage = {ask} 'How old are you?'\nsiblings = {ask} 'How many siblings do you have?'\nlength = {ask} 'How tall are you in centimetres?'\nkids = length / age\nkids = kids - siblings\n{print} 'You will get ...'\n{sleep}\n{print} kids ' kids!'\n```\n"
+ story_text: "In this level you can use math in your predictions as a fortune teller. This allows you to make up (silly) formulas to calculate the future.\nFor example you could calculate how rich you'll get or how many kids you will have when you grow up.\n\n\n\n### Exercise\nCan you think of your own (silly) fortune telling machine?\n"
+ 3:
+ story_text_2: "### Exercise\nNow, Hedy can only answer yes, no or maybe. Can you give Hedy more answer options, like 'definitely' or 'ask again'.\n"
+ story_text: "In the previous levels you've created your first fortune telling machine, but Hedy couldn't really predict anything, only `{echo}`.\nIn this level you can use a variable and the `{at} {random}` command to really let Hedy choose an answer for you. Check out this code for instance:\n"
+ example_code: "```\n{print} I’m Hedy the fortune teller!\nquestion {is} {ask} What do you want to know?\n{print} This is what you want to know: question\nanswers {is} yes, no, maybe\n{print} My crystal ball says...\n{sleep} 2\n{print} answers {at} {random}\n```\n"
+ 5:
+ example_code: "```\nfriends {is} Jordan, Lucy, Dave\n{print} 'I can predict if you will win the lottery tomorrow!'\nperson {is} {ask} 'Who are you?'\ngood_answer {is} Hurray! You win!, You will definitely win!, We have a winner!\nbad_answer {is} Bad luck! Try again!, Another person will win, You lose!\n{if} person {in} friends {print} good_answer {at} {random}\n{else} {print} bad_answer {at} {random}\n```\n"
+ story_text: "### Exercise\nIn the example code you see how to make a fortune teller program that allows you to tip the odds in your favor. This cheating program always tells you that you will win the lottery, but your friends will never win.\n\nUse this to make your own program, be creative! For example you could create a code that predicts that:\n* your favorite sports team will beat all the competitors!\n* your favorite movie will be chosen for movie night!\n* you win tickets to your favorite show!\n* you are the fairest of them all, like Snow White's magic mirror.\nLet your imagination do the work!\n\nYour program has to exist of at least 10 lines of code and need to have at least one `{if}` and `{else}` command.\n"
+ 12:
+ story_text: "From level 12 on, you will also have to use quotation marks in lists, before and after each item.\n\n### Exercise\nAdd two predictions to the list"
+ example_code: "```\nfortunes = 'you will slip on a banana peel', _\n{print} 'I will take a look in my crystal ball for your future.'\n{print} 'I see... I see...'\n{sleep}\n{print} fortunes {at} {random}\n```\n"
+ 4:
+ example_code: "```\n_ Add the quotation marks to this code _\n{print} Im Hedy the fortune teller!\nquestion {is} {ask} What do you want to know?\n{print} This is your question: question\nanswers {is} yes, no, maybe\n{print} My crystal ball says...\n{sleep} 2\n{print} answers {at} {random}\n```\n"
+ story_text: "### Exercise\nWe have removed all the quotation marks from this example code, can you add them in all the right places?\n\n### Exercise 2\nGo back to the previous level and copy your fortune teller code. Make the code work in this level by adding quotation marks in the right spots.\n"
+ 8:
+ example_code: "```\n{print} 'I am Hedy the fortune teller!'\n{print} 'You can ask me 3 questions.'\nanswers = yes, no, maybe\n_ _ _\n question = {ask} 'What do you want to know?'\n {print} question\n {sleep}\n {print} 'My crystal ball says... ' answers {at} {random}\n```\n"
+ story_text: "In the next example you can have your fortune teller ask multiple questions and also print them!\n\n### Exercise\nCan you fill in right command on the blanks?\n"
+ 7:
+ story_text: "### Exercise\nFinish this program that tells you if your crush loves you back or not.\n"
+ example_code: "```\n{print} 'I have a flower with magic petals'\n{print} 'If you pick the petals the flower will tell you if your crush loves you back'\namount = {ask} 'How many petals do you want to pick?'\noptions = they love you, they love you not\n_ _ _ _ options {at} {random}\n```\n"
+ default_save_name: Fortune Teller
+ description: Let Hedy predict the future
+ name: Fortune teller
+ functions:
+ name: functions
+ description: functions
+ default_save_name: functions
+ levels:
+ 13:
+ example_code: "```\n{define} song {with} place\n {print} 'My Bonnie is over the ' place\n\n{call} song {with} 'ocean'\n{call} song {with} 'sea'\n{call} song {with} 'ocean'\n```\n"
+ story_text: "Now that you've learned how to use functions, you'll learn how to use a function with an argument.\nAn **argument** is a variable that is used within a function. It is not used outside the function.\n\nFor example in this code we've programmed the first verse of the song 'My Bonnie is over the ocean'.\nIn this example code the argument 'place' is used. Place is a variable that is only used in the function, so an argument.\nTo use 'place' we have placed `{with} place` after `{define} song`.\nWhen the function is called, the computer will replace the argument 'place', with the piece of text after `{call} song {with}`.\n\n### Exercise\nThe next verse of this song goes:\n\n```not_hedy_code\nLast night as I lay on my pillow\nLast night as I lay on my bed\nLast night as I lay on my pillow\nI dreamed that my Bonnie is dead\n```\n\nCan you program this verse in the same way as the example?\n"
+ 14:
+ example_code: "```\n{define} calculate_new_price {with} amount, percentage\n percentage = percentage / 100\n discount_amount = amount * percentage\n {return} amount - discount_amount\n\nold_price = {ask} 'How much is on the price tag?'\ndiscount = {ask} 'What percentage is the discount?'\n\nnew_price = _ calculate_new_price {with} old_price, _\n{print} 'The new price is ' new_price ' dollar'\n```\n"
+ story_text: "In the previous levels you have learned to create functions and use arguments with them. Another great use of a function is to let it calculate something for you.\nYou can give the function a calculation and it will give you the answer of the calculation. This answer is called a **return value**.\n\nFor example, in this code the function calculate_new_price will calculate the new price of any item. It will give you the new price as a return value.\n\n### Exercise\nFinish this code. We have already made the variable new_price for you, you only need to set it.\nYou should finish the line of code by calling the function that calculates the new price.\n"
+ 12:
+ story_text: "In this level you'll learn how to use **functions**. A function is a block of code you can easily use multiple times. Using functions helps us organize pieces of code that we can use again and again.\nTo create a function, use `{define}` and give the function a name. Then put all the lines you want in the function in a indented block under the `{define}` line.\nLeave one empty line in your code to make it look nice and neat. Great job! You have created a function!\n\nNow, whenever we need that block of code, we just use {call}
with the function's name to call it up! We don't have to type that block of code again.\n\nCheck out this example code of a game of Twister. The function 'turn' contains a block of code that chooses which limb should go where.\n\n### Exercise\nFinish this code by setting the 2 variables chosen_limb and chosen_color.\nThen, choose how many times you want to call the function to give the twister spinner a spin.\n\n### Exercise 2\nImprove your code by adding a variable called 'people'. Use the variable to give all the players their own command in the game.\nFor example: 'Ahmed, right hand on green' or 'Jessica, left foot on yellow'.\n"
+ example_code: "```\nsides = 'left', 'right'\nlimbs = 'hand', 'foot'\ncolors = 'red', 'blue', 'green', 'yellow'\n\n{define} turn\n chosen_side = sides {at} {random}\n chosen_limb = limbs _\n chosen_color = colors _\n {print} chosen_side ' ' chosen_limb ' on ' chosen_color\n\n{print} 'Lets play a game of Twister!'\n{for} i {in} {range} 1 {to} _\n {call} turn\n {sleep} 2\n```\n"
+ 18:
+ story_text: "Let's make functions the Pythons way! To define a function, we no longer use:\n\n`{define} name_function {with} argument_1, argument_2:`\n\nbut we use:\n\n`{def} name_function(argument_1, argument_2):`.\n\n\nIf you don't want to use arguments, you just leave the space between the parantheses empty.\nTo call a function, we don't need the `{call}` command anymore. You just type the name of the function.\n"
+ example_code: "```\n{def} calculate_score(answer, correct_answer):\n {if} answer == correct_answer:\n score = 1\n {elif} answer == '?':\n score = 0\n {else}:\n score = -1\n {return} score\n\nanswer = {input} ('Where can you find the Eiffel Tower?')\ncorrect_answer = 'Paris'\nscore = calculate_score(answer, correct_answer)\n{print} ('Your score is... ', score)\n```\n"
+ guess_my_number:
+ description: guess my number
+ levels:
+ 14:
+ story_text: "In this level you can program the game 'Guess my number'\n\n### Exercise\nFill in the correct symbols on the blanks to get the game to work.\n"
+ example_code: "```\n{print} 'Guess my number'\nnumbers = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10\nnumber = numbers {at} {random}\ngame = 'on'\n{for} i {in} {range} 1 {to} 10\n {if} game == 'on'\n guess = {ask} 'Which number do you think it is?'\n {if} guess _ number\n {print} 'Lower!'\n {if} guess _ number\n {print} 'Higher!'\n {if} guess _ number\n {print} 'You win!'\n game = 'over'\n```\n"
+ name: Guess my number
+ default_save_name: guess my number
+ hangman:
+ name: Hangman
+ default_save_name: Hangman
+ description: Guess the word
+ levels:
+ 17:
+ story_text: "In this adventure we program a game of hangman. First we make some preparations, then we program the game and in the third part we add a drawing with the turtle.\n\n### Exercise\n***Set the variables*** In this game of hangman, Player 1 chooses an answer and Player 2 has to guess the letters in this answer.\nTo let the computer know all the letters in the word, we will turn the answer into a list of letters. We also do this with the guesses Player 2 makes.\nWe will start the game with 2 empty lists. We have made an empty list for the variable answer for you. Now make an empty list for guessed_letters as well.\nThen we fill in how many mistakes were made. At the start of the game, this should be 0.\nThe variable `amount_letters` tells us how many letters are in the answer. Ask Player 1 to tell us how many letters their word has.\nLastly we tell the computer if the game is over. We use the variable `game_over` and set it to `False`.\n\n***Choosing the answer*** We want Player 1 to be able to choose the answer. We'll ask them, as many times as necessary, what the next letter is.\nThen we add that letter to the answer. Lastly, we add an empty _ to the list of guessed letters, so we get as many _s as there are letters in the answer.\n\n***Player 2's turn***\nTell Player 2 its their turn. Then tell Player 2 how many letters there are in the answer. Finally, print the list of `guessed_letters`.\n\n***Go to the next tab*** Now that all the starting variables are set, we can start programming the game itself. Check out the next tab to learn how!\n"
+ example_code: "```\nprint 'Hangman!'\n\n# Set the variables\nanswer = []\nguessed_letters = _\nmistakes_made = _\namount_letters = {ask} _\n_ = 'False'\n\n# Choosing the answer\n{for} _\n letter = {ask} 'Player 1, what is letter ' i '?'\n _\n {add} '_' {to} _\n\n# Player 2 turn\nprint _\nprint _\nprint guessed_letters\n```\n"
+ hangman_3:
+ description: Hangman 3
+ default_save_name: Hangman_3
+ levels:
+ 17:
+ example_code: "```\n# Create a function that draws the hangman\n{define} draw_hangman {with} step:\n {if} step == 1:\n {color} white\n {forward} -100\n {turn} 90\n {forward} -50\n {color} black\n {forward} 100\n {forward} -50\n\n {if} step == 2:\n _\n# Paste your hangman game here\n\n```\n"
+ story_text: "In a game of hangman the mistakes are shown by drawing a part of the hangman each time a mistake has been made.\nWe now add those drawings with our turtle!\n\n### Exercise\n***Create a function that draws the hangman*** Create a function that draws the hangman in 10 steps. We have already made step 1 for you.\n\n***Test the function*** Test the function by calling the function with 10. If you are happy with the function, remove the line that calls the function for now. We will call the function when the player makes a mistake.\n\n***Paste your hangman game under your function*** Go back to the previous tab and copy your hangman game. Paste the game underneath your function.\n\n***Call the function when the player makes a mistake*** Under the line `mistakes_made = mistakes_made + 1` we will call the function. We want the turtle to take the same amount of steps as the player has made mistakes, so we call the function with `mistakes_made` as argument.\n\n***Enjoy your game!***\n
>>=y=v>>>24,p-=y,!(16&(y=v>>>16&255))){if(0==(64&y)){v=_[(65535&v)+(d&(1<
\").replace(/\\r?\\n/g,\"
\").replace(/\\t/g,\" \").replace(/^\\s/,\" \").replace(/\\s$/,\" \").replace(/\\s\\s/g,\" \");if(t.includes(\"
\")||t.includes(\"
\")){t=`
${t}
`}return t}function SL(t){return t.replace(/(\\s+)<\\/span>/g,((t,e)=>{if(e.length==1){return\" \"}return e})).replace(//g,\"\")}const BL=[\"figcaption\",\"li\"];const ML=[\"ol\",\"ul\"];function PL(t){if(t.is(\"$text\")||t.is(\"$textProxy\")){return t.data}if(t.is(\"element\",\"img\")&&t.hasAttribute(\"alt\")){return t.getAttribute(\"alt\")}if(t.is(\"element\",\"br\")){return\"\\n\"}let e=\"\";let n=null;for(const o of t.getChildren()){e+=NL(o,n)+PL(o);n=o}return e}function NL(t,e){if(!e){return\"\"}if(t.is(\"element\",\"li\")&&!t.isEmpty&&t.getChild(0).is(\"containerElement\")){return\"\\n\\n\"}if(ML.includes(t.name)&&ML.includes(e.name)){return\"\\n\\n\"}if(!t.is(\"containerElement\")&&!e.is(\"containerElement\")){return\"\"}if(BL.includes(t.name)||BL.includes(e.name)){return\"\\n\"}return\"\\n\\n\"}function LL(t,e){return t&&hl(t,e,Gi)}const zL=LL;var OL=1,RL=2;function VL(t,e,n,o){var i=n.length,r=i,s=!o;if(t==null){return!r}t=Object(t);while(i--){var a=n[i];if(s&&a[2]?a[1]!==t[a[0]]:!(a[0]in t)){return false}}while(++i node\n if (codeNode) {\n codeNode.hidden = true\n code = codeNode.innerText\n } else {\n code = preview.textContent || \"\";\n preview.textContent = \"\";\n }\n\n // Create this example editor\n const exampleEditor = editorCreator.initializeReadOnlyEditor(preview, dir);\n // Strip trailing newline, it renders better\n exampleEditor.contents = code;\n exampleEditor.contents = exampleEditor.contents.trimEnd();\n // And add an overlay button to the editor if requested via a show-copy-button class, either\n // on the itself OR on the element that has the '.turn-pre-into-ace' class.\n if ($(preview).hasClass('show-copy-button') || $(container).hasClass('show-copy-button')) {\n const adventure = container.getAttribute('data-tabtarget')\n const buttonContainer = $('').addClass('absolute ltr:right-0 rtl:left-0 top-0 mx-1 mt-1').appendTo(preview);\n let symbol = \"\u21E5\";\n if (dir === \"rtl\") {\n symbol = \"\u21E4\";\n }\n $('