diff --git a/README.md b/README.md index d282a01..2d0bc27 100644 --- a/README.md +++ b/README.md @@ -1,70 +1,14 @@ -# MakeCode Skill Map Sample -This is an example skill map that contains three separate learning paths.You can view the content here: -https://arcade.makecode.com/skillmap#github:microsoft/pxt-skillmap-sample/skillmap.md - -Github-hosted skill maps are loaded in the same manner as tutorials, with a URL fragment -formatted as follows: - -`#github:[organization name]/[repository name]/[markdown file name]` - -## Syntax - -The skill map definition can be found in the `skillmap.md` file. Metadata about the skill -map itself can be found under the top-level heading: - -- `id`: The string after the heading (eg `# sample`). Cannot contain spaces. -- `name`: The title of your skill map. This will be displayed in the banner on the page. -- `description`: A description of the map contents. This is also shown in the banner. -- `infoUrl` (optional): A URL to a page with additional educator information - -### Learning Paths - -A skill map consists of one or more "paths", each path being an ordered sequence of activities. -The first activity in each path is unlocked, and completing an activity unlocks the next one. - -A learning path is defined by a level two heading (`##`) has has the following properties: - -- `id`: The string after the heading (eg `## interface`). Must be unique within this skill map. -- `name`: The title of the path, displayed above the linked activities. -- `description`: Additional details (not currently displayed). -- `completionUrl`: URL to a certificate, displayed when a user has completed the entire path. - -### Activities - -Each learning path has multiple activities, defined by level three headings (`###`). Currently, -an "activity" is simply a MakeCode tutorial, and has the following properties: - -- `id`: The string after the heading (eg `### space-activity1`). Must be unique within this skill map. -- `name`: The title of the activity. Displayed on the activity card. -- `type`: The type of activity. Must be `tutorial` currently. -- `description`: Details about the activity, displayed on the back of the card. -- `tags`: Descriptive tags displayed on the bottom of the activity card. -- `url`: Link to the tutorial. See the [MakeCode Tutorial Documentation](https://makecode.com/writing-docs/user-tutorials) for details on tutorial authoring and link formatting. -- `imageUrl`: URL for the image displayed on the front of the activity card. - -## Forking - -If you fork this repo, be sure to change all URL references to https://github.com/microsoft/pxt-skillmap-sample to your forked repo's URL. Otherwise you won't see your changes. - -## Contributing - -This project welcomes contributions and suggestions. Most contributions require you to agree to a -Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us -the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com. - -When you submit a pull request, a CLA bot will automatically determine whether you need to provide -a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions -provided by the bot. You will only need to do this once across all repos using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). -For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or -contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. - -## Trademarks - -This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft -trademarks or logos is subject to and must follow -[Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general). -Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. -Any use of third-party trademarks or logos are subject to those third-party's policies. +## **Step 1: Setting Up Your Variables** +Let's start by creating the necessary **global variables**. + +```python +mySprite: Sprite = None +mySprite2: Sprite = None +mySprite3: Sprite = None +currentEmotion = "angry" +``` +### ~ tutorialHint +`mySprite`, `mySprite2`, and `mySprite3` are Sprite image variables. +`currentEmotion` is a string variable that tracks the emotion.` +### diff --git a/Skillmap-details b/Skillmap-details new file mode 100644 index 0000000..a13d9f2 --- /dev/null +++ b/Skillmap-details @@ -0,0 +1,72 @@ +{ + "name": "Emotion Game", + "description": "Learn about variables in MakeCode Arcade by creating a game where a character's face changes emotions.", + "metadata": { + "usePython": true + }, + "activities": [ + { + "name": "Create Emotion Sprites", + "type": "tutorial", + "description": "Create sprite images for Happy, Sad, and Angry emotions.", + "url": "https://arcade.makecode.com/#tutorial:emotion-game-step1", + "tags": ["variables", "sprites"], + "editor": "arcade", + "reward": 10 + }, + { + "name": "Create Variables", + "type": "tutorial", + "description": "Set up variables to track the current emotion and the score.", + "url": "https://arcade.makecode.com/#tutorial:emotion-game-step2", + "tags": ["variables", "data"], + "editor": "arcade", + "reward": 10 + }, + { + "name": "Show Only One Emotion", + "type": "tutorial", + "description": "Use a function to display only the correct emotion sprite.", + "url": "https://arcade.makecode.com/#tutorial:emotion-game-step3", + "tags": ["functions", "visibility"], + "editor": "arcade", + "reward": 15 + }, + { + "name": "Cycle Through Emotions", + "type": "tutorial", + "description": "Write a function that changes the emotion in a set order.", + "url": "https://arcade.makecode.com/#tutorial:emotion-game-step4", + "tags": ["logic", "functions"], + "editor": "arcade", + "reward": 15 + }, + { + "name": "Add Button Controls", + "type": "tutorial", + "description": "Use A and B buttons to check answers and update score.", + "url": "https://arcade.makecode.com/#tutorial:emotion-game-step5", + "tags": ["input", "events"], + "editor": "arcade", + "reward": 20 + }, + { + "name": "Test Your Game!", + "type": "tutorial", + "description": "Run your game and check if everything works as expected.", + "url": "https://arcade.makecode.com/#tutorial:emotion-game-step6", + "tags": ["testing", "debugging"], + "editor": "arcade", + "reward": 20 + }, + { + "name": "Challenge: Add a New Emotion", + "type": "tutorial", + "description": "Extend the game by adding a new emotion and updating logic.", + "url": "https://arcade.makecode.com/#tutorial:emotion-game-challenge", + "tags": ["challenge", "creativity"], + "editor": "arcade", + "reward": 30 + } + ] +} diff --git a/skillmap.md b/skillmap.md index e77d8bf..6c436bd 100644 --- a/skillmap.md +++ b/skillmap.md @@ -1,9 +1,9 @@ # sample -* name: Game Maker Guide -* description: Level up your game making skills by completing the tutorials in this guide. +* name: Variable Emotions +* description: Practice usingn different types of variables to create an emoji game. ## interface -* name: Learn to use MakeCode Arcade +* name: Variables and Emotions * description: This will teach you how to complete tutorials in Microsoft MakeCode Arcade. * completionUrl: https://microsoft.github.io/pxt-skillmap-sample/certificates/understanding-arcade-tutorials.pdf