Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 13 additions & 69 deletions README.md
Original file line number Diff line number Diff line change
@@ -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.`
###
72 changes: 72 additions & 0 deletions Skillmap-details
Original file line number Diff line number Diff line change
@@ -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
}
]
}
6 changes: 3 additions & 3 deletions skillmap.md
Original file line number Diff line number Diff line change
@@ -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

Expand Down